【问题标题】:How to simulate onblur event with Robot Framework如何使用 Robot Framework 模拟 onblur 事件
【发布时间】:2017-07-15 01:36:32
【问题描述】:

我正在自动化应用程序的登录场景。

执行步骤如下:

  1. 选择国家

  2. 输入用户名

  3. 输入密码

  4. 点击登录按钮。

实际上输入用户名后,应用程序会验证国家和数据库中的用户名是否存在。

当尝试通过机器人框架自动化时,没有调用此验证,因此无法登录(实际上是通过脚本单击登录按钮,但没有错误消息或没有响应用户在同一页面中)。

当我验证它调用验证的确切场景时,我知道 在用户名元素 onblur="getlocation()"onblur 上调用验证。

我试图通过脚本从用户名字段给出标签来模拟这一点 Press Key ${element path} \\9 但它并非总是在运行 10 次后运行 3 或 4 次。

有什么方法可以对机器人框架中的元素进行“模糊”操作

【问题讨论】:

  • 没有真正回答您的问题,但您是否尝试过关注 onblur 元素?例如,使用鼠标悬停。
  • 我没有尝试使用鼠标悬停但我尝试将焦点放在元素上,输入值然后从元素中跳出
  • 我尝试使用mouse over,但出现 webdriver 异常。当我用谷歌搜索它时,我得到了关于鼠标事件的 firefox marrionette 存在问题的信息,请检查issue link
  • 您是否尝试单击页面上的另一个(可能是虚拟/隐藏的)元素?
  • click element 正在工作,但 double click elementmouse over 和其他鼠标元素不起作用。我也尝试过其他元素

标签: robotframework


【解决方案1】:

在机器人的 Selenium2Library 中,有一个特殊的关键字:

Simulate  <element>  <event>

在我的关键字定义中是这样的:

I Enter The New Password
  [Arguments]   ${text}
  Input Text   ${INPUT_ELEMENT_PASSWORD}   ${text}
  Simulate  ${INPUT_ELEMENT_PASSWORD}  blur

http://robotframework.org/Selenium2Library/Selenium2Library.html#Simulate

希望对您有所帮助,我们花了一段时间才弄清楚测试中缺少什么。

【讨论】:

    【解决方案2】:

    只是为了节省几分钟的谷歌搜索时间。

    Simulate
    

    已弃用。使用

    Simulate Event
    

    改为

    【讨论】:

      猜你喜欢
      • 2015-11-26
      • 1970-01-01
      • 1970-01-01
      • 2018-06-16
      • 2018-04-12
      • 2016-04-27
      • 2018-09-08
      • 2017-12-31
      • 1970-01-01
      相关资源
      最近更新 更多