Selenium and Azure Web App - azure

I have an app using Selenium's ChromeDriver to click and retrieve a file from a website. I have decided to publish it as an Azure Job, would I still be able to run parts of the code that interface the ChromeDriver?
Also, I prefer not to use PhantomJS as sometimes it throws an error that the element is unclickable.
Many thanks in advance for your help.

Might not be possible on Azure App Service.
From https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox#unsupported-frameworks
Unsupported Frameworks
[...]
PhantomJS/Selenium: tries to connect to local address, and also uses GDI+.
If you can convince Selenium to not bind to a socket on 127.0.0.1 and if you're not using stuff that hooks into GDI+ then it MAY work, it's a long shot though.
Try Cloud Services with a Worker Role instead or a VM (IaaS).
I deployed a few functional tests (Phantom) in a Webrole (Cloud Services) and everything went without a hitch. In my particular case i'm calling those tests from the build server over REST.

Related

Selenium Web driver with Azure Web jobs

i have written a C# selenium code which opens browser and takes the screenshot . Code is running fine in my local laptop but when i try to deploy the code on azure webjobs. code fails to run. It may be because of local system has chrome browser installed whereas it is missing from cloud. I have even included the chrome.exe file with my directory but not finding a success. i am stuck and tried many thing but not found a way to proceed .
Selenium is not supported by Azure Web App/Web Jobs currently. It's noted under Unsupported frameworks tags.
Azure Web App sandbox:Unsupported frameworks
Other scenarios that are not supported:
PhantomJS/Selenium: tries to connect to local address, and also uses
GDI+.

How to use GCP Runtime Configurator from Node.js?

I'm working on a Node.js application hosted on Google Cloud, using Google Application Engine. The app has a few settings like the following:
const TASK_BATCH_SIZE = 50;
Currently, every time we need to change some settings like that one to do some tests we need to re-deploy the app, and that happens very often. We are looking for some alternatives inside the Google Cloud ecosystem that allows us to configure our running services without needing to re-deploy.
One of the things we found in the docs was Runtime Configurator, which still seems to be a beta product. For Node.js specifically nodejs-rcloadenv is the only client library we found, but doesn't seem to support the Watcher / Waiter concepts described in the Runtime Configurator docs or any other way to subscribe to variable changes in a configuration resource.
Is Runtime Configurator the solution to our problem? Are there any other services inside the Google Cloud ecosystem, or any other library for Node.js that could help us with this?
If you want to update or to make some settings changes in the service, you need to re-delpoy the service.
You can't use Runtime Configurator as it's for Compute Engine and not for App Engine.
You can create a feature request on Google's Public Issue Tracker for your issue ( to update configurations without re-deploying the service).

Running Selenium in Azure Function

I want to periodically scrape a website with Selenium and a headless PhantomJS driver.
My boss wants me to run it "in the cloud" for reasons, and a serverless Azure Function looks like it could be a useful way to do it, instead of having to run a VM or something.
I've got my VS.net code to do the scraping mostly done, but I just realized that I'm not sure if I can actually deploy it as a function, since it looks like it wants me to include the phantomjs.exe in my project in order to run, which may not work in a Azure Function...
Can I do what I wanted to do, or should I explore other options?
PhantomJS is a known unsupported framework in App Service, which is the same environment Azure Functions runs on.
You can find more information here: https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox#unsupported-frameworks

Deploy Node.js on Google app engine, running twice issue

I wrote a small app server that I want it to keep listening on the change of the firebase database. So I tried to deploy the app on Google app engine, but the code in server ran twice. Then I checked the log of that particular app engine instance. Seems like it ran the app server twice.
App engine's log image:
I couldn't find a way to fix this, help!
Thanks in advance!
The repeated messages typically indicate multiple instances being started. Which can be checked on the Instances page on the Developer Console, where you can also manually stop running instances.
But you also need to check the service scaling settings in your app.yaml file as that's what controls the automatic starting of instances.
If you want to listen to firebase changes you have two options: 1) use firebase queues to make sure that only one instance at the time take actions 2) use cloud functions

Debugging a deployed cloud service app

How can a deployed cloud service application be debugged?
I am trying to render a RDLC report in my application using Topics & Subscriptions.
Whenever I run the cloud app locally, I don't receive any errors. But as soon as I deploy it over the cloud, I get an error which aren't described up to an extent so that it can be rectified.
I found that the error comes when the report is ready to be rendered and not anywhere else.
I am looking for a possible mechanisms (inserting breakpoints like we do locally, etc.) using which it is possible to debug a deployed cloud app.
Since I am using VS2012 Express & professional, intellitrace does not work here.
You need to enable Remote Debugging for your Role, and you will be able to debug your code in the cloud with any type of Visual Studio.
I don't think you can, however Intellitrace was build for that purpose. You enable Intellitrace in your cloud instances, and then you can "playback" that instance locally, thus debugging and spotting the exceptions thrown.
Here's MSDN's article on that
http://msdn.microsoft.com/en-us/library/vstudio/dd264915.aspx
Having Intellitrace only in the most expensive version of Visual Studio makes developing for Azure far more expensive than it is advertised at. There are some situations, such as when a role is starting up, that you pretty much can't do anything without Intellitrace. If you find that you are in one of those edge cases 'evaluate' VS ultimate in a local virtual machine. You may need to re-evaluate at some point in the future, in which case you will need another VM.

Resources