2

在那之前,我总是做一些孤立的小测试。但现在我想在一种情况下运行它们。我有一个奇怪的错误。有些测试不能一起工作。例如。第一:

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() 。

4

1 回答 1

1

browser.wait 是非阻塞的,因此您的第二个测试可能会在您的第一个测试仍在进行时运行。而且由于它是相同的功能,它们可能会影响彼此的结果。尝试将它们都放在同一个测试中并将它们链接起来

.then()

您可以按照此示例进行量角器阻塞等待

阻塞等待

于 2015-08-06T12:29:33.277 回答