【问题标题】:Automating a test case in Robot Framework在 Robot Framework 中自动化测试用例
【发布时间】:2017-04-06 10:08:18
【问题描述】:

我正在尝试在机器人框架中自动化测试用例,我们正在尝试转到此链接https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all 并在查询编辑器中编写查询。我无法在查询编辑器中编写查询。请提前帮助和感谢。

*** Test Cases ***
query
    Open Browser    https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all    gc
    Input Text    //*[@id="tryitform"]/div/div[6]/div[1]/div/div/div/div[5]/pre[1]    Select * from tests

我想我必须使用一些不同的关键字而不是“输入文本”。

【问题讨论】:

  • 您试图在 W3Schools 教程的文本区域中输入“SELECT * FROM tests”?
  • 运行测试时会发生什么?你有错误吗?你确定xpath是正确的吗?输入小部件在框架内吗?你还尝试了什么?
  • @BryanOakley 我收到错误“InvalidElementStateException:消息:无效元素状态:元素必须是用户可编辑的才能清除它。”
  • 您是否对该错误进行过任何研究?错误消息的存在是有目的的:给你提示什么是错的。在我撰写此评论时,stackoverflow 上有 25 个问题提到了此错误消息。他们都没有帮助你吗?
  • @Goralight 这就像查询编辑器,我们可以在其中在线运行查询。

标签: robotframework selenium2library


【解决方案1】:

您遇到的问题是文本区域不是标准的 html textarea 小部件。它是一个codemirror 编辑器,我认为您不能使用 selenium 命令直接与 codemirror 编辑器交互。

您可以改为使用 codemirror api 在编辑器中设置值。例如,在您的代码示例中指定的网页上,以下内容适用于我:

Execute javascript     window.editor.setValue('Select * from tests')

注意:此解决方案高度依赖网页实现。在这种特定情况下,网页正在创建一个名为 window.editor 的 JavaScript 变量,它引用 codemirror 对象。如果您尝试在使用 codemirror 的其他页面上执行此操作,则可能必须使用其他方法来获取对 codemirror 对象的引用。

【讨论】:

    猜你喜欢
    • 2017-10-12
    • 1970-01-01
    • 2018-06-22
    • 2016-05-05
    • 2016-01-13
    • 2020-07-12
    • 2022-08-20
    • 2019-04-03
    • 2014-06-18
    相关资源
    最近更新 更多