0

我正在编写一个功能测试脚本来查找具有可以找到的子元素的父元素,如果找到后代,则返回父元素。例如:

<div class="contentPane">
    <h2>Heading 1</h2> 
    <p id="first">FIRST TEXT</p>
</div>
<div class="contentPane">
    <h2>Heading 2</h2>
    <p id="second">SECOND TEXT</p>
</div>
<div class="contentPane">
    <h2>Heading 2</h2>
    <p id="third"></p>
</div>

我想找到可以找到 id="second" 的段落的 contentPane。我找到父母的测试用例与此类似:

...
findAllCssSelector(".contentPane")
.then(function(array, setContext){
     //for every element i in array
    //I want to call its findByCssSelector(".second")
     //and check if it is found. If it is
    //I want to return the ith element in array
    // to the command. 
})
.findByTagName("h2")
.getVisibleText()
.then(function(text){
    assert.strictEqual(text, "Heading 2");
})
....
...

如何遍历每个数组元素并将数组元素返回到上下文堆栈?

4

1 回答 1

1

对于复杂的查询,Xpath 通常比手动搜索元素要高效得多。您可以使用以下内容进行查询:

.findByXpath('//div[@class="contentPane" and p[@id="second"]]')

这将找到第一个具有类“contentPane”的 DIV,其中包含一个 ID 为“second”的 P。

于 2015-08-28T11:49:31.297 回答