Jmeter WebDriver don't start - selenium

I tried to run WebDriver Sampler, but got problem with driver config.
First I tried to use Firefox Driver Config. When run only Firefox Driver Config (without any sampler) I see how Firefox launched but finally got error:
org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary(C:\Program Files (x86)\Mozilla Firefox\firefox.exe) on port 7055; process output follows: ddons.json found.
Next I tried to use Chrome Driver config, but got error:
The driver executable does not exist.
I tried to solve the problem like this: How to solve this error an jmetere, but it doesn’t work.
Image with config and errors

With regards to Firefox you need to ensure that you use supported Firefox version. The latest JMeter WebDriver Plugin kg.apc:jmeter-plugins-webdriver:2.3 has transitive dependency on the selenium-firefox-driver:2.52.0 which means that you can use Firefox 45 or earlier with it.
Later Firefox versions will not work.
You can download Firefox 45 from Mozilla FTP website
More information: Q. How do I Know Which Browsers are Supported? chapter of The WebDriver Sampler: Your Top 10 Questions Answered guide

I found the tab with configuration path to driver
Picture with tab:

Related

geb.driver.DriverCreationException: failed to create driver from callback

I am getting below Exception while running test scripts.
geb.driver.DriverCreationException: failed to create driver from callback 'script1501516684770944233575$_run_closure1#6601cc93'
java.lang.NoClassDefFoundError: Lorg/openqa/selenium/remote/html5/RemoteWebStorage;
failed to create driver from callback 'script1501516684770944233575$_run_closure1#6601cc93'
OS: Windows 10 64 bit
Chrome browser: v60 (latest one)
Selenium :-2.43.1
Chrome web driver:-2.24.417431
geb-version:0.10.0
geb-testng-version:0.13.1
geb-spoc-version:0.13.1
Thanks in Advance...!
This will be a version issue (your old web driver is not compatible with newer chrome versions). If you are using the latest version of chrome, I suggest moving to the latest version of selenium and chrome driver.
Infact one quick google suggests that I might be right: https://sites.google.com/a/chromium.org/chromedriver/downloads
Latest Release: ChromeDriver 2.31
Supports Chrome v58-60
This error can be thrown if you do not correctly define your chrome driver location when executing your tests.
Either in your GebConfig:
driver = {
System.setProperty('webdriver.chrome.driver', '/Users/foo/drivers/chromedriver')
new ChromeDriver()
}
Or in something like VM parameters if running from an intelliJ Run/Debug Configuration:
-Dbrowser=chrome -Dwebdriver.chrome.driver="/Users/foo/drivers/chromedriver/chromedriver.exe"
I was having this problem for a couple of days and finally understand the cause. This problem occurred for me on Jenkins when I am setting my browser to chrome or firefox and then trying to run my tests. It occurred due to browsers not installed on Jenkins machine. The drivers are present in the code but the browser should be installed on machine otherwise Geb will throw this error. Hope this helps.

Unable to run WebDriverIo tutorial

I'm trying to follow the WebDriverIo tutorial at http://webdriver.io/guide.html .
After setting up the Selenium server, when I try executing the test node script (step 7 in the tutorial), selenium warns me of some errors (see screenshot for full log), and I don't get any output returned.
Steps to reproduce:
I start the Selenium server
When I try running the node script, this happens (clock to zoom):
At this point a Firefox window opens automatically, and remains blank.
I'm running Firefox v52 and Selenium 3.0.1. I downloaded Geckodriver from https://github.com/mozilla/geckodriver/releases
Any obvious thing that I'm missing? I'm very new to Selenium and browser automation, forgive the generic input :)
If you have been here to get your Windows release of gecko driver : https://github.com/mozilla/geckodriver/releases, you may have miss this message :
"IMPORTANT: If you use geckodriver with Selenium, you must upgrade to
Selenium 3.3 since this release aligns HTTP responses with the
WebDriver standard."
(I can see you are in v3.0.1).

Only local connections are allowed Chrome and Selenium webdriver

