在那天之前,我总是做一些孤立的小测试。但现在我想在一个场景中运行它们。我有一个奇怪的错误。有些测试无法协同工作。 例如。 第一个:
beforeEach(function(){
browser.get('ng-components/examples/ps-grid-column-filter-range.html');
});
it('балун содержит текст', function () {
filter_field.click();
browser.actions().click(filter_field).perform();
browser.wait(function () {
return balloon_info.isPresent();
},5000).then(function () {
expect(balloon_text.getText()).toContain(balloon_contain_text);
expect(balloon_text.isDisplayed()).toBe(true);
}).thenCatch(function () {
expect(true).toBe(false);
});
console.log("ps-grid-column-filter-range_spec_1.1.с");
});
第二个:
beforeEach(function(){
browser.get('ng-components/examples/ps-grid-column-filter-range.html');
});
it('балун демонстрируется', function () {
filter_field.click();
browser.actions().click(filter_field).perform();
browser.wait(function () {
return balloon_info.isPresent();
},5000).then(function () {
expect(balloon_info.isDisplayed()).toBe(true);
}
,function (error) {
expect(false).toBe(true);
});
console.log("ps-grid-column-filter-range_spec_1.1.a");
});
当我的测试被隔离时,他们工作正常。但是在小组中 - 他们失败了。我的错是什么?这是异步的问题吗?
另外,有趣的是,一些破坏的测试没有方法wait()。
答案 0 :(得分:1)
browser.wait是非阻塞的,因此您的第二个测试可能会在您的第一个测试仍在进行时运行。由于它具有相同的功能,因此可能会影响彼此的结果。 尝试将它们放在同一个测试中并用
链接它们 .then()
您可以按照此示例
进行量角器阻塞等待