0

我正在尝试在 Sauce Labs 中运行用 Robot IDE Framework 编写的现有硒测试。

我正在使用本教程中的示例测试来查看是否可以运行至少一个测试。http://datakurre.pandala.org/2014/03/cross-browser-selenium-testing-with.html

该测试在本地通过,并通过了 Sauce Labs 上的所有测试,但随后超时并给出错误,“测试在 90 秒内没有看到新命令。超时。错误”,因为它没有断开远程 Web 驱动程序。

我已经在“关闭测试浏览器”功能的末尾分别尝试了所有这些:

  • 关闭所有浏览器
  • 进程关闭
  • 停止硒服务器

我还尝试在关闭过程中运行的 python 函数之一中添加 ((RemoteWebDriver) getCurrentWebDriver()).quit() 。我是 Selenium 和机器人框架的新手,所以我不确定如何获取远程 Web 驱动程序。

这是代码,以防万一:

    *** Settings ***
Test Setup        Open test browser
Test Teardown     Close test browser
Resource          ../../Keywords/super.txt
Library           Selenium2Library
Library           ../../Library/SauceLabs.py

*** Variables ***
${LOGIN_FAIL_MSG}    Incorrect username or password.
${COMMAND_EXECUTOR}    http://username:key@ondemand.saucelabs.com:80/wd/hub
${REMOTE_URL}     http://username:key@ondemand.saucelabs.com:80/wd/hub
${DESIRED_CAPABILITIES}    username:name,access-key:key,name:Testing RobotFramework,platform:Windows 8.1,version:26,browserName:CHROME,javascriptEnabled:True

*** Test Cases ***
Incorrect username or password
    [Tags]    Login
    Go to    https://saucelabs.com/login
    Page should contain element    id=username
    Page should contain element    id=password
    Input text    id=username    anonymous
    Input text    id=password    secret
    Click button    id=submit
    Page should contain    ${LOGIN_FAIL_MSG}
    [Teardown]

*** Keywords ***
Open test browser
    Open browser    http://www.google.com    ${BROWSER}    \    remote_url=${REMOTE_URL}    desired_capabilities=${DESIRED_CAPABILITIES}

Close test browser
    Run keyword if    '${REMOTE_URL}' != ''    Report Sauce status    ${SUITE_NAME} | ${TEST_NAME}    ${TEST_STATUS}    ${TEST_TAGS}    ${REMOTE_URL}
    Close all browsers
    Process close
    Stop selenium server
4

1 回答 1

1

您不需要做任何特别的事情来关闭连接。我的猜测是,您的测试中有一些东西阻止了浏览器关闭。我的建议是从一个更简单的例子开始,从命令行开始。让它发挥作用,然后按照自己的方式努力,以便能够在 RIDE 中运行更复杂的东西。

这是一个工作示例,我在其中删除了测试中的所有额外内容。我可以从命令行和通过 Windows 上的 RIDE 运行它。但是,您必须添加自己的密钥:

*** Settings ***
| Library | Selenium2Library

*** Variables ***
| @{_tmp} 
| ... | name:Testing RobotFramework Selenium2Library,
| ... | browserName:internet explorer,
| ... | platform:Windows 8,
| ... | version:10

| ${CAPABILITIES}   | ${EMPTY.join(${_tmp})} 
| ${KEY}            | <put your username:key here>
| ${REMOTE_URL}     | http://${KEY}@ondemand.saucelabs.com:80/wd/hub
| ${URL}            | https://saucelabs.com/login
| ${LOGIN_FAIL_MSG} | Incorrect username or password.

*** Test cases ***
| Example of connecting to saucelabs via robot
| | [Setup] 
| | ... | Open Browser
| | ... | ${URL}
| | ... | remote_url=${REMOTE_URL}
| | ... | desired_capabilities=${CAPABILITIES}
| | 
| | Page should contain element | id=username
| | Page should contain element | id=password
| | 
| | Input text | id=username | anonymous
| | Input text | id=password | secret
| | Click button | id=submit
| | 
| | Page should contain | ${LOGIN_FAIL_MSG}
| | 
| | [Teardown] | Close all browsers
于 2014-09-16T17:07:07.313 回答