【问题标题】:Protractor test does not proceed after `sendKeys``sendKeys` 后量角器测试不进行
【发布时间】:2018-07-30 15:10:30
【问题描述】:

请在下面找到我的第一个量角器测试。

describe ("test Frontend for correct display of Input", function(){
it ("to test input field", function(){

    browser.get("http://localhost:9000");
    element(by.model("searchController.searchParams.query.firstName")).clear().
        sendKeys("firstName", protractor.Key.TAB, "familyName",     protractor.Key.RETURN);
})
})

它确实会继续前进,但在那之后不会让我在那里做任何事情,因为 Angular 会引发超时错误,例如在尝试访问第二个搜索字段 family Name 时。错误可以在下面找到。我该如何解决这个问题?

失败:测试前端是否正确显示输入以测试输入字段

消息: 失败:等待异步 Angular 任务在 11 秒后完成时超时。[...]

【问题讨论】:

  • 如果您先执行('firstName').sendKeys('first');,然后执行('lastName').sendKeys('last');,您还会收到此错误吗?您正在测试的页面可能没有正确的选项卡完成
  • 是的,我愿意。然后,在 '(firstName).sendKeys('first')` 之后,脚本停止并且我得到超时。
  • 听起来您的 CSS 选择器可能不正确。您能否发布您尝试填写的 HTML sn-p

标签: javascript protractor sendkeys


【解决方案1】:

在您的 conf.js 文件中,添加此内容(尚未完成)

allScriptsTimeout: timeout_in_millis

timeout_in_millis 应该是您希望在脚本超时之前等待的数字。

Protractor 由于 Angular 等待与挂起的任务同步后超过默认时间 11 秒时出现错误。

所以将timeout_in_millis 增加到 30 秒之类的时间。

阅读更多关于各种超时的信息,尤其是这个here

【讨论】:

  • 我会尽快尝试,但对我来说,这里的问题似乎不是时间,而是脚本中的错误。它执行前两个步骤,然后等待 10 秒。
  • 太棒了,非常感谢!这似乎完美无缺!
  • 如果这对你有用,请接受这个答案。
【解决方案2】:

您可以手动执行确切的步骤吗?

输入文本,制表符...

希望这不是在 IE 上,您是否尝试过其他浏览器?

【讨论】:

  • 是的,这是可能的。我正在使用 chrome 和/或 Safari。
猜你喜欢
  • 2015-03-22
  • 1970-01-01
  • 2015-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-03
  • 1970-01-01
相关资源
最近更新 更多