我正在尝试为我的 angularjs 应用程序编写一些 e2e 测试,并且在处理以下问题时遇到了一个停止块:我有一个 ng-repeater 输出供应商表。我运行 e2e 测试以创建一个新的供应商,该供应商加载前一个(列表)页面。我想做的是在创建新供应商后将原始表行的长度与新的(应该是+1)行的长度进行比较。我似乎已经尝试了我能想到的一切,但在其他任何地方都没有找到答案。这是我尝试使用的一些代码:
var currentVendors = element('table tr').count();
expect(currentVendors + 1).toBe(element('table tr').count());
expect(currentVendors).toBeLessThan(element('table tr').count());
expect(element('table tr').count()).toBeGreaterThan(currentVendors);
这些都不起作用,并返回错误。有没有办法做到这一点?
编辑这是我的整个测试代码,除了我试图用表中继器做的事情:
element('a.btn-default:eq(0)').click();
expect(browser().location().url()).toBe("/vendors/new");
expect(element('button.btn:disabled').count()).toBe(2);
input('vendor._name').enter('Test Runner Vendor');
input('vendor._address').enter('123 Fake Street');
input('vendor._city').enter('A City');
input('vendor._zip').enter('50000');
input('vendor._contactName').enter('Test Runner');
input('vendor._phoneNumber').enter('5555555555');
input('vendor._email').enter('test@ppcmfg.com');
expect(element('button.btn:disabled').count()).toBe(0);
element('button.btn.btn-primary').click();
expect(browser().location().url()).toBe("/vendors");
expect(element('div.alert.alert-success').count()).toBe(1);
var successMsg = element('div.alert.alert-success').text();
expect(successMsg).not().toMatch('(\\?)');