【发布时间】:2016-08-16 18:17:03
【问题描述】:
最近我开始使用带有 Selenium2Library 的 Robot 来自动化一些 GUI 测试用例。我正在自动化的应用程序之一是 ReviewBoard。
到目前为止,我已经能够自动化一些东西,但是在将文本输入文本区域时遇到了很多问题。一个例子是评论板上的描述字段。
我最近的尝试是
:FOR ${URL} in @{URL_LIST}
\ Go To ${URL}
# Enter team reviewer name and press ok
\ Click Element xpath=//*[@id="fieldset_reviewers_body"]/tr[2]/td/a/div[@class="rb-icon rb-icon-edit"]
\ Input Text xpath=//*[@id="fieldset_reviewers_body"]/tr[2]/td/form/input rbtest_teamreviewer1
\ Press Key xpath=//*[@id="fieldset_reviewers_body"]/tr[2]/td/form/input \\9
\ Click Element xpath=//*[@id="fieldset_reviewers_body"]/tr[2]/td/form/span/input[@class="save"]
# Fill out Testing Done field
\ Click Element xpath=//*[@id="review_request_main"]/div[2]/label/a/div[@class="rb-icon rb-icon-edit"]
\ Press Key xpath=//*[@id='review_request_main']/div[2]/div/form/*//textarea Testing Done
\ Click Element xpath=//*[@id="review_request_main"]/div[2]/div/form/div[2]/input[@class="save"]
但是,我收到了异常
ElementNotVisibleException: Message: Element is not currently visible and so may not be interacted with
Stacktrace:
at fxdriver.preconditions.visible (file:///tmp/tmpW24ACY/webdriver-py-profilecopy/extensions/fxdriver@googlecode.com/components/command-processor.js:10092)
at DelayedCommand.prototype.checkPreconditions_ (file:///tmp/tmpW24ACY/webdriver-py-profilecopy/extensions/fxdriver@googlecode.com/components/command-processor.js:12644)
at DelayedCommand.prototype.executeInternal_/h (file:///tmp/tmpW24ACY/webdriver-py-profilecopy/extensions/fxdriver@googlecode.com/components/command-processor.js:12661)
at DelayedCommand.prototype.executeInternal_ (file:///tmp/tmpW24ACY/webdriver-py-profilecopy/extensions/fxdriver@googlecode.com/components/command-processor.js:12666)
at DelayedCommand.prototype.execute/< (file:///tmp/tmpW24ACY/webdriver-py-profilecopy/extensions/fxdriver@googlecode.com/components/command-processor.js:12608)
我尝试了不同的方法,例如使用输入文本而不是按键,但有类似的问题...输入类型时我没有任何问题。
有谁知道我该如何解决这个问题?
如果你有兴趣,可以在http://demo.reviewboard.org/r/1502/查看demo reviewboard,用户名:guest6317 密码:demo
【问题讨论】:
-
嗨@Kevin Yu - 请您提供您在这里编写的完整代码吗?
-
单击
rb-icon-edit后,页面会生成一个新的 CodeMirror 编辑器实例。此处描述了更改其值的正确方法:stackoverflow.com/questions/8378678。但是您需要知道 CodeMirror 对象的名称。我建议你向开发人员询问这个问题。当您知道对象名称时,使用 RobotFramework 的Execute Javascript而不是Press Key运行 javascript -
@Curious 我已经用完整的代码更新了它。谢谢。
-
不过,这些代码是完整的。您使用哪种语言编写了这段代码?在上述问题中复制并粘贴您的代码。您可以使用代码中的测试数据更新敏感数据,但提供您编写的清晰代码。
标签: selenium robotframework codemirror review-board