【发布时间】:2014-11-09 12:30:40
【问题描述】:
我有现有的用 Robot IDE 框架编写的硒测试,我正试图在 Sauce Labs 中运行。
我正在使用本教程中的示例测试来查看是否可以运行至少一项测试。 http://datakurre.pandala.org/2014/03/cross-browser-selenium-testing-with.html
测试在本地通过,并通过了 Sauce Labs 上的所有测试,但随后超时并给出错误,“测试在 90 秒内没有看到新命令。超时。 错误”,因为它没有断开远程 Web 驱动程序。
我已经在“关闭测试浏览器”功能的末尾分别尝试了所有这些:
- 关闭所有浏览器
- 进程关闭
- 停止 selenium 服务器
我还尝试在关闭过程中运行的 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
【问题讨论】:
-
您为什么认为这与
${DESURED_CAPABILITIES}有任何关系?什么关键字超时? -
没有关键字超时。它永远不会停止运行,这就是为什么我试图弄清楚如何停止 RemoteWebDriver。请记住,我们使用的是机器人 IDE,它是 GUI 界面,所以我不能只添加 driver.quit(),因为驱动程序是通过 Open browser google.com ${BROWSER} \ remote_url=${ 启动的REMOTE_URL} desired_capabilities=${DESIRED_CAPABILITIES}
-
第一步是停止使用 IDE 并尝试从命令提示符运行命令。这将消除可能出错的一件事,并且您可能会在显示屏上看到一条错误消息。
-
我可以在 Sauce Labs 中看到硒日志。关键字没有错误。我只需要弄清楚如何访问远程 Web 驱动程序。
-
您不需要访问远程 Web 驱动程序。我已经编写了在酱汁上运行的测试,并且一切都按预期工作。必须有其他原因导致问题。您是否尝试过从命令行运行?也许 RIDE 是罪魁祸首。
标签: selenium robotframework saucelabs