【问题标题】:How to catch the <mat-error> error message text content using Protractor如何使用量角器捕获 <mat-error> 错误消息文本内容
【发布时间】:2019-02-20 23:47:57
【问题描述】:

我正在处理下面的元素,并且无法将错误消息文本输入到变量中。

<mat-error _ngcontent-c16="" class="mat-error ng-star-inserted" id="error-email-required" role="alert" style=""> Email is a required field </mat-error>

捕捉元素是直截了当的。

var emailReqiredLabel = element(by.id('error-email-required'));

我尝试了以下选项,但所有打印为 >> 可见错误消息是:[object Object]

  • var errormsg = emailReqiredLabel.getText().toString();

  • var errormsg = emailReqiredLabel.getAttribute('value').toString();

    console.log("可见的错误信息是:" + errormsg );

谁能给点建议。

【问题讨论】:

  • console.log("可见的错误信息是:" + JSNO.stringify(errormsg ));对于初学者。

标签: angular testing protractor automated-tests e2e-testing


【解决方案1】:

mat-error 默认不显示。它仅在触摸输入时显示。因此,在获取文本之前,请尝试单击该字段并尝试getText()。如果这不起作用,请尝试JSON.Stringify(errormsg)

【讨论】:

  • 你是对的,我在验证点得到这个,在执行时这个验证消息是可见的,当我尝试你的解决方案时,我得到“失败:将循环结构转换为JSON”。这方面的任何线索
  • 你在点击后尝试getText()并尝试控制台文本。
  • npm install --save circular-json 在你的项目位置运行它。并在您的规范文件中导入相同的内容。然后使用CircularJSON.stringify(errormsg);
猜你喜欢
  • 2015-07-11
  • 2020-07-26
  • 2023-04-02
  • 2019-04-22
  • 2012-11-18
  • 1970-01-01
  • 2019-05-11
  • 2022-01-08
  • 2020-08-17
相关资源
最近更新 更多