【问题标题】:Doesn't select the Right option in dropdown不在下拉列表中选择正确的选项
【发布时间】:2019-04-06 20:40:31
【问题描述】:

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

我的代码有不同的变化:

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);

所以,我尝试了第一个下拉菜单:

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 是:

<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>

什么都没有!我不知道它是如何工作的,但第一个下拉菜单有默认值,第二个下拉菜单是可见的!然后我点击«使用此方法»按钮并获得失败! 10 个测试中的 1 个测试选择正确的第一个值,因此测试通过。但其他9次试验都失败了。为什么?如何正确操作以及如何确保它会选择正确的选项?

【问题讨论】:

    标签: jasmine protractor dropdown


    【解决方案1】:

    试试下面的。您可以在此处选择值无需打开下拉菜单

    var firstDrop = element(by.css('#payment-method-0'));
    browser.wait(EC.elementToBeClickable(firstDrop), 5000);
    firstDrop.sendKeys('Credit Card');
    browser.wait(EC.visibilityOf(dynamicBlock), 5000);
    

    希望对你有帮助

    【讨论】:

    • 它和我的其他变量一样工作。我注意到,当我使用睡眠时: browser.wait(EC.elementToBeClickable(firstDrop), 5000); browser.sleep(5000); firstDrop.sendKeys('信用卡');一切正常 - 选择了最需要的选项。但没有睡眠 - 它选择了错误的选项。我不明白为什么..
    • 由于您在不打开下拉列表的情况下选择值,我们必须考虑等待一段时间以加载下拉选项。如果它解决了您的问题,请标记答案正确。
    猜你喜欢
    • 1970-01-01
    • 2016-12-18
    • 2019-11-19
    • 2019-02-26
    • 1970-01-01
    • 2021-07-17
    • 1970-01-01
    • 2019-09-23
    • 1970-01-01
    相关资源
    最近更新 更多