javascript - 检查 Protractor 中是否选择了选择字段

标签 javascript selenium protractor

我正在编写一个测试,该测试会考虑选择是否已预先填充。

it('should select field if it was not selected', function() {
  var usersField = element(by.id('users'));

  usersField.getAttribute('value').then(function(value) {
    console.log('value = ', value);

    if(!value) {
      //select first option if not pre-populated
      usersField.all(by.tagName('option')).get(0).click();
    }
  });
});

我尝试过 usersField.getText() 但这只是列出了下拉列表中的所有选项,因此没有帮助。我的控制台日志返回 ? object:null ? 作为值。这是为什么?如何简单地检查所选选项的值(如果存在),如果不存在,则选择第一个选项?

最佳答案

您是否确保该元素确实具有 value 属性?也许事实并非如此。 另外,您是否尝试过 isSelected() 方法?

var foo = element(by.id('foo'));
expect(foo.isSelected()).toBe(false);

关于javascript - 检查 Protractor 中是否选择了选择字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59768465/

相关文章:

html - 如何使用 Selenium/Protractor 设置 HTML5 类型 ="date"输入字段(例如在 Chrome 中)?

java - Selenium从文件中读取测试数据?

node.js - 使用 Jenkins、selenium-grid 和 Protractor 进行 e2e 测试

angularjs - 运行 Protractor 时出现“Runtime.executionContextCreated has invalid '上下文错误

javascript - mapbox/leaflet js map 上的粗白线

python - Killer-web-development.com 的 selenium 和 web2py 不起作用

python - 让 Selenium 捕获所有的 cookies

javascript - 从 JSON GraphQL 获取数据错误 : TypeError: Cannot read property 'map' of null

javascript - 如何使用 AngularJs 从文本框中检索值?

javascript - 如何在 JavaScript 确认()对话框中获取 HTML 链接?