使用protractor
和jasmine(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
。
答案 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"]);