【问题标题】:Element.getText() in Protractor [duplicate]量角器中的 Element.getText() [重复]
【发布时间】:2017-05-26 06:42:16
【问题描述】:

我想写一个测试用例,比较前一页点击的元素值和当前页元素的值。

我正在使用以下代码 -

validateText = SoftwaresUnmappedPage_POM.checkFirstSoftwareName.getText();

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

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

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

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

【问题讨论】:

    标签: javascript testing protractor gettext


    【解决方案1】:

    这不起作用,因为 Protractor 使用承诺。您首先需要解决承诺,以便能够执行您想要测试的内容。

    这会起作用

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

    希望对你有帮助

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 如果你使用async/await你也可以这样做validateText = await SoftwaresUnmappedPage_POM.checkFirstSoftwareName.getText(); expect(validateText+"*").toBe(SoftwareSummary_POM.softwareName.getText());
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-11
      • 1970-01-01
      相关资源
      最近更新 更多