【问题标题】:Failed: script timeout: result was not received in 20 seconds失败:脚本超时:20 秒内未收到结果
【发布时间】:2019-09-14 19:51:57
【问题描述】:

我在我的 Angular 应用程序中有一个 e2e 量角器茉莉花测试。我刚刚连续多次运行完全相同的测试,它恰好停在一个步骤。给出同样的错误: '失败:脚本超时:20 秒内未收到结果'

我尝试过的: 1. 我试图使它成为一个异步函数: ... header', async () => { ... 2.我已经尝试了await(ing)元素:await element(by.css("[ng-click='siteDocLibCtrl.managePermissionsDialog($event)']")).click(); 3.我试过browser.sleep(3000)

茉莉版本:2.8.0 npm 版本: npm: '6.4.1', 战神:'1.15.0', cldr:'33.1', http_parser: '2.8.0', 重症监护病房:'62.1', 模块:'64', 纳皮:'3', nghttp2: '1.34.0', 节点:'10.15.0', openssl: '1.1.0j', tz: '2018e', unicode: '11.0', 紫外线:'1.23.2', v8: '6.8.275.32-node.45', zlib: '1.2.11'

element.all(by.repeater("file in siteDocLibCtrl.files | filter:global.search | orderBy:orderByField:reverseSort")).get(0).click(); //selects 1st element

element(by.css("[ng-click='siteDocLibCtrl.managePermissionsDialog($event)']")).click();

我得到的输出错误如下:

Failed: script timeout: result was not received in 20 seconds
      (Session info: chrome=73.0.3683.103)
      (Driver info: chromedriver=2.46.628402 (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1),platform=Windows NT 10.0.17134 x86_64)[0m
  Stack:
    ScriptTimeoutError: script timeout: result was not received in 20 seconds
      (Session info: chrome=73.0.3683.103)
      (Driver info: chromedriver=2.46.628402 (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1),platform=Windows NT 10.0.17134 x86_64)
        at Object.checkLegacyResponse (C:\Users\Jagdeep\eclipse-workspace\ProtractorTutorial\node_modules\selenium-webdriver\lib\error.js:546:15)
        at parseHttpResponse (C:\Users\Jagdeep\eclipse-workspace\ProtractorTutorial\node_modules\selenium-webdriver\lib\http.js:509:13)
        at doSend.then.response (C:\Users\Jagdeep\eclipse-workspace\ProtractorTutorial\node_modules\selenium-webdriver\lib\http.js:441:30)
        at process._tickCallback (internal/process/next_tick.js:68:7)

【问题讨论】:

  • 关于您的错误的任何更新?

标签: jasmine protractor


【解决方案1】:

尝试在测试前添加这一行:

browser.ignoreSynchronization = true;

【讨论】:

  • 我试过'browser.ignoreSynchronization = true;'同样,它只工作了一步,之后就没有工作了。
  • 尝试改用waitForAngularEnabled(false) 属性。
  • 如果没有帮助,除了那些属性之外,我相信如果你增加默认超时时间,你可以解决你的问题。
  • 我也试过了。默认超时时间是 11 秒,我一直尝试到一分钟。
猜你喜欢
  • 2018-03-13
  • 1970-01-01
  • 2019-07-09
  • 2019-11-11
  • 1970-01-01
  • 1970-01-01
  • 2019-08-09
  • 2019-07-30
  • 2019-10-21
相关资源
最近更新 更多