I am using Chrome webdriver 2.23 & Selenium 2.53.1.
I have tried a lot, but could not get it fixed. Whenever I run my selenium script, it is giving me the following error
Starting ChromeDriver 2.23.409699 (49b0fa931cda1caad0ae15b7d1b68004acd05129) on port 12162
Only local connections are allowed.
This is just an informational message. Your issue might be a missmatch between the versions of chromedriver and selenium-server-standalone.
Try with the latest selenium version 3.0, it is working for me.
Please not that for selenium 3.0 you need to specify the driver first and after the selenium server.
With the new selenium, which is 3.0 you should use:
java -Dwebdriver.chrome.driver=path_to_chrome_driver -jar selenium-server-standalone-3.0.0-beta2.jar
If you are using selenium version below 3.0 you need to reverse the order of selenium with the driver, like:
java -Dwebdriver.chrome.driver=path_to_chrome_driver -jar selenium_server.jar
When you are starting the selenium server, open a console in the directory with chromedriver and selenium server and execute the above command.
Here you are a working stack:
Some previous notes:
If you run selenium in a non graphical enviromnent, xvfb is required.
You will need selenium-server-standalone-2.53.1.jar (working version). You can download selenium versions here: http://selenium-release.storage.googleapis.com/index.html
You will also need chromedriver v 2.27. Download link: https://chromedriver.storage.googleapis.com/index.html
1) Run sudo Xvfb :10 -ac &
2) Run export DISPLAY=:10
3) Run java -jar "YOUR_PATH_TO/selenium-server-standalone-2.53.1.jar" -Dwebdriver.chrome.driver="YOUR_PATH_TO/chromedriver.2.27" -Dwebdriver.chrome.whitelistedIps="localhost"
First off, What you are seeing is not an error. It is an informational message.
When you run this driver, it will enable your scripts to access this and run commands on Google Chrome.
This can be done via scripts running in the local network (Only local connections are allowed.) or via scripts running on outside networks (All remote connections are allowed.). It is always safer to use the Local Connection option. By default your Chromedriver is accessible via port 9515.
See this answer if you wish to allow all connections instead of just local.
If your Chromedriver only shows the above two messages (as per the question), then there is a problem. It has to show a message like this, which says it started successfully.
Starting ChromeDriver 83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103#{#416}) on port 9515
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
To troubleshoot this...
Step 1: Check your Chromedriver version
$ chromedriver --version
ChromeDriver 83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103#{#416})
My version is 83.0.4103.39.
Step 2: Check your Chrome Browser version
Open Google Chrome.
Options --> Help --> About Google Chrome
Or open a terminal and run the following command (works on Ubuntu).
$ google-chrome --version
Google Chrome 83.0.4103.61
My version is: Version 83.0.4103.61
Step 3: Compare versions of Chromedriver and Google Chrome
Both these versions are starting with 83, which means they are both compatible. Hence, you should see a message like below, when you run the below command.
$ chromedriver
Starting ChromeDriver 83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103#{#416}) on port 9515
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
If your versions mismatch, then you will see the following message. You will not see the line which says, ChromeDriver was started successfully..
$ chromedriver
Starting ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987#{#882}) on port 9515
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
Step 4: Download the correct version of Chromedriver
Download the correct version that matches your browser version. Use this page for downloads. After you download, extract the content, and move it to one of the following two folders. Open each of the following two folders and see whether your current Chromedriver is there. If it is on both folders, replace both. And do STEP 3 again.
/usr/bin/chromedriver
/usr/local/bin/chromedriver
Check the version of your installed Chrome browser.
Download the compatible version of ChromeDriver from
https://sites.google.com/a/chromium.org/chromedriver/
Set the location of the compatible ChromeDriver to:
System.setProperty("webdriver.chrome.driver", "C:\\Users\\your_path\\chromedriver.exe");
Run the Test again.
It should be good now.
You need to pass --whitelisted-ips= into chrome driver (not chrome!). If you use ChromeDriver locally/directly (not using RemoteWebDriver) from code, it shouldn't be your problem.
If you use it remotely (eg. selenium hub/grid) you need to set system property when node starts, like in command:
java -Dwebdriver.chrome.whitelistedIps= testClass etc...
or docker by passing JAVA_OPTS env
chrome:
image: selenium/node-chrome:3.141.59
container_name: chrome
depends_on:
- selenium-hub
environment:
- HUB_HOST=selenium-hub
- HUB_PORT=4444
- JAVA_OPTS=-Dwebdriver.chrome.whitelistedIps=
I followed my frnd suggestion and it worked like a gem for me:
Working Code:
1) Downloaded chromedriver.
2) Code is
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class Sel {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.setProperty("webdriver.chrome.driver", "C:\\Users\\Downloads\\chromedriver_win32\\chromedriver.exe"); // path of chromedriver
WebDriver driver = new ChromeDriver();
driver.get("https://google.ca");
driver.manage().window().maximize();
driver.getTitle();
}
}
For me, updating the chromedriver and selenium version removed this message.
However, this is not an actual error and just an informational message.
If your program is still passing with exit code 0 at the end even when this message is printed, it means the execution went fine.
I was able to resolve the problem by following steps:
a. upgrade to the latest chrome version, clear the cache and close the chrome browser
b. Download latest Selenium 3.0
C#:
ChromeOptions options = new ChromeOptions();
options.AddArgument("C:/Users/username/Documents/Visual Studio 2012/Projects/Interaris.Test/Interaris.Tes/bin/Debug/chromedriver.exe");
ChromeDriver chrome = new ChromeDriver(options);
Worked for me.
Sorry for late post but still for info,I also facing same problem so I Used updated version of chromedriver ie.2.28 for updated chrome browser ie. 55 to 57 which resolved my problem.
I was also getting the same issue. I resolved this issue by updating the chromedriver. So if anyone is facing same issue with chrome browser just update your chromedriver.
I saw this error
Only local connections are allowed
And I updated both the selenium webdriver, and the google-chrome-stable package
webdriver-manager update
zypper install google-chrome-stable
This site reports the latest version of the chrome driver
https://sites.google.com/a/chromium.org/chromedriver/
My working versions are chromedriver 2.41 and google-chrome-stable 68

