Element.getText() 在量角器中

Element.getText() in Protractor

我想编写一个测试用例,将在上一页中单击的元素的值与在当前页面中单击的元素的值进行比较。

我正在使用以下代码 -

validateText = SoftwaresUnmappedPage_POM.checkFirstSoftwareName.getText();

expect(validateText+"*").toBe(SoftwareSummary_POM.softwareName.getText());

例如 - 如果我点击一个按钮 (ABC),它就会加载一个页面。此页面包含指示我单击的元素的元素。但它将名称显示为 ABC*。所以我想验证一下我点击的元素和我登陆的页面是否相同

导致错误 - 预期“[object Object]”为 'ABC'。

有人可以帮我解决这个问题吗?谢谢

这行不通,因为 Protractor 是有承诺的。您首先需要解决 promise 才能执行您想要测试的内容。

这会起作用

SoftwaresUnmappedPage_POM.checkFirstSoftwareName.getText()
  // Get the resolved text from the promise
  .then(function (validateText){
    // Compare the result
    expect(validateText+"*").toBe(SoftwareSummary_POM.softwareName.getText());
  });

希望对您有所帮助

除了上面的回答,你还可以做如下的事情,

 var validateText = SoftwaresUnmappedPage_POM.checkFirstSoftwareName.getText().then(function(validateText){
    return validateText+"*";
});
 expect(validateText).toBe(SoftwareSummary_POM.softwareName.getText());