我正在尝试使用量角器/ Js验证表中的行数和列数。
我尝试了以下四个函数,但返回的结果不准确。我相信我的定位器可能有误-'。tsc_table_s13'
行:
$(locator).all(by.xpath('.//tbody/tr')).count().then(function (data) {
expect(data).to.equal(parseInt(myCount));
});
或者...
var table = element.all(by.css(locator));
table.all(by.tagName("tr")).count().then(function (data) {
expect(data).to.equal(parseInt(mycount));
});
列:
$(locator).all(by.xpath('.//tbody/tr/td')).count().then(function (data) {
expect(data).to.equal(parseInt(myCount));
});
或者...
var table = element.all(by.css(locator));
table.all(by.tagName("td")).count().then(function (data) {
expect(data).to.equal(parseInt(myCount));
});
当我测试列数时,将返回25(或26),并且我期望只有6。 当我测试行计数时,我期望4时返回0。 该表可以在这里找到-http://toolsqa.com/automation-practice-table/
答案 0 :(得分:0)
答案 1 :(得分:0)
这是简单的解决方案 //test.spec.js
describe('all rows and columns', function() {
var rows;
var cols;
beforeEach(function() {
browser.waitForAngularEnabled(false);
browser.get('http://www.toolsqa.com/automation-practice-table/');
rows = element.all(by.xpath('.//tbody/tr'));
cols=element.all(by.xpath('.//tbody/tr[1]/td'));
});
it('should list row and column counts', function() {
//expect(rows.count()).toEqual(4);
//expect(cols.count()).toEqual(6);
rows.count().then(function(cnt) {
console.log(cnt);
})
cols.count().then(function(cnt) {
console.log(cnt);
})
});
});