protractor - 当比较计数和元素值不起作用时?
问题描述
这是我的代码:
element.all(by.repeater("el in leaveApproved | orderBy:'Applied_Date' track by $index"))
.count()
.then(function(str){
element(by.linkText('Dashboard')).click();
browser.sleep(500);
expect(element(by.xpath(
"//*[@id='divDashboardAppCtl']/div[2]/div[2]/div[1]/div/div[2]/h1"))
.getText()).toBe(str);
});
当我运行时,我得到了失败:登录页面应该检查请求待处理留言的计数:
[31m 预计 '37' 为 37。[0m 堆栈:错误:在 E:\Selenium\Users\Rafeeq\Proc_wfm\spec.js:119:108 在 ManagedPromise.invokeCallback_ 的预期失败(E:\Selenium\Users\Rafeeq \Proc_wfm\node_modules\selenium-webdriver\lib\promise.js:1376:14) 在 TaskQueue.execute_ (E:\Selenium\Users\Rafeeq\Proc_wfm\node_modules\selenium-webdriver\lib\promise.js:3084:14 ) 在 TaskQueue.executeNext_ (E:\Selenium\Users\Rafeeq\Proc_wfm\node_modules\selenium-webdriver\lib\promise.js:3067:27) 在 asyncRun (E:\Selenium\Users\Rafeeq\Proc_wfm\node_modules\selenium -webdriver\lib\promise.js:2927:27) 在 E:\Selenium\Users\Rafeeq\Proc_wfm\node_modules\selenium-webdriver\lib\promise.js:668:7 在 process._tickCallback (internal/process/next_tick .js:68:7)
解决方案
element.all().count()
返回一个Number
,但getText()
返回一个String
。
expect().toBe()
将比较数据的类型和值,相当于===
您需要将数字转换为字符串。
expect(element(by.xpath(
"//*[@id='divDashboardAppCtl']/div[2]/div[2]/div[1]/div/div[2]/h1"))
.getText()).toBe(str+'');
推荐阅读
- python - 根据熊猫中另一个数据框中的列的条件对数据框的列执行操作
- excel - 从相邻列的基础值中查找总和
- json - 如何用'jq'总结包含百分比的字符串字段?
- clojure - 如何避免在 Clojure 中的字符串后返回“nil”?
- python - PyQT 按钮不关注第一次点击
- python - 如何从熊猫中的联合数据框左侧清除重复条目?
- javascript - 如何在使用反应路由器 v6 时使用历史实例?
- airflow - 使用 AUTH_LDAP_SEARCH_FILTER 在 Flask App Builder 中按多个 LDAP 组过滤
- amazon-web-services - AWS Lambda + VPC 弹性 IP 超时
- javascript - 试图在 javascript 中绘制形状,但功能不会在浏览器中加载