我想检查一下从应用程序返回的列表是否包含预期的元素。请告诉我哪里出了问题:
this.verifyOptionsInDrpDwn = async function(){
var optionList = await drpDwn.all(by.tagName('option')).getText();
console.log(optionList);
var expOptions=['a','b','c','d','e','f'];
for (let i = 0; i < expOptions.length; i++) {
var bool=optionList.includes(expOptions[i]);
console.log(bool);
}
}
output :
[
'1-a',
'2-b',
'3-c',
'4-d',
'5-e',
'6-f'
]
false
我会做不同的事
this.verifyOptionsInDrpDwn = async function(){
return drpDwn.all(by.tagName('option')).getText();
}
it('Test spec', async () => {
let expectedArray = ['a','b','c','d','e','f']
expect(await pageObbject.verifyOptionsInDrpDwn()).toEqual(expectedArray);
});
这与最佳实践相对应,您的功能是不可靠的,所有断言都是测试用例本身的一部分
但是从javascript的角度来看,every()才是正确的选择
this.verifyOptionsInDrpDwn = async function(){
var optionList = await drpDwn.all(by.tagName('option')).getText();
var expOptions=['a','b','c','d','e','f'];
return optionList.length === expOptions.length && optionList.every(elem => expOptions.includes(elem))
}
没有经过测试,但给了你一个想法
includes确定数组的条目中是否包含某个值。但在您的示例中,您希望检查该数组的元素是否包含ExpOptions的值。
如果将var bool=optionlist.includes(expoptions[i]);
替换为var bool=optionlist.some((a)=>a.includes(expoptions[i]));
,则应该可以工作。
问题内容: 使用普通的JavaScript(不是jQuery),是否可以检查元素是否 包含 类? 目前,我正在这样做: 问题是,如果我将HTML更改为此… …不再存在完全匹配的内容,因此我得到的默认输出为none()。但我还是想输出为,因为还 包含 了类。 问题答案: 使用方法: 这适用于所有当前浏览器,并且也有polyfill支持旧版本的浏览器。 或者 ,如果您使用较旧的浏览器,并且不想使用po
问题内容: 我有这样的事情: 我想知道在Python中(不使用for循环)更优雅的方法是什么?我在想这样的事情(例如从C / C ++开始),但是没有用: 编辑:我有点被迫解释这与下面被标记为潜在重复项的问题有何不同(所以我想它不会关闭)。 区别是,我想检查一个字符串是否是某些字符串列表的一部分,而另一个问题是检查字符串列表中的字符串是否是另一个字符串的子字符串。 相似,但不完全相同,在网上寻求答
问题内容: 我有这样的df: 以及物品清单: 我的目标是从中获取至少包含2个元素的所有行。 我想出了以下解决方案: 这给了我我想要的,但是就可伸缩性而言,它可能不是最佳的解决方案。是否有任何“向量化”解决方案?谢谢 问题答案: 我会建立一个Series列表,然后应用vectorized : 它给出了预期的结果:
问题内容: 我有两个带有不同对象的列表。 我想检查list2中的元素是否存在于list2中,基于特定的属性(Object1和Object2具有(以及其他),一个共有属性(类型为Long),名为attributeSame)。 现在,我这样做是这样的: 但是我认为有一种更好,更快的方法可以做到这一点:)有人可以提出吗? 谢谢! 问题答案: 如果只需要测试基本相等性,则可以使用基本JDK来完成,而无需在
我有两个不同对象的列表。 我想根据特定的属性(Object1和Object2有一个共同的属性(类型为Long),名为AttributeName),检查list2中是否存在list1中的元素。 现在,我是这样做的: 但我认为有更好更快的方法可以做到这一点:)有人能提出吗? 谢谢
问题内容: 如何检查一个DOM元素是否是另一个DOM元素的子元素?有内置的方法吗?例如,类似: 要么 如果没有,那么有什么想法怎么做?它还需要跨浏览器。我还应该提到,孩子可以嵌套在父级以下的多个级别。 问题答案: 更新: 现在有一种本地方法可以实现此目的。。在评论中也提到了答案。 旧答案: 使用该属性应该可以。从跨浏览器的角度来看,它也是非常安全的。如果已知这种关系是一级的,则可以简单地检查一下: