在 internjs 中点击 bootstrap select2 下拉列表中的 <li> 标签

Click on <li> tag from a bootstrap select2 dropdown in internjs

我正在表单上编写一些功能测试,我 运行 遇到问题 selecting bootstrap-select2 下拉列表中的值。

如果你不熟悉Select2,这里有一些例子; https://fk.github.io/select2-bootstrap-css/3.5.1.html

所有的下拉列表都是点击下拉列表时出现的无序列表。

我点击下拉菜单; .findById('select2-chosen-1').click().end()

以上几行使无序列表出现,但我不确定如何select一个特定的select离子。

如果我执行以下操作,我可以打印出所有 select 离子;

.findById('select2-results-1')
      .getVisibleText()
      .then(function(text) {
        console.info(text);
 })

我试图获取该数组下的所有 li 标签名称,.findAllByTagName('li'),但我不确定如何处理该数组。

任何帮助我指明正确方向的帮助都会非常有帮助。如果您需要更多信息,请告诉我。

谢谢!

打开下拉菜单后,您只需找到您想要 select 的特定项目并单击它。当我尝试查找包含文本的内容时,我通常使用 findByXpath,或 findByCssSelectorfindByXpath 的组合,例如:

.findById('select2-chosen-1')
.click()
.end()

.findByCssSelector('.select2-drop-active .select2-results')
.findByXpath('.//li[div[text()="Alaska"]]')
.click()
.end(2)

上面的代码找到Select2并点击它,然后找到下拉结果节点。将结果节点作为当前引用,它使用 XPath 表达式查找包含带有文本 "Alaska" 的 divli,然后单击 li。单击后的 end(2) 处理 findByXpathfindByCssSelector 调用。