Selenium WebDriver: Could not load file or assembly 'Newtonsoft.Json Version=4.0.2.0' - selenium

Selenium's webdriver gives me that error when trying to use the Chrome or IE driver.
I have got Selenium via Nuget, so it should be giving me the correct libraries. However, it seems to want a reference to Newtonsoft.Json 4.0.2.0 rather than 4.0.3 which is the one currently inside the NuGet package.
How do I get round this issue?
UPDATE
I got this working, in part trying to fix another problem. See my other post:
Selenium WebDriver - FirefoxDriver error: Failed to start up socket within 45000

It's the Nuget package. Selenium is relatively new to Nuget, and the team has been having problems building a package that can be used easily. The primary .NET developer has said that the 2.8.x Nuget package will be better. That's due out sometime this week.

you need to use x86 not ANY CPU, then will work. Your project is set to ANY CPU. Change it to x86.

Related

Java Selenium DevTools V105

I'm using selenium 4 devtools in my tests. Recently, my local browser got updated to v105. However, doesn't seem like mvn repository has artifacts to support it. The latest version is available v104 https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-devtools-v104. With that, is there any work around I can utilize until v105 becomes available
Thank you!
Download 4.5.0 Selenium Verison. Need not to add selenium devtools dependency seperately. It has CDP support for v104, v105, and v106 also.
https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG

Selenium WDS executeScript()

I have a strange problem, which I'm unable to solve for sometime. I have a selenium WDS for Firefox browser. I tried to execute the code in JMeter UI, everything works fine. But when I try to execute the same in a server (using XVFB driver), I get the error:
rm="sun.org.mozilla.javascript.EvaluatorException: Can&apos;t find method org.openqa.selenium.remote.RemoteWebDriver.executeScript(string,org.openqa.selenium.remote.RemoteWebElement). (<Unknown source>#17) in <Unknown source> at line number 17"
All the required drivers are the same as the one I locally try. Yet, I get the error only when I run in the server but not locally. Please help
Most probably you have different versions of either WebDriver Sampler or dependency libraries, I don't see any other ways for the same script to work on one machine and don't work on another.
Install the same version of JMeter onto both machines (use JMeter 3.2 or later, whatever is available at JMeter Downloads Page)
Install latest version of the WebDriver Sampler plugin using JMeter Plugins Manager
Your test should now be running fine.

Key Error: Session ID with latest version of GeckoDriver, FF, and Selenium

I recently upgraded the various pieces of our selenium suite, and when I updated the GeckoDriver to the latest version (0.16.1) I started encountering the following error during set up:
KeyError: 'sessionId'
I know this issue has been brought up here before, but I've checked the other threads and made sure I've followed the correct process. It seems the universal suggestion is to make sure everything is updated correctly.
I'm using robot framework with a modified version of their Selenium2Library to write and run the tests.
robot version is 3.0.2
selenium version is 3.4.3
FF version is 53.0.3
I have also tried altering my proxy settings following the guidance in the thread here(I am on a mac OS X El Capitan):
Why doesn't Selenium's response have a sessionId?
All of this is to no avail. The only thing I can do to get my tests back to a semi-functional state on firefox is to downgrade the geckodriver. I'd like to avoid that if possible, since this newest version has some bug fixes helpful to me.
Any guidance on what I should try next?
Upgrade version of selenium2Library. Current version is 1.8.0
Selenium2Library
Run Command
pip install robotframework-selenium2library --upgrade in cmd
Problem will be solved.
I've resolved this using the nuclear option -- I did a full uninstall of the three main dependencies in the original question and reinstalled through pip.
Latest versions seem to be in good shape. For some reason this resolved the underlying keyError. It does not appear that upgrading the Selenium2Library had any effect.

What is the compatible version of Selenium RC with Selenium IDE 2.5.0?

