javascript - toEqual 通过绑定(bind)不起作用

标签 javascript jasmine protractor

我必须通过以下声明文本:

expect(accessPolicyPage.accessPolicyName).toEqual(element.all(by.binding("pol.name")).get(0).getText());

它给我一些如下所示的长错误。

Expected 'Access Policy Name 01' to equal ({ ptor_: ({ controlFlow: Function, schedule: Function, setFileDetector: Function, getSession: Function, getCapabilities: Function, quit: Function, actions: Function, touchActions: Function, executeScript: Function, executeAsyncScript: Function, call: Function, wait: Function, sleep: Function, getWindowHandle: Function, getAllWindowHandles: Function, getPageSource: Function, close: Function, getCurrentUrl: Function, getTitle: Function, findElementInternal_: Function, findElementsInternal_: Function, takeScreenshot: Function, manage: Function, switc

最佳答案

您在控制台上看到的是一个“可怕的”promise 对象表示。如果您需要一个真正的值,使用 then() 明确解决 promise :

element.all(by.binding("pol.name")).get(0).getText().then(function (text) {
    expect(accessPolicyPage.accessPolicyName).toEqual(text);
});

或者,由于 accessPolicyPage.accessPolicyName 是预先定义的实际文本,您可以只交换匹配器中的内容,expect() 解析 promise 隐含地:

expect(element.all(by.binding("pol.name")).get(0).getText()).toEqual(accessPolicyPage.accessPolicyName);

此选项更简单,通常推荐使用。

关于javascript - toEqual 通过绑定(bind)不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36302419/

相关文章:

javascript - 从 Iframe 内部获取 SRC 值

JavaScript 错误 : "is not a constructor"

javascript - Jasmine spyOn 在 AngularJS 指令上无法正常工作

javascript - 如何在Travis for PHP环境中测试Jasmine Tests?

javascript - 显式等待 isPresent 和 isDisplayed 导致未找到元素失败

javascript - 日期和 Javascript

javascript - 计算日期表单下拉列表月份天数的最佳方法

node.js - Jasmine Node 测试子进程

javascript - Protractor - 分配给 element.all.locator.count 的变量返回 NaN 为什么?

selenium - 使用 gulp 运行 Protractor 和 selenium 时出现问题