How do I Update ChromeDriver for Katalon Local Agent - selenium-chromedriver

I need to update the ChromeDriver that my Katalon Local Agent uses.
(Katalon Local Agent is running on a Windows 10 VM.)
I would like to configure Katalon Agent to do it automatically.
But I would settle on a way to update it manually.

It took about a month going back and forth with Katalon Support, but I finally have an answer...
Manually (Windows):
When running Katalon Agent as a User, Browser Agents can be found here: C:\Users\USER\.katalon\#.#.#\Katalon_Studio_Engine_Windows_##-#.#.#\configuration\resources\drivers\
When running Katalon Agent as a Service, Browser Agents can be found here: C:\Windows\System32\config\systemprofile\.katalon\#.#.#\Katalon_Studio_Engine_Windows_##-#.#.#\configuration\resources\drivers\
Automatically (TestOps):
When creating a Test Run Type, the Type as to be "Katalon Command". Then you can add --config -webui.autoUpdateDrivers=true to the Katalon Command.

You can update ChromeDriver by Katalon Studio GUI. From the main toolbar, select Tools > Update WebDrivers, then select a browser in the drop-down list.
See also
https://docs.katalon.com/katalon-studio/docs/handle-webdrivers.html
From the main toolbar, select Tools > Update WebDrivers > select a browser in the drop-down list.

You can update ChromeDriver by Katalon Studio.
From main Tool bar
Tools -> Update WebDrivers -> DropDownList

Related

IE not connected by Karma Runner using VSTS Gulp task

