对Protractor,Jasmine等来说还是新手。
今天,我正试图在我的一个测试中与下拉选项列表进行交互。
这里是:
var selectDropDown = element(by.css(' .dropdown')); allOptions = element.all(by.options(' Some Options'));
点击下拉列表
selectDropDown.click();
点击索引为2的下拉列表中的选项
allOptions.get(2)。单击();
断言的一些代码......
现在的问题是它到达索引2上的元素,我确信这个因为我在元素get(2)上做了getText()。
但是,当我调用click语句时,它似乎点击(我猜)但是下拉列表永远不会被忽略导致我的断言失败。
我正在使用Chrome浏览器来运行测试。
答案 0 :(得分:2)
试试这个:
element(by.css('.dropdown')).$('[value="Value of Your Option"]').click();
通过使用element(by.css('.dropdown'))
,我们可以获得总下拉列表。这里.dropdown不是静态的,它是定制的Locator。
$ 是一个css选择器,由此我们可以使用定位器值或任何其他选择元素。
答案 1 :(得分:1)
请勿先点击下拉列表。只需使用cssContainingText