' chromedriver'可执行文件需要在PATH中。机器人框架pycharm

时间:2017-11-11 16:15:28

标签: python pycharm robotframework selenium2library

我是Robot框架的新手,我已经跟踪了this链接中的所有设置相关步骤,但是,我收到了一些我无法识别的错误。任何人,请帮忙。

  *** 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}

这是我得到的错误

  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

我的ChromeDriverPath绝对正确,我使用的是最新版本的Chrome驱动程序。

在这里再添加一点:我的Intellibot也为selenium关键字提供编译时错误,例如' Open Browser'这是我无法理解为什么? 已安装的robot和pycharm版本:Robot Framework 3.0.2(win32上的Python 3.6.3)

7 个答案:

答案 0 :(得分:3)

正如Bryan Oakley强调的那样,这是一个非常常见的错误,因此找到解决方案应该不会太困难。出于这个原因,我不打算回答明显的

  

“Chrome驱动程序不在%PATH%”错误。

在您的脚本中,您尝试设置ChromeDriver的自定义路径,这在某些情况下非常有用。您尝试设置无效的环境变量webdriver.chrome.driver,因为chromedriver可执行文件的Python binding does not check it

但是,可以在chromedriver的实例化中提供可执行文件。在Robot Framework SeleniumLibrary中,这是使用executable_path参数完成的。然后,这会产生以下示例:

Create Webdriver    Chrome    executable_path=C:/WebDrivers/chromedriver.exe
Go To    http://cnn.com

答案 1 :(得分:1)

知道了,经过一些研究,我发现了这个:

对于windows,chromedriver应放在/ Python27 / Scripts

现在它的工作正常,谢谢大家

答案 2 :(得分:0)

使用关键字Set Environment Variable可以正常工作。您可以使用包含Path的字符串path/to/folderchromedriver.exe作为参数。

答案 3 :(得分:0)

还要确保chrome驱动程序的名称为chromedriver.exe,重命名会导致打开时出现问题

答案 4 :(得分:0)

这是正确的解决方案

Create Webdriver    Chrome    executable_path=C:/WebDrivers/chromedriver.exe
Go To    http://cnn.com

答案 5 :(得分:0)

使用这个希望它会起作用......

*** 设置 ***

库 Selenium2Library

*** 测试用例 ***

测试 2

  constructor(props) {
    super(props);
    this.state = {
      loadImageCount: 6,
      images: [
        {
          url: require("../assets/pic_1.jpg"),
          id: 1,
          title: ImageData["image1"].title,
          description: ImageData["image1"].description,
        },
        {
          url: require("../assets/pic_2.jpg"),
          id: 2,
          title: "cool image #2",
          description: "Some people sitting in a garden",
        },

答案 6 :(得分:-2)

如果您要为Mac进行设置,则将chrome驱动程序放在此路径/ usr / local / bin / {您的chromedrive exe文件}