Selenium scripts fail after newest Windows update - selenium

I have a question regarding Selenium and the current Microsoft updates:
I just installed the newest Microsoft patches on a PC and now the Selenium scripts won't work anymore. I'm using the Selenium IE Driver 2.44.0 in the scripts. Maybe something has changed in the Internet Explorer, I'm not sure. Suddenly the scripts can't find any web elements on the page anymore. An InvalidSelectorException is thrown because the findElements methods can't be executed. The IE driver opens up and it navigates to the given URL, but when it tries to find a web element, the script fails. I also tried it out on a PC which hasn't the newest updates installed yet and the scripts are working fine there, there are no problems at all.
Do you have any ideas what to do or what could be the cause?
Thanks a lot!

Yes as I stated here
If you have taken windows update KB3025390 IE will not work as expected. There is currently no resolution to that yet.
Also, Uninstalling the update KB3025390 should make the WebDriver work correctly with Internet Explorer 11. See this answer

Related

QTP has stopped recording and spying

I've been working for few months with QTP (UFT One 15.0.2), and today it has stopped recording (when I do the actions no lines are written in the script and no objects are added to the objects repository) and recognizing objects with the spy feature.
I am using the WEB add-in, and as I've been working for months with Mozilla Firefox I have checked that the WebExtension.xpi is well added to the browser.
I've tried to open mozilla before and after UFT One, I've also restarted my computer, I've checked the size of the screen browser is 100% and that in the Record and Run Settings the option " Record and run on any open browser" is checked for Web.
This situation usually occurs because the company's IT department has changed the related policy, causing the UFT Firefox extension to fail to run normally.
You can check if the HP.UFT.Firefox.NativeMessagingHost running in Windows task manager after openning Firefox while the extension is enabled, and check if the Micro Focus UFT Agent content script loaded in Firefox debugger's Sources tab(note: you need to check the "Enable browser chrome and add-on debugging toolboxes" in Web Developer Tools' Setting firstly).
If one of these things does not exist, you should check the policy change with your IT: did they block the related thing running?
If they all exist, you can open a CPE case to UFT One support. They will help you to do the further investigation.
I have checked that I had the same problem with chrome browser, so not an Extension problem.
Finally I have decided to uninstall and reinstall UFT One, but while uninstalling an error appeared and UFT persisted on the system.
After two trys I have launched UFT One and it has started working again.
I am not sure how long it will work.

What is the correct IEDriverServer version to use with IE 11 through Selenium

I just got updated to Windows 10 (x64). My old desktop had IE 11 but a lower version, as it was running Windows 7. I now have the following IE version:
Version: 11.648.17134.0
Update Versions: 11.0.115
I downloaded the latest IEDriverServer.exe that Selenium gave me (3.14). When I run it, when I do the get(url) (various urls), afterwards it fails to find elements. I looked and noticed that before the get(), driver.getWindowHandles() had one entry, but after the get() it had zero entries. This is the latest version. I tried setting compatibility mode but that did not do any good (set or not set). The tests will work fine with Chrome but someone else wrote the test and did not verify values were non-null before calling element.sendKeys(str), which IE appears to allow but Chrome throws an exception. And there are so many instances.
So, I need to find the correct IEDriverServer for my Windows 10 IE but I am having trouble doing so. Google did not give me much except it led me to the driver I already downloaded.
Can anyone help?
As a thumb-rule you can always use the released IEDriverServer from the respective released Selenium clients.
As an example,
If you are using Selenium v3.14
Download, extract and use IEDriverServer_Win32_3.14.0.zip or IEDriverServer_x64_3.14.0.zip
Snapshot:
Update
However to work with IE11 you have to take care of a couple of things which are beyond the scope of this discussion and are as follows:
How does the registry entry HKEY_LOCAL_MACHINE\…\FEATURE_BFCACHE for InternetExplorerDriver solves the Internet Explorer 11 issue?
Internet Explorer Protective mode setting and Zoom levels
Selenium InternetExplorerDriver doesn't get focus on the window
How to ignore protected Mode Settings for Internet Explorer using setCapability() through Selenium and Java?

