【发布时间】: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