I am facing an issue with my build pipeline using VSTS.
Environment details are:
Agent server is Windows Server 2012 R2
The VSTS agent is running on network service
For running my client side test cases, I have created a gulp task. Karma runner is used with IE as the browser launcher.
The issue I am facing here is with IE as browser in karma.conf file. Whenever this gulp task is ran using VSTS then the karma runner is not connecting. The output is:
[33m20 09 2018 17:32:43.924:WARN [IE 11.0.0 (Windows 8.1.0.0)]: [39mDisconnected (1 times)
2018-09-20T12:02:43.9339866Z IE 11.0.0 (Windows 8.1.0.0) ERROR
2018-09-20T12:02:43.9342689Z Disconnectedundefined
2018-09-20T12:04:14.1287942Z [33m20 09 2018 17:34:14.125:WARN [IE 11.0.0 (Windows 8.1.0.0)]: [39mDisconnected (2 times)
2018-09-20T12:04:14.1289323Z IE 11.0.0 (Windows 8.1.0.0) ERROR
2018-09-20T12:04:14.1299244Z Disconnectedundefined
2018-09-20T12:05:43.7605115Z [33m20 09 2018 17:35:43.758:WARN [IE 11.0.0 (Windows 8.1.0.0)]: [39mDisconnected (3 times)
2018-09-20T12:05:43.7635052Z IE 11.0.0 (Windows 8.1.0.0) ERROR
2018-09-20T12:05:43.7641486Z Disconnectedundefined
2018-09-20T12:07:13.2066049Z [33m20 09 2018 17:37:13.205:WARN [IE 11.0.0 (Windows 8.1.0.0)]: [39mDisconnected (4 times)
2018-09-20T12:07:13.2110144Z IE 11.0.0 (Windows 8.1.0.0) ERROR
2018-09-20T12:07:13.2112337Z Disconnectedundefined
This same task works fine if the browser is set to GoogleChrome only. In case it is set either to IE only or GoogleChrome and IE then this task is not working. Also, if I run this task manually through cmd, then it is working fine.
Is there some issue with the VSTS agent service running account?
I think the problem is that IE (and Edge for that matter) can't be run under a service account - they have to be run in an environment which has an interactive desktop session.
The hack I used in the the question you linked to was to logon to the build agent using the Team City agent account and then manually start IE. This allowed me to accept that annoying first run dialog it has, and for it to layout what ever files it needs in the user profile folder to run. I would hazard a guess to say this is still unsupported, as when the Team City agent spawns an IE process it's still in a non-interactive session.
The approach I've taken recently with Selenium is as follows:
Configure a Windows 10 box to auto login with a Selenium service account.
Have an auto run script which immediately locks the machine and starts the Selenium node server in a console app.
Manually start IE as the Selenium user (runas /user:selenium-account "C:\Program Files\Internet Explorer\iexplore.exe") to accept that first run dialog.
Set all the registry settings needed for Selenium / IE.
You may be able to rig up something similar to work the VSTS / Karma. Do post a note here with your solution if you get it working.
If it would help you (and others), I can post my scripts to a GitHub repro. I had been planning to publish them as a Chocolatey package, but I didn't get round to that yet.
I hope that helps.
Update
From the Microsoft docs:
You can run your agent as either a service or an interactive process. Whether you run an agent as a service or interactively, you can choose which account you use to run the agent. Note that this is different from the credentials that you use when you register the agent with Azure Pipelines or TFS. The choice of agent account depends solely on the needs of the tasks running in your build and deployment jobs.
For example, to run tasks that use Windows authentication to access an external service, you must run the agent using an account that has access to that service. However, if you are running UI tests such as Selenium or Coded UI tests that require a browser, the browser is launched in the context of the agent account.
After you've configured the agent, we recommend you first try it in interactive mode to make sure it works. Then, for production use, we recommend you run the agent in one of the following modes so that it reliably remains in a running state. These modes also ensure that the agent starts automatically if the machine is restarted.
And
As an interactive process with auto-logon enabled. In some cases, you might need to run the agent interactively for production use - such as to run UI tests

Katalon test stuck on "Running"

Katalon test running stuck on Running with all the browser options
Katalon stuck on running
Any clue on how to solve this?
I am using a simple open browser script
Maybe Chrome version and ChromeDriver version are incompatible. Refer to this page on how to update ChromeDriver in Katalon Studio: https://docs.katalon.com/display/KD/Update+or+Replace+Web+Browser+Drivers+and+Selenium
If it's stuck, there are solutions.
Close katalon and re-run it.
Open the 'Task Manager' and delete chrome driver from background process.
Update chromedriver.exe file.
If you are using any Katalon profiles, please change those from defaults
Ex :
If you are using Katalone studio then all you have to do is you have to close the Chrome browser on which the script is being run by the Katalone studio and it will start working from where stopped.

Puppeteer authentication does not work in headless mode but yes in non headless mode

I'm facing up a strange problem in Puppeteer with authentication.
I've written a script to take some screenshot of a website which required authentication.
In my local computer (windows), when running in command line as node.exe my_script.js; it's working fine (in headless moden which is the default mode).
I've written an upper Java program to manipulate it (dynamically set the path, the node modules path, run the process "nodex.exe my_script.js" every 30minutes, manage timeout of the process,...). It's still working directly running from Eclipse, in headless mode.
Then... I've built/packaged a JAR and running it in a cmd window: java -jar my_jar.jar... and then the script can't authentitcated on the website in headless mode (the answser page just write a message like "you need to be authenticated", which is managed by the http server).
To check what happen, I've just add an option in my nodejs script (so I do not modify my java upper program code) to run chrome in non headless mode; with option headless : false. And... it's working!
I let the option to run in non headless mode, and I create a Windows service to run my jar via a bat file, with the help of nssm... Just to test. I'm really happy to see that all is running fine without seeing any chrome GUI (maybe Windows disable GUI for service, don't know how).
Have I maybe missed something? Or is there a bug in Puppeteer or Chrome to manage authentication in headless mode?
Regards
Alex

creating selenium tests on chromeOS

I currently have a java project which instantiates various browsers via selenium hub/node on various windows operating systems. Is there much involved to expand this to cater for running up a browser on a stock chromebook chromeOS?
The following are steps I tried back in November 2014. The result was unsuccessful and I opened a question on the Google forum with no response.
followed manufacturer's instructions to put the Chromebook in Developer Mode
set chromeos-firrmwareupdate to dev mode and removed rootfs verification from partitions 2 and 4
downloaded and installed Java (latest jre), required for Jenkins slave and Selenium
downloaded Jenkins slave.jar and selenium-server-standalone.jar (2.41.0)
put Jenkins and Selenium in /home and remounted to remove noexec
remounted tmp to resize to 2G (req for Jenkins)
added DISPLAY=:0.0 to ui.conf to set display
added chain rule to allow tcp input
added 'no-sandbox' and 'disable-setuid-sandbox' switches and excluded 'test-type' switch
Result: ChromeDriver started up, opened up a gray screen (a broken instance of Chrome), and closed with an "unable to open pages" error. Weird thing, though, was that the same command used to launch Chrome worked when run from the terminal.

How to disable repair option in visual studio installer

How we can disable repair / remove option in visual studio (2008) installer. I just want install & uninstall options only. Is it possible to hide that window from installer?
I have tried this with orca; but no yield.
Then I tried to set custom action condition, that too didn't work.
Still my installer shows the Repair/Remove dialog if it is already installed.
For Visual Studio Installer, I found just one way of doing it: create a custom action at the Install step. In that custom action write code to create the following registry values:
Key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{GUID-THAT-CORRESPONDS-TO-YOUR-PRODUCTCODE}
Values:
NoRepair = dword:00000001
NoModify = dword:00000001
That's it. After inserting these values in the registry the "Repair" button disappears from the Add/Remove Programs screen. No custom action conditions required.
Note: for a 32-bit software running on the Win64 platform the registry path is:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\...