在量角器中自动化 E2E,删除事件后如何计算事件数
Automating E2E in protractor, How do I get a count of events after I have removed one
我需要测试事件的删除并显示事件已被删除。由于这些事件不是唯一的,并且在测试时数量可能是随机的,我认为计数是最好的方法。
这对我来说是全新的,因此对含糊之处深表歉意。
下面的代码希望显示我想要做什么,但期望应该是一个数字,而我比较的是开始和结束计数。任何人都可以指出正确的方向或提供替代解决方案吗?
enter code here
it('should remove the events', async function () {
await browser.get('/');
var removeBtns = element.all(by.id('removeButton')).first();
var startcount = element.all(by.id('removeButton')).count();
console.log(startcount);
removeBtns.click();
element(by.className('...confirm removal of button')).click();
var endcount = element.all(by.id('removeButton')).count();
console.log(endcount);
expect(endcount).toBeLessThan(startcount);
enter code here
返回错误
没有过载匹配此调用。
重载 1 of 2,'(expected: number | Promise, expectationFailOutput?: any): Promise',出现以下错误。
'Promise' 类型的参数不可分配给 'number | Promise'.
类型的参数
类型 'Promise' 缺少类型 'Promise' 的以下属性:[Symbol.toStringTag],最后
重载 2 of 2,'(expected: number, expectationFailOutput?: any): boolean',出现以下错误。
'Promise' 类型的参数不可分配给 'number'.
类型的参数
element.all().count() returns一个承诺。
出于某种原因,expect() 接受了承诺,但您比较的东西像 .toBe() 和 .toEquals() 这些不接受承诺。你必须做这样的事情:
var endcount = await element.all(by.id('removeButton')).count();
expect(startcount).not.toBe(endcount);
注意我把 endcount 改到了最后,只要你确保你比较的是等待的,期望中的哪个并不重要。
我需要测试事件的删除并显示事件已被删除。由于这些事件不是唯一的,并且在测试时数量可能是随机的,我认为计数是最好的方法。
这对我来说是全新的,因此对含糊之处深表歉意。
下面的代码希望显示我想要做什么,但期望应该是一个数字,而我比较的是开始和结束计数。任何人都可以指出正确的方向或提供替代解决方案吗?
enter code here
it('should remove the events', async function () {
await browser.get('/');
var removeBtns = element.all(by.id('removeButton')).first();
var startcount = element.all(by.id('removeButton')).count();
console.log(startcount);
removeBtns.click();
element(by.className('...confirm removal of button')).click();
var endcount = element.all(by.id('removeButton')).count();
console.log(endcount);
expect(endcount).toBeLessThan(startcount);
enter code here
返回错误
没有过载匹配此调用。
重载 1 of 2,'(expected: number | Promise, expectationFailOutput?: any): Promise',出现以下错误。
'Promise' 类型的参数不可分配给 'number | Promise'.
类型的参数
类型 'Promise' 缺少类型 'Promise' 的以下属性:[Symbol.toStringTag],最后
重载 2 of 2,'(expected: number, expectationFailOutput?: any): boolean',出现以下错误。
'Promise' 类型的参数不可分配给 'number'.
element.all().count() returns一个承诺。
出于某种原因,expect() 接受了承诺,但您比较的东西像 .toBe() 和 .toEquals() 这些不接受承诺。你必须做这样的事情:
var endcount = await element.all(by.id('removeButton')).count();
expect(startcount).not.toBe(endcount);
注意我把 endcount 改到了最后,只要你确保你比较的是等待的,期望中的哪个并不重要。