webdriver - How to filter array with text and numbers
问题描述
Im have an array ["mother", "34343", "brother", "11", "22"
and i need to confirm that all numbers from this array is less then 35000. How i can do it? Should i filter it somehow and exclude all words and then do expect.to.be.below
then 35000?
browser.waitUntil(() => {
return $$('[class="header-title"]').map((elem) => elem.isDisplayed()).length > 5;
}, { timeout: 10000, timeoutMsg:'5 users has not been displayed'});
const creatorName = [];
$$('[class="header-title"]').forEach(element => {
creatorName.push(element.getText().toLowerCase());
})
creatorName.every((i) => expect(i).to.be.below("25000"))
解决方案
使用filter
,every
你可以实现它:
const allNumbersLess3500 = arr => {
return arr.filter(e => !isNaN(e)).every(n => n < 35000);
}
allNumbersLess3500(["words", "12", "come", "35001", "to"]); // -> false
allNumbersLess3500(["dont", "12", "easy", "350", "me"]); // -> true
推荐阅读
- css - React 生产中的类名
- ios - iOS 应用的推荐控件或页面流
- firebase - 我在统一使用 firebase 时遇到问题,找不到 google-services.json 或 GoogleService-info.plist 文件
- django - 路由错误:尝试在 urls.py 中路由已定义的路由
- git - 拉入 Git 失败后无法推送
- sql - 如何使用 where 子句在 Excel 中放置 SQL 查询
- python - pyodbc 将矩阵插入 sql
- salesforce - 想要捕获在 Salesforce 中更新的字段
- c++ - how to get a mask of an image so that i can use it in the inpainting function
- java - 如何正确检查java中的字符串对象?