量角器如何使用反应式表单验证下拉选定值

Protractor how to validate Drop Down Selected Value with Reactive Forms

如何使用响应式表单验证下拉列表的 selected 值,当下拉列表中有任何值 selected 时,我在 HTML 页面上看不到任何特定属性:

<span class="content">
  <select formcontrolname="template" id="template" required="" ng-reflect-required="" ng-reflect-name="template" class="ng-pristine ng-valid ng-touched">
<!--bindings={"ng-reflect-ng-for-of": "[object Object],[object Object"}-->
    <option value="81ef59b7-fadb-4bfa-b521-e88819469988" ng-reflect-value="81ef59b7-fadb-4bfa-b521-e88819" class="ng-star-inserted">
 test 
    </option>
    <option value="logo_Header" ng-reflect-value="logo_Header" class="ng-star-inserted">
 Logo Header 
    </option>
  </select>
  <a class="manage-reports" tabindex="0">
    <i class="icon edit-icon icon-sm">
    </i>manage 
  </a>
</span>

我想验证如果我 select

<option value="81ef59b7-fadb-4bfa-b521-e88819469988" ng-reflect-value="81ef59b7-fadb-4bfa-b521-e88819" class="ng-star-inserted"> test </option>

selected value/text 的下拉菜单应该是 "test"

您可以尝试选择该选项,然后在 <select> 元素上执行 getText()

expect(select.getText()).toEqual('Test');

我不熟悉 Reactive Forms,但类似这样的逻辑对我来说仍然是一样的——只要打开开发工具并探索当你 select 一个选项时会发生什么变化。

有时属性变化如 value="selected_value",您需要 .getAttribute("value") 元素然后断言它

有时,select 包装的文本会发生变化,您需要 .getText()