JDu*_*unn 6 javascript testing end-to-end protractor
我一直在为我的角度js应用程序编写e2e测试,我无法弄清楚这一点.我有一张包含数据的表格.我想提取第一行数据.
<table>
<tr>
<td><\td>
<td><\td>
<td><\td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
我在量角器中做了这个,elementExplorer
它打印出所有3列的值
element.all(by.repeater('item in items.list')).get(0).getText()
James
Byrne
1
Run Code Online (Sandbox Code Playgroud)
如果我这样做,它会打印出第一列值
element.all(by.repeater('item in items.list')).get(0).element(by.css('td')).getText()
WARNING - more than one element found for locator By.cssSelector("td") - the first result will be used
James
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何获取其他列的值?
var row = element.all(by.repeater('item in items.list')).first();
var cells = row.all(by.tagName('td'));
var cellTexts = cells.map(function (elm) {
return elm.getText();
});
Run Code Online (Sandbox Code Playgroud)
然后,您可以将其断言为列文本数组:
expect(cellTexts).toEqual(["The first text", "The second text", "The third text"]);
Run Code Online (Sandbox Code Playgroud)
最简单的方法如下:
var tabledata = element.all(by.css("./table"));
// get rows
var rows = tabledata.all(by.tagName("tr"));
// get cell values
var cells = rows.all(by.tagName("td"));
expect(cells.get(0).getText()).toEqual("something")
expect(cells.get(1).getText()).toEqual("something")
expect(cells.get(2).getText()).toEqual("something")
Run Code Online (Sandbox Code Playgroud)
我实现了它,它对我有用.
归档时间: |
|
查看次数: |
22266 次 |
最近记录: |