【问题标题】:When compare count and element value does not work?当比较计数和元素值不起作用时?
【发布时间】:2019-04-09 17:57:49
【问题描述】:

这是我的代码:

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)

【问题讨论】:

  • make .toBe('37'); 你得到了 ' 包围的价值。

标签: protractor


【解决方案1】:

element.all().count() 返回 Number,但 getText() 返回 String

expect().toBe()会比较数据的Type和Value,相当于===

您需要将数字转换为字符串。

expect(element(by.xpath(
            "//*[@id='divDashboardAppCtl']/div[2]/div[2]/div[1]/div/div[2]/h1"))
       .getText()).toBe(str+'');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-02
    • 1970-01-01
    • 2019-09-09
    • 1970-01-01
    相关资源
    最近更新 更多