量角器在不使用browser.sleep的情况下编写更干净的测试用例

Protractor writing a cleaner test cases without using browser.sleep

本文关键字:测试用例 情况下 量角器 browser sleep      更新时间:2023-09-26

我是量角器和茉莉花的新手,我使用了很多浏览器.sleep来使我的测试用例工作

it('Procedure tab-', function() {
        element(by.linkText('Medical History')).click();
        browser.sleep(500)
        element(by.linkText('Personal History')).click();
        browser.sleep(200)
        element(by.linkText('Procedure')).click();
        browser.sleep(500)
        element(by.css('[data-ng-show="ptab.index  === 1"] > [profile="profile"] > #medicalhistory > .card > [header="header"] > .card-header-bg > .title-header > .row > [ui-sref=".procedure.new"] > [data-ng-hide="important"]')).click();
        browser.sleep(500)
        $('label[for="dis4Appendicitis"]').click();
        browser.sleep(2000)
    })

有什么更有效的方法可以在不使用browser.sleep的情况下编写测试用例。我一直在使用睡眠,因为互联网连接速度较慢等......

任何帮助不胜感激

执行任何测试的有效方法是使用隐式和显式等待。可以在 conf.js 文件中添加隐式等待,以便量角器在测试执行开始时将其考虑在内。举个例子——

browser.manage().timeouts().implicitlyWait(10000); //Wait for 10 seconds before failing particular actions/operations

并且可以使用wait()函数与ExpectedConditions 来实现显式等待。

这有效地取代了browser.sleep()方法,通过连续 检查指定的预期条件。

这是如何使用它 -

var EC = protractor.ExpectedConditions;
var elem = element(by.css(LOCATOR));
browser.wait(EC.visibilityOf(elem), 10000); //Wait for 10 seconds before failing the step

希望对您有所帮助。