I have installed the selenium ide 2.5.0 add-on for firefox and after exporting the test case as Java/JUnit 4/ Web Driver. When I try to execute it with JUnit testing I always get exceptions when some class from selenium is not found. I have used selenium-api-4.2.0.jar and selenium-server-stendalone-2.42.2.jar. Than I have also tried switching from selenium-api-4.2.0.jar to selenium-api-2.42.2.jar but there always a class missing.
Which is the correct selenium-api and selenium-server-stendalone Jar to use for the 2.5.0 IDE?
Thnx in advace
This graphic in the documentation shows you how all the jars relate to each other. The selenium-server-standalone by itself contains all of those and all the dependencies.
Selenium IDE does not export code that uses the Selenium-RC API, it only uses Selenium WebDriver API.
Generally, unless you are doing something very particular, you want to use the latest stable release of everything.
If you still have problems, have a read through this, post your code, post your error messages.

Selenium WebDriver - FirefoxDriver error: Failed to start up socket within 45000

I'm getting this error:
tests.IntegrationTests.Selenium.RegisterAndLogin (TestFixtureSetUp):
SetUp : OpenQA.Selenium.WebDriverException : Failed to start up socket within 45000
when I carry out the following in my code:
using System;
using System.Text;
using NUnit.Framework;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium;
namespace ekmProspector.tests.IntegrationTests.Selenium
{
[TestFixture]
public class RegisterAndLogin
{
private IWebDriver driver;
[TestFixtureSetUp]
public void Init()
{
driver = new FirefoxDriver();
}
}
Can't get much simpler really, but the error is fatal. Any ideas?
Solution is as easy as pie :)
Right Click on your .Net (C#) Project and select 'Manage NuGet Packages ...' option, as shown below:
Then select Selenium specific packages, they need updated so update them.
The updated packages will be updated automatically.
It works for me.
I got this working in the end, I removed all the package sub-folders which were added by NuGet when installing WebDriver and decided to added these manually. Created a 'lib' folder, then unzipped the selenium binaries into that folder. Then added references to all the binaries. Seems to be fine now.
Versions
FF v48
Selenium Webdriver v2.53.1
Windows 7 (x64)
.Net 4.0 and .Net 4.5
Trying the fixes
As per #jaffa I manually added the following refereces and got the problem:
WebDriver.dll v2.53.1
WebDriver.Support.dll v2.53.1
I then unreferenced them and followed #HassanRahman and used NuGet:
WebDriver.dll v2.53.1
WebDriver.Support.dll v2.53.1
Still same error.
OpenQA.Selenium.WebDriverException : Failed to start up socket within 45000
Troubleshooting
I had a hunch and decided to downgrade from targeting .Net 4.5 to .Net 4.0 (Full not client profile) and the error changed to:
An unhandled exception of type 'OpenQA.Selenium.WebDriverException' occurred in WebDriver.dll
Additional information: Cannot find Firefox binary in PATH or default install locations. Make sure Firefox is installed. OS appears to be: Vista
I wondered if this is why people who reinstalled FireFox got it to work again?
Somewhere there has to be a set of Registry Keys or an Environment Variable to find FireFox's ApplicationStartupPath. You can see some of those paths in this ProcessMonitor trace:
In the screenshot above you can see the app (AstrobLabe) I'm using running this line of code:
using (IWebDriver driver = new FirefoxDriver(ffprofile))
It causes a search for FireFox v48 and its looking in the wrong directory:
C:\Program Files (x86)\Mozilla FireFox\FireFox.exe
On my system FireFox is installed in:
C:\Program Files (x86)\Mozilla\Firefox\FireFox.exe
Anyway finding and correcting this issue (Cannot find Firefox binary in PATH or default install locations) is for someone else to fix, I just copied the Firefox directory to Mozilla FireFox.
But then it goes back to the original error:
An unhandled exception of type 'OpenQA.Selenium.WebDriverException' occurred in WebDriver.dll
Additional information: Failed to start up socket within 45000 milliseconds. Attempted to connect to the following addresses: 127.0.0.1:7055
Solution
Then I came across this answer which says that FireFox v46 works with Selenium 2.53:
Which Firefox version is compatible with Selenium 2.53.0?
When I downgraded I saw that FFv46 installs to:
C:\Program Files (x86)\Mozilla FireFox\FireFox.exe
So check if your FF install is in this location - which based on the ProcessMonitor Trace Selenium cant find:
C:\Program Files (x86)\Mozilla\Firefox\FireFox.exe
I solved this by completely removing firefox and all profiles and reinstalling.
I found that I was able to to fix this problem in Firefox Selenium by updating my Selenium packages in NuGet.
But it still leaves you with the problem of manually updating the Chrome and IE drivers if similar problems arise.
I also faced the problem while running the the test in NUnit. I found many solution to remove or degrade your Firefox.But i solved this in another way i remove all the references related to web drivers and add the upgrade web driver to the Solution.
In my application the webdriver version was 2.24 so i replaced with 2.43 and now my test are running fine.
For anyone finding this question more recently (2015-02-27), there seems to be an open issue with compatibility with Selenium and Firefox 36:
https://code.google.com/p/selenium/issues/detail?id=8399
You can download Firefox 35 here: http://www.filehippo.com/download_firefox/59889/
I had this issue with latest version of both Firefox (42) and Selenium (2.48.2). Uninstalling and re-installing (via Nuget) fixed the issue for me.
I found that running an older version of resharper (9.2) failed to work with the latest nunit and that caused selenium to timeout.
The temporary solution was to disable resharper (Tools -> Options -> Resharper -> Disable), the permanent solution is upgrading resharper.
None of the previous answers clearly state that specific versions of Selenium WebDriver work with specific versions of Firefox. This SO question tells us that the Webdriver/Firefox compatibility matrix is here.
The other thing worth stating is that Firefox tends to update itself more-or-less automatically when new versions become available, depending on settings. Since Webdriver does not update itself automatically, this opens up the possibility that the Webdriver/Firefox compatibility will unexpectedly break and your test scripts will stop running when Firefox updates itself to a version that is not supported by your Webdriver version. I suspect that the answers above that instruct users to re-install Webdriver using Nuget simply pick up the newest Webdriver which works with the newest Firefox that just installed itself on your machine.
To prevent Firefox from upgrading itself, click on the menu button in Firefox (three horizontal bars, upper-right corner), choose "Options", choose "Advanced" on the left menu, choose the "Update" tab at the top and you'll see a set of radio buttons under "Firefox updates". Choose a setting other that "Automatically install updates".
Reinstalling FF browser fixed the issue.
Which version of Selenium IDE you are using? Try downgrading the Firefox version. The release notes of selenium IDE is mentioned in below link.
https://code.google.com/p/selenium/wiki/SeIDEReleaseNotes
Hope this helps.
1) Downgrade your firefox to < 19 because if i remember correctly WebDriver 2.33 support maxim Firefox 19
2)
FirefoxProfile profile = new FirefoxProfile();
profile.Port = 9966;
Global.Driver = new FirefoxDriver(profile);
P.S. I'm using firefox 16 to not have this issue
I have same issue with selenium version 2.37.xx with Firefox browser 42.0
After updating selenium version 2.48.2 issue is fixed
I was working with on C# with WebDriver 2.53/Firefox 46. Tried reinstalling things, manually re-adding etc but downgrading Firefox to 43 fixed it for me.
Updating through "NuGet" is what helped me. Firefox 47 and Selenium Webdriver 2.53 wasn't working. Checking the selenium site, it still shows "2.53" as their latest. Checking "NuGet" though, I saw there was a "2.53.1" version available. Installing that version is what got my Firefox 47 to work again.
Error image
See the error image, I uninstalled completely and re-install version46, things solved.