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

量角器E2E测试中的参数化选项下拉列表

通宾白
2023-03-14

我正在尝试让我的量角器端到端测试与下拉菜单进行交互。

在我测试的页面中,我们有一个国家下拉列表。下拉列表包含4个可选选项“?”其中空白,然后是美国、英国和加拿大。

我显然没有在我的PO文件中正确调用元素,因为参数化不起作用。测试“通过”,但是当您观察正在驱动的内容时,选择的国家/地区是“?”(这是默认的)。因此,测试是导航到页面,选择元素,而不是实际单击我想要的选项。

据我所知,我需要以某种方式获取从规范文件输入到元素的参数化选项,但是我不太确定这是否可能。

我错过了什么/做错了什么?

规格文件:

campaignPO.clickCountryLocation('US');

PageObject文件:

this.countryType = by.css('select[ng-model="country"]');

this.clickCountryLocation = function(button) {
       element(this.countryType).click(button);
};

以下是正在使用的元素:

<select class="form-control input-sm ng-pristine ng-invalid ng-invalid-required" 
        ng-size="11" 
        ng-model="country" 
        name="country" 
        ng-options="opt.value as opt.label for opt in countries" 
        ng-change="updateCountry()" 
        required="">
<option value="?" selected="selected" label=""></option>
<option value="0" label="US">US</option>
<option value="1" label="UK">UK</option>
<option value="2" label="Canada">Canada</option>
</select>

共有2个答案

万俟高峻
2023-03-14

首先,您可以使用以下命令简化选择定位器

var selectEl = element(by.model('country'));

我不确定css属性是否工作得很好。要选择选项:

var optionEl = selectEl.element(by.cssContainingText('option', 'US'));
optionEl.click();

如果您只是尝试打开选择而不选择值,请不要这样做。选择是 HTML 组件,您不希望以这种方式测试它们。即使在 java 脚本中使用它们也很麻烦。如果要查看其中的值,请列出选项元素。

董品
2023-03-14

我会使用这里建议的选择选项抽象:

  • 选择-

用法示例:

var SelectWrapper  = require('select-wrapper');
var mySelect = new SelectWrapper(by.name('country'));

mySelect.selectByText('US');
 类似资料:
  • 我是新的量角器,我正在执行一些e2e测试,我在最后一个问题,当我试图调用下拉列表并选择其中一个选项时。 这是我的代码: 我每次得到的是: 这个错误怎么可能? 提前感谢您的帮助。

  • 下面是select选项的代码段: 我试过: 这给了我以下错误: 有谁能帮我解决这个问题,或者说我可能做错了什么。

  • 我有一个带有输入框和用户界面选择下拉列表的表单,在ng-blur事件中,我调用了一个方法来自动选择所有三个用户界面选择中的选项。当我使用量角器e2e测试执行此操作时,它不会等待用户界面选择发生并提交表单,这会引发异常,因为它没有找到只有在提交包含所有必需字段的表单后才会出现的元素。我试过这样browser.wait 它正在抛出异常。

  • 问题内容: 我正在尝试使用量角器从下拉菜单中选择一个选项进行角度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

  • 仍然是新的量角器,茉莉等。 今天,我正在尝试在我的一个测试中与下拉选项列表进行交互。 这是: var 选择下降 = 元素(按.css(“.下拉列表”);所有选项 = 元素(按选项(“某些选项”)); 现在点击下拉列表 selectDropDown.click(); 单击索引为 2 的下拉列表中的“选项” allOptions.get(2). Click(); 一些用于断言的代码。。。。 现在的问题

  • 我正在努力尝试从以下下拉菜单中选择一个名为“某些产品”的产品。'id="s2id_autogen81"'是新的ID元素,我使用该ID来抓取项目,但它被更改为这个自动生成值,我不确定要使用量角器抓取什么。 从下拉菜单中选择它 从选择后的下拉列表中