【问题标题】:Protractor: inconsistent test reports?量角器:测试报告不一致?
【发布时间】:2015-07-27 09:34:33
【问题描述】:

测试一个 Angular 应用,测试有时通过有时失败...

我的测试用例如下:

it('test-1: should has main button', function () {
    expect(page.demoButton).not.toBeUndefined();
});

it('test-2: should open modal on click secondary button', function () {
    page.demoButton.click().then(function () {
        page.SecondaryButton.click().then(function() {
            expect(page.Modal).not.toBeUndefined();
        });
    });
});

it('test-3: should open modal with correct text', function () {
    page.demoButton.click().then(function () {
        page.SecondaryButton.click().then(function() {
            expect(page.Modal.text.getText()).toEqual('Are you sure to cancel 
this?');
        });
    });
});

如果我运行测试,有时测试通过,有时其中一些测试失败.. 大多数时候错误是这样的:使用定位器找不到元素:By.cssSelector(".myButton")。或无法读取未定义的属性“getText”

提前谢谢你!

【问题讨论】:

    标签: protractor


    【解决方案1】:

    我使用以下方法解决了这个问题:

    browser.waitForAngular(); 
    

    我看到 getText 和点击事件会出现这个问题,所以:

    it('test-2: should open modal on click secondary button', function () {
        page.demoButton.click().then(function () {
            browser.waitForAngular();
            page.SecondaryButton.click().then(function() {
                browser.waitForAngular();
                expect(page.Modal.text.getText()).toEqual('Are you sure to cancel 
                this?');
            });
        });
    });
    

    是解决方案。

    【讨论】:

      猜你喜欢
      • 2015-06-22
      • 2015-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-05
      • 1970-01-01
      • 2018-05-08
      相关资源
      最近更新 更多