【问题标题】:Unable to run for different browsers using --Variable of Robot Framework无法使用 Robot Framework 的 --Variable 为不同的浏览器运行
【发布时间】:2020-10-21 10:43:27
【问题描述】:

在 Keywords.robot 中,我已将浏览器指定为变量并分配给 chrome,但是当我尝试使用以下命令从终端运行时

C:\Users\rajre\PycharmProjects\Automation>robot --variable Browser:firefox TestCases\LoginTest.robot

抛出错误为“SessionNotCreatedException:消息:无法找到匹配的功能集”

注意:我将 geckodriver.exe 保存在位置 C:\Users\rajre\PycharmProjects\Automation\venv\Scripts

LoginKeywords.robot:

*** Settings ***
Library     Selenium2Library
Variables  ../PageObjects/Locaters.py

*** Variables ***
${AppUrl}   https://xxxxxxxxxxxxx
${Browser}  chrome

*** Keywords ***
Open my Browser
    [Arguments]    ${AppUrl}   ${Browser}
    open browser    ${AppUrl}   ${Browser}
    maximize browser window

Input UserName
  [Arguments]  ${Username}
  input text  ${txt_loginUserName}  ${Username}

Input Pwd
  [Arguments]  ${Password}
  input text  ${txt_loginPassword}  ${Password}

Click Login Button
  click button  ${btn_Login}

Verify Message
   should contain  Password cannot be empty  Password cannot be empty
   should contain  Username cannot be empty  Username cannot be empty
   should contain  Invalid credentials   Invalid credentials
   should contain  Dashboard  Dashboard

LoginTest.robot

 
*** Settings ***
Library   Selenium2Library
Resource  ../Resources/LoginKeywords.robot
Library  DataDriver  ../TestData/LoginTestData.xlsx

Suite Setup  Open my Browser  ${AppUrl}   ${Browser}
Suite Teardown  Close Browser
Test Template   Login Validation
*** Test Cases ***

LoginTest
    Login Validation

*** Keywords ***
Login Validation
    [Arguments]     ${Username}   ${Password}
    Input UserName  ${Username}
    sleep  1
    Input Pwd   ${Password}
    sleep  1
    Click Login Button
    sleep  1
    Verify Message

LoginTest.robot

我也尝试过这种方法,但没有运气

套件设置 打开我的浏览器 ${AppUrl} browser=${Browser}

C:\Users\rajre\PycharmProjects\Automation>robot --variable browser:firefox TestCases\LoginTest.robot

【问题讨论】:

  • 这让我有点困惑。你有什么驱动程序?您有哪些版本的驱动程序和浏览器?他们需要匹配,检查驱动程序文档页面。另外,如果你想在 Chrome 中运行,你需要 Chrome 和 Chrome 的驱动程序。火狐也是如此。司机需要在PATH。你能确认你已经完成了这一切吗?
  • 如果问题出在open browser关键字上,可以去掉其他关键字的定义,以单个文件为例。这将使人们更容易尝试您的代码。

标签: python selenium robotframework


【解决方案1】:

Open Browser 关键字会在你的环境变量中找到一个浏览器驱动,你可以在那里添加你的驱动。或者,您可以使用其可选参数 "executable-path"

Chrome 是这样的

Open Browser    https://www.google.com/   Chrome  executable_path=C:/chromedriver.exe

对于火狐

Open Browser    https://www.google.com/   Firefox  executable_path=C:/geckodriver.exe

您可以为此设置不同的关键字,也可以在 [Arguments]

上传递 executable_path

【讨论】:

    【解决方案2】:

    geckodriver只用于火狐浏览器,而你已将浏览器指定为变量并赋值给Chrome,这肯定不行。从here下载最新的chromedriver

    希望这会有所帮助!

    【讨论】:

    • 您可以将浏览器指定为变量。您可以将该变量设置为 Chrome。这些都不是问题。
    • 是的,我同意。但我认为他没有安装 chrome 驱动程序!
    猜你喜欢
    • 2021-08-28
    • 1970-01-01
    • 2023-02-13
    • 2021-07-15
    • 2019-02-18
    • 2013-04-09
    • 1970-01-01
    • 2014-09-10
    • 2014-09-15
    相关资源
    最近更新 更多