如何使用Angular的Protractor 0.24版本在<select>列表中选择一个值?</select>

时间:2014-06-08 03:14:16

标签: angularjs selenium selenium-webdriver protractor

量角器似乎每周都在好转,现在我正在使用0.24版本。很遗憾,我无法找到如何模拟点击<select>列表中的值。

有人可以举例说明他们如何从填充的<select>中选择一个值,或者甚至更好地指出我在解释此文档的文档中的位置。作为参考我确实看到了问题:How to select option in drop down protractorjs e2e tests但是因为事情变化如此之快我想知道是否使用xpath仍然是推荐的方式进行选择或让任何用户提出更好的解决方案最新版本的量角器。由于我有很多编码要做,我想确保我使用最好的方法。

2 个答案:

答案 0 :(得分:4)

我已调整了@PaulLHow to select option in drop down protractorjs e2e tests的代码。

var selectDropdownbyNum = function (selectElement, optionNum) {
  if (optionNum){
    selectElement.all(by.tagName('option'))
      .then(function(options){
        options[optionNum].click();
      });
  }
};

量角器0.24.0“是一个很大的改变,有很多破碎的东西”。 Julie Ralph中描述了g+ post(量角器主要开发者)。 我在谷歌+上关注她以获得新版本的通知。

在这种情况下,findElements已被all替换。

找到好的文档非常困难。通常,我会通过protractor specs on github查找工作示例。

答案 1 :(得分:1)

我使用了by.css,它对我来说很好。

actionPage.findElement(protractor.By.css('.NEW_CLAUSE_PANEL div:nth-child(2) span select option:nth-child(3)')).click()