Selenium Webdriver for Chrome Crashing vb.net

I have a program that has been working for quite a while. Not sure what happened, but all of the sudden it crashes. It looks like it is trying to access something on the page when this happens. It launches Chrome, gets to a login page, but then it crashes when trying to grab the login. Happens with multiple sites, so it isn't a site change or anything like that.
I tried converting to Firefox and InternetExplorer. However, because Chrome lets you download a file without prompting, that is what I know will work. I tried with FF creating a Profile and with IE creating a registry setting (to allow auto-download). Neither worked :(
I want to go back to Chrome, but not sure what is wrong. I even uninstalled Chrome entirely and re-installed it. Nothing :( I tried setting ChromeDriver.exe to "Run as Administrator" - nothing crashed, but also nothing ran.
I'm at a loss :(
the latest version of chrome has a rendering bug which is causing errors when working with selenium, you can try installing the latest chromedriver but it might be better to try to find a work around with firefox for now

how to detect selenium/webdriver browsing on my site

Does anyone know how to detect selenium/webdriver browsing on my site?
I don't want to block them, just detect them.
I saw this question:
Can a website detect when you are using selenium with chromedriver?
But trying all of these on latest version didn't seem to work.
Any body knows anything else?
P.S. please don't leave answers/comments of "dont block"/"you are looking in the wrong place" - I am fully aware of what I'm asking and what will be the business logic to use it.
-- EDIT --
Things I have tested from the link above:
detecting cdc_asdjflasutopfhvcZLmcfl_ key on elements, mostly on window and document but some other elements we have across the entire site.
Searching for window.navigator.webdriver always returns undefined instead of true (tested on both chrome and firefox although only firefox said to support it)
tested the script from this answer: https://stackoverflow.com/a/45814390/1593987
All tests were done using latest selenium, browsers (firefox and chrome), and latest webdriver plugins. for now only on windows, but will probably test ubuntu as well.
In recent versions of Selenium WebDriver it's handled on a spec level.
There is a read-only JS property - navigator.webdriver which is true in case webdriver is used to control browser.
Checked with Chrome v73 - returns true.
References:
Spec - https://w3c.github.io/webdriver/#dom-navigatorautomationinformation-webdriver
Firefox - https://developer.mozilla.org/en-US/docs/Web/API/Navigator/webdriver
Chrome - https://www.chromestatus.com/feature/6216034532982784

Selenium not working with Firefox 3.x on linux

I am using selenium-server , selenium rc for UI testing in my application . My dev box is Windows with FireFox 3.5 and every thing is running fine and cool. But when i try to run selenium tests on my build server which is a linux box , i get this error
Caution: '/usr/bin/firefox': file is a script file, not a real executable. The browser environment is no longer fully under RC control
basically the selenium-rc is not able to find the firefox executable on linux(actually its a .sh file here), which is present in the case of Windows .
Has anyone faced this error before. Please let me know for any pointers.
Thanks for any help
~Pratik
Thanks!
Pratik
This is occurring because Selenium wants to start the FireFox binary directly, rather than delegate to the normal launch script. Before checking for "firefox" (which is a script on many installations), it checks for "firefox-bin". You can circumvent this problem by creating a link named "firefox-bin" that points directly at your desired version of the firefox binary.
This is described under "Ubuntu fix" (though it actually applies to other Linux'es as well) in the Cucumber Wiki at:
https://github.com/cucumber/cucumber/wiki/Setting-up-Selenium/612fae3f39528be39594d145ec12a4747855e030
Hey, I have Selenium running on Karmic with no issues. I can't quite remember how I did it, but I think it was a case of grabbing a more recent version ot the selenium-rc-serve.jar.
I also remember looking at this post: http://tero.tilus.net/rutinat/2009/08/18/cucumber-running-selenium-on-debian-lenny/
Hope something there points you in the right direction!