首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未在下拉列表中选择正确的选项

未在下拉列表中选择正确的选项
EN

Stack Overflow用户
提问于 2019-04-07 04:40:32
回答 1查看 62关注 0票数 0

量角器在下拉列表中选择错误的选项。我必须:选择第一个下拉列表打开另一个下拉列表(在我的情况下:选择付款方法(第一个下拉列表)打开第二个下拉列表-可用信用卡):重要时刻:如果第一个下拉列表有默认值-第二个下拉列表不可见。

我的代码有不同的变体:

代码语言:javascript
复制
let paymentDropdown = element(by.name("payment-method"));
let dynamicBlock = $$(".dynamic").first();
let useThisCardButton = element(by.name("do-add-payment-method»));
let paymentConfigBlock = element(by.id("payment-config-container"));

browser.wait(EC.visibilityOf(paymentDropdown), 5000);
$("#payment-method-0 > option:nth-child(2)").click();
browser.wait(EC.visibilityOf(dynamicBlock), 5000);
useThisCardButton.click();
browser.wait(EC.visibilityOf(paymentConfigBlock), 5000);

因此,我尝试了第一个下拉列表:

代码语言:javascript
复制
1. $("#payment-method-0 > option:nth-child(2)").click();
2. element(by.name("payment-method"))
    .all(by.tagName('option'))
    .get(1)
    .click(); 
3. element(by.cssContainingText('option', 'Credit Card')).click();
4. element(by.name("payment-method")).$('[value="cc"]').click();

Html是:

代码语言:javascript
复制
<select name="payment-method" id="payment-method-0" style="display: inline-block;">
<option value="0">Select Payment Method</option>
<option value="cc">Credit Card</option>                    
</select>

什么都没有!我不知道它是如何工作的,但是第一个下拉列表有默认值,第二个下拉列表是可见的!然后我点击«Use this method»按钮,结果失败了!10个测试中有1个测试选择了正确的第一个值,所以测试通过了。但是其他9次试验都失败了。为什么?如何正确操作,以及如何确保选择正确的选项?

EN

回答 1

Stack Overflow用户

发布于 2019-04-08 13:12:59

试试下面这个。在这里,您可以在不打开下拉的情况下选择值

代码语言:javascript
复制
var firstDrop = element(by.css('#payment-method-0'));
browser.wait(EC.elementToBeClickable(firstDrop), 5000);
firstDrop.sendKeys('Credit Card');
browser.wait(EC.visibilityOf(dynamicBlock), 5000);

希望能对你有所帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55553294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档