1

使用protractorandjasmine(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,就像 usingjasminewd意味着我们不必这样做一样?请参阅此页面,其中指出:

Protractor 使用 jasminewd,它包裹了 jasmine 的期望,因此您可以编写:

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

代替:

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

我知道我可以用类似于 which 的方式编写自己的函数jasminewd,但我想知道是否有更好的方法使用protractoror中已经可用的构造来构造这样的期望jasminewd

4

1 回答 1

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"]);
于 2015-09-09T13:53:36.257 回答