Not able to open firefox from selenium webdriver

I am getting the below error when i am running the selenium script.
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
fTime":1409733904986}}},{"name":"winreg-app-user","addons":{"{e4f94d1e-2f53-401e-8885-681602c0ddd8}":{"descriptor":"C:\\ProgramData\\McAfee Security Scan\\Extensions\\{e4f94d1e-2f53-401e-8885-681602c0ddd8}.xpi","mtime":1396607774000}}},{"name":"app-profile","addons":{"fxdriver#googlecode.com":{"descriptor":"C:\\Users\\kishna\\AppData\\Local\\Temp\\anonymous3395727590319882631webdriver-profile\\extensions\\fxdriver#googlecode.com","mtime":1409812670363,"rdfTime":1409812670181}}}]
1409812670931 addons.xpi-utils DEBUG Opening XPI database C:\Users\kishna\AppData\Local\Temp\anonymous3395727590319882631webdriver-profile\extensions.json
1409812670931 addons.xpi DEBUG New add-on fxdriver#googlecode.com installed in app-profile
You are using selenium version that doesn't support Firefox version 32.
And since currently there is no selenium java package version that claiming support for Firefox 32, you need to downgrade your browser. In your case, downgrade it to Firefox 28, which is listed as supported by selenium 2.42.2.
See also similar problem here:
selenium and web2py from killer-web-development.com doesn't work
Also see:
Where can I find a definitive Selenium WebDriver to Firefox Compatibility Matrix?
Documentation confusion: what version of Firefox does Selenium support?
Is Selenium 2.42.2 webdriver compatible with Firefox 27.0.1?
Please upgrade to 2.43.1 [http://www.seleniumhq.org/download/]. The new version works for FF32.
You can follow link below in the future for check supported versions FF vs. WebDriver.
I use it if I want to update browser or webdriver library.
LINK: http://selenium.googlecode.com/git/java/CHANGELOG

Exception while connecting with Chrome driver

How to use Chrome Driver in selenium project? Here am using latest version of Chrome Driver. My code looks like:
System.setProperty("webdriver.chrome.driver", C:\\Users\\....\\Downloads\\chromedriver_win32_2.3.zip\\chromedriver.exe");
In 64 bit Windows 7, however I am getting an exception.
org.openqa.selenium.WebDriverException: unknown error: unable to
discover open pages
I searched in google they provide the solution to replace the latest version of Chrome driver. I tried but not able to solve the issue.
chromedriver_win32 supports both 32-bit and 64-bit machines.
Use the latest chromedriver version; Download it from,
http://chromedriver.storage.googleapis.com/index.html?path=2.9/
And add the below snippet in your code
System.setProperty("webdriver.chrome.driver","C:\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
Can you unzip chromedriver_win32_2.3.zip file and then provide location of ChromeDriver inside unzipped folder ... This should help. Modified code should look like the following:
System.setProperty("webdriver.chrome.driver", "C:\Users\....\Downloads\chromedriver_win32_2.3\chromedriver.exe");