testing - 使用 CodeCeption 测试脚本从 jQuery Chosen Dropdown 中选择一个值

标签 testing scripting codeception acceptance-testing

你好,我正在尝试使用 codeception 脚本从 jQuery Chosed Dropdown 中选取一个值,以下是开发代码

<div class="chosen-container chosen-container-single chosen-container-active" style="width: inherit;" title="" id="Merchantserviceproviders_country_chosen">
<a tabindex="-1" class="chosen-single"><span>United States</span><div><b></b></div></a>
<div class="chosen-drop"><div class="chosen-search"><input type="text" autocomplete="off"></div>
<ul class="chosen-results">
<li class="active-result" style="" data-option-array-index="0">Please select country</li>
<li class="active-result" style="" data-option-array-index="1">United States</li>
<li class="active-result" style="" data-option-array-index="2">Canada</li>
<li class="active-result" style="" data-option-array-index="3">United Kingdom</li>
<li class="active-result" style="" data-option-array-index="4">Ireland</li>
<li class="active-result" style="" data-option-array-index="5">South Africa</li>
<li class="active-result" style="" data-option-array-index="6">Turkey</li></ul></div></div>                                    
<span class="note"><div style="display:none" id="Merchantserviceproviders_country_em_" class="errorMessage"></div></span></div>

尽管我可以通过以下方式使用 xpath 选择它;(在这种情况下为美国)

$I->click(['css' => 'div#Merchantserviceproviders_country_chosen']);
$I->click(['xpath' => '//div[@id="Merchantserviceproviders_country_chosen"]/div/ul/li[2]']);

但问题是选择是通过值在列表中的位置进行的,因此如果有任何新值(添加国家/地区),我将无法选择它,直到我知道它的位置。

我想知道如何使用它的值(在我的例子中是美国)而不是列表中的位置来选择国家/地区。

最佳答案

在这种情况下使用selectOption

$I->selectOption('dropdown-locator', 'option');

例子:

$I->selectOption('div#Merchantserviceproviders_country_chosen', 'United States');

关于testing - 使用 CodeCeption 测试脚本从 jQuery Chosen Dropdown 中选择一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35650535/

相关文章:

testing - 您如何在功能门控实现中运行文档测试?

testing - 如何在 Clojure 中进行集成测试?

bash - 在 shell 中用逗号替换新行

yii2 - Codeception功能测试中的假IP

c# - TestFixtureSetup 和 TestFixture TearDown 不会针对每个测试用例运行

testing - 我在哪里可以看到 Testcafe Studio 控制台日志错误?

Linux - 从文本文件创建多个文件夹

c# - 应该向有经验的 OOP 程序员推荐什么脚本语言?

php - Codeception 中的 Cest 格式的 @dataProvider

jquery - Codeception - POST 原始 JSON 字符串