执行套件时脚本之间的超时 - 量角器非角度

Time out between scripts when executing a suite - Protractor Non Angular

本文关键字:量角器 超时 套件 脚本 之间 执行      更新时间:2023-09-26

我正在尝试在套件中运行不同的规范,如下所示:

  suites:{
        homepage: '../Phonebook/specs/Navigate_URL.js',
        Login:['../Phonebook/specs/Login_Valid.js',
                '../Phonebook/specs/Validate_Home.js'],
        search: '../Phonebook/specs/SearchText.js',
        logout: '../Phonebook/specs/Logout.js',
    },

当我使用规范单独运行它们时,它们都运行良好,没有计时问题。我尝试一次运行整个套件,它运行得很好,现在,它表明再次存在时间问题。我在每个脚本中都包含 browser.sleep(),只是为了确保所有脚本都等到下一个脚本被执行。getPageTimeout:, allScriptsTimeout: 也被使用。有什么方法或任何一般方法可以避免此问题吗?

由于这是一个正在测试的非角度应用程序,因此Protractor不会像与 Angular 同步那样与它同步。测试不会像测试中的 Angular 应用程序那样简单明了,流程也不会那么清晰自然。

为避免任何计时问题,您需要始终"先看后跳":将browser.wait()与一组内置的预期条件一起使用。例如,在进行搜索之前,请等待搜索输入可见:

var EC = protractor.ExpectedConditions,
    searchInput = element(by.id("search"));
browser.wait(EC.visibilityOf(searchInput), 5000, "Search input has not become visible");

我明白了,虽然我认为这只是一个临时解决方案,但在执行下一个脚本之前,我在每个脚本中都包含 browser.sleep,它可以暂时工作。