我正在尝试测试我在 NightwatchJS 中创建的命令,但我不断收到与选择器相关的错误。错误是“预期为‘可见’但得到:‘未找到’”。这似乎与第二个选择器的 xPath 不正确有关。
选择器函数利用 xPath 并使用 Nightwatch 方法测试元素.waitForElementVisible
. 我在我正在使用的命令之外创建了一个通用命令(基本上只是一个选择器),它使用文件名作为参数成功选择了元素。问题是第二个选择器(shoeboxDropdown),它采用第一个选择器(shoeboxSelectButton)并添加了一个/div。shoeboxDropdown 选择器必须与 shoeboxSelectButton 相关。我想要做的是选择按钮,然后单击该按钮的下拉菜单。如果您查看 xPaths,您可能会看到我的 delim。
鞋盒选择按钮:
"//*[@id=\"sidebar-plugins\"]/div[1]/div[3]/div/div/div[2]/div[1]/ul/li/div[span/text()='" + filename + "']"
鞋盒下拉:
//*[@id="sidebar-plugins"]/div[1]/div[3]/div/div/div[2]/div[1]/ul/li/div[2]
它们都位于同一个列表项li
下,但位于不同的列表项下divs
。文件名的文本位于 中div[1]
,而下拉菜单位于div[2]
. 如何使用第一个选择器通过 xPath 获得第二个选择器?
shoeboxSelectButton = require "../Common/shoeboxSelectButton"
exports.command = (filename) ->
mappx = @page.mappx()
shoeboxDropdown = () ->
shoeboxSelectButton(filename) + "/div"