我创建了一个小硒试验,以便在它们被释放的确切时刻在各个地点购买一双鞋子,我希望我的测试能够在整个页面上翻新,直到鞋子可用,所以我不应该让电脑开始所有的测试。这可能吗?
提前致谢
这是我的代码:
<tr>
<td>open</td>
<td> LINK SHOE</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>css=div.opt-sel</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//div[@id='content']/div[3]/div[2]/div[2]/div/div[2]/div[2]/div/ul/li[6]/div/</td>
<td></td>
</tr>
</tbody></table>
</body>
</html>
答案 0 :(得分:1)
我们的想法是使用类似的代码:
// your first condition of opening a page of shoe
while("add to chart is not available") {
driver.refresh(); //this would keep on refreshing unconditionally unless your item is found
wait(2000); // would suggest adding some wait()
}
// once add to chart is available, it would come out of the loop
// execute further your 2nd and 3rd command
答案 1 :(得分:1)
有可能。您可以使用storeElementPresent
命令检测页面元素是否已存在,从而实现此目的。它返回布尔值(true / false),可以在gotoIf
命令的条件表达式中使用。见下面的例子......
命令:storeElementPresent
目标:<locator-for-shoes>
价值:shoes
命令:gotoIf
目标:${shoes}==false
价值:RefreshPage
命令:label
目标:RefreshPage
值:
命令:refreshAndWait
目标:
值:
命令:gotoIf
目标:${shoes}==false
价值:RefreshPage