是否有可能不使用延续来编写这些量角器的期望值?

时间:2015-09-09 11:39:53

标签: jasmine protractor webdriverjs

使用protractorjasmine(wd)我们要检查网页上的表是否包含预期值。我们使用CSS选择器从页面获取表:

var table = element(by.css('table#forderungenTable')).all(by.tagName('tr'));

然后我们设定了我们的期望:

table.then(function(forderungen){
...
    forderungen[2].all(by.tagName('td')).then(function(columns){
        expect(columns[1].getText()).toEqual('1');
        expect(columns[5].getText()).toEqual('CHF 277.00');
    });
});

是否可以更改此代码,以便我们不必将函数传递给then,就像使用jasminewd意味着我们不必执行此操作一样?请参阅this page,其中说明:

  

量角器使用jasminewd,它包含茉莉花的期望,以便你可以写:

expect(el.getText()).toBe('Hello, World!')
  

而不是:

el.getText().then(function(text) {
    expect(text).toBe('Hello, World!');
});

我知道我可以用与jasminewd类似的方式编写自己的函数,但我想知道是否有更好的方法来构建这些期望,使用protractor中已有的构造或jasminewd

1 个答案:

答案 0 :(得分:1)

您实际上可以在getText()上致电ElementArrayFinder

var texts = element(by.css('table#forderungenTable')).all(by.tagName('tr')).get(2).all(by.tagName('td'));

expect(texts).toEqual(["text1", "text2", "text3"]);