I am new to Robot framework and I have followed all set up related steps from this link, however, I am getting some error which I am not able to identify. Anybody, please help.
*** Settings ***
Documentation Simple example using SeleniumLibrary.
Library Selenium2Library
Library OperatingSystem
*** Variables ***
${LOGIN URL} https://www.google.com/
${BROWSER} Chrome
${EXECDIR} C:\chromedriver_win32\chromedriver.exe
*** Test Cases ***
Checking browser to login page
Setup chromedriver
Open Browser To Login Page
*** Keywords ***
Open Browser To Login Page
Open Browser ${LOGIN URL} ${BROWSER}
Setup chromedriver
Set Environment Variable webdriver.chrome.driver ${EXECDIR}
And here is the error I am getting
C:\Users\sanat\AppData\Local\Programs\Python\Python36-32\Scripts\pybot.bat
Smoke.robot
======================================================================
Smoke :: Simple example using SeleniumLibrary.
=====================================================================
Checking browser to login page | FAIL |
WebDriverException: Message: 'chromedriver' executable needs to be in
PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
-------------------------------------------------------------------
Smoke :: Simple example using SeleniumLibrar | FAIL |
1 critical test, 0 passed, 1 failed
1 test total, 0 passed, 1 failed
===============================================================
Output: C:\Users\sanat\PycharmProjects\RobotFram\output.xml
Log: C:\Users\sanat\PycharmProjects\RobotFram\log.html
Report: C:\Users\sanat\PycharmProjects\RobotFram\report.html
C:\Users\sanat\AppData\Local\Programs\Python\Python36-32\lib\runpy.py:125:
RuntimeWarning: 'robot.run' found in sys.modules after import of package
'robot', but prior to execution of 'robot.run'; this may result in
unpredictable behaviour
warn(RuntimeWarning(msg))
Process finished with exit code 1
My ChromeDriverPath is absolutely correct and I am using the latest version of chrome driver.
Adding one more point here: my Intellibot is also giving me compile time error for selenium keywords like 'Open Browser' which is I am not able to understand why? Installed robot and pycharm versions: Robot Framework 3.0.2 (Python 3.6.3 on win32)
Using the keyword
Set Environment Variable
can work. You can use the stringsPath
andpath/to/folder
that containschromedriver.exe
as parameters.also make sure the name of the chrome driver is chromedriver.exe, renaming would cause issue in opening
As highlighted by Bryan Oakley, this is quite a common error and as such finding a solution for it shouldn't be too difficult. For this reason I'm not going to answer the obvious
In your script you tried to set a custom path to the ChromeDriver which is something that can be useful on occasions. You tried to set the environment variable
webdriver.chrome.driver
which does not work, because the Python binding does not check it for the chromedriver executable.However, it is possible to provide the executable at the instantiation of the chromedriver. In Robot Framework
SeleniumLibrary
this is done usingexecutable_path
parameter. This then results in the following example:Got it, After doing some research, I found this:
For windows, chromedriver should be placed under /Python27/Scripts
and now its working fine, Thanks everyone