当前位置: 首页 > 知识库问答 >
问题:

如何在下拉protractorjs e2e测试中选择选项

夏雅志
2023-03-14

下面是select选项的代码段:

<select id="locregion" class="create_select ng-pristine ng-invalid ng-invalid-required" required="" ng-disabled="organization.id !== undefined" ng-options="o.id as o.name for o in organizations" ng-model="organization.parent_id">
    <option value="?" selected="selected"></option>
    <option value="0">Ranjans Mobile Testing</option>
    <option value="1">BeaverBox Testing</option>
    <option value="2">BadgerBox</option>
    <option value="3">CritterCase</option>
    <option value="4">BoxLox</option>
    <option value="5">BooBoBum</option>
</select>

我试过:

ptor.findElement(protractor.By.css('select option:1')).click();

这给了我以下错误:

ptor.findElement(protractor.By.xpath('/html/body/div[2]/div/div[4]/div/div/div/div[3]/ng-include/div/div[2]/div/div/organization-form/form/div[2]/select/option[3]')).click();

有谁能帮我解决这个问题,或者说我可能做错了什么。

共有1个答案

卢永寿
2023-03-14

我也遇到过类似的问题,最终编写了一个选择下拉列表值的helper函数。

我最终决定,我可以通过选项号进行选择,因此编写了一个方法,它接受一个元素和optionNumber并选择该optionNumber。如果optionNumber为null,则不选择任何内容(不选择下拉列表)。

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

我写了一篇博文,如果你想要更多的细节,它还包括在下拉列表中验证所选选项的文本:http://technol.wordpress.com/2013/12/01/Protractor-and-dropdowns-validation/

 类似资料:
  • 问题内容: 我正在尝试使用量角器从下拉菜单中选择一个选项进行角度e2e测试。 这是select选项的代码片段: 我努力了: 这给我以下错误: 指定了无效或非法字符串Build info:版本:‘2.35.0’,修订版:’c916b9d’,时间:‘2013-08-12 15:42:01’系统信息:os.name:’Mac OS X’ ,os.arch:’x86_64’,os.version:‘10

  • 问题内容: 我将selenium1的代码转换为selenium2,找不到在下拉菜单中选择标签或获得下拉菜单的选定值的简便方法。您知道在Selenium 2中如何做吗? 这是两个在Selenium 1中起作用但不在2中起作用的语句: 问题答案: 查看硒文档中有关使用webdriver 填写表单的部分以及Select类的javadoc 。 要基于标签选择一个选项: 要获得第一个选定的值:

  • 我正在尝试使用Capybara(2.1.0)从下拉菜单中选择一个项目。 我想通过数字来选择(意思是选择第二个、第三个等选项)。 我疯狂地搜索了所有的东西,但都没有结果。 但会导致以下错误: 那么我如何从下拉(使用Capybara)中选择第一个、第二个、第三个等选项呢?

  • 我想在选择另一个select元素的一个选项时显示一个select元素,在选择另一个选项时隐藏它。 这是JavaScript: 感谢任何帮助。谢谢

  • 问题内容: 我创建了一个客户c#DropDownList控件,可以将其内容呈现为optgroup(不是从头开始,我编辑了一些在Internet上找到的代码,尽管我确切地了解了它的作用),并且工作正常。 但是,我现在遇到一种情况,我需要在下拉菜单中有两个缩进级别,即 但是,在上面的示例代码段中,它呈现的缩进量与相同。 有没有一种方法可以产生我想要的嵌套optgroup行为? 问题答案: 好的,如果有

  • 在发帖之前,我研究了stackoverflow来解决这个问题,但是没有找到解决方案,因为大多数stackoverflow都提供了与Select Class相关的解决方案。我遇到的一些链接没有解决我的问题, 如何使用Java在Selenium WebDriver中选择下拉值 如何使用TestNG选择selenium webdriver中的下拉值? 如何在selenium WebDriver中从spa