量角器:测试报告不一致?
Protractor: inconsistent test reports?
正在测试 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'
提前致谢!
我通过使用解决了这个问题:
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?');
});
});
});
是解决方案。
正在测试 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'提前致谢!
我通过使用解决了这个问题:
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?');
});
});
});
是解决方案。