我正在根据用户类型检查网页上的文件夹层次结构。 User1 拥有一组权限,使他能够查看如下所示的文件夹结构:
Main Folder
- First Child
-First Grandchild
-Second Grandchild
- Second Child
- Third Child
树的每个分支都是一个由 1 行组成的表。但列数因代而异。
“主文件夹”父级只有 1 列。单元格内容是字符串“主文件夹”。
子分支有 2 列,第一个单元格包含空格,下一个单元格包含分支名称(“First Child”、“Second Child”)。
孙子分支有 3 列,第一个和第二个单元格包含空格,第三个单元格包含分支名称(“First Grandchild”、“Second Grandchild”)。
HTML 代码:
<div id = 0>
<div id = 1>
<table id = 1>
<tbody>
<tr>
<td id="content1"
<a id="label1"
<span id="treeNode1"
Main Folder
</span>
</a>
</td>
</tr>
</tbody>
</table>
<div id = 2>
<table id = 2>
<tbody>
<tr>
<td>
<td id="content2"
<a id="label2"
<span id="treeNode2"
First Child
</span>
</a>
</td>
</td>
</tr>
</tbody>
</table>
<div id = 5>
<table id = 5>
<tbody>
<tr>
<td>
<td>
<td id="content5"
<a id="label5"
<span id="treeNode5"
First GrandChild
</span>
</a>
</td>
</td>
</td>
</tr>
</tbody>
</table>
</div>
<div id = 6>
<table id = 6>
<tbody>
<tr>
<td>
<td>
<td id="content6"
<a id="label6"
<span id="treeNode6"
Second GrandChild
</span>
</a>
</td>
</td>
</td>
</tr>
</tbody>
</table>
</div>
</div> /* End of division 2 */
<div id = 3>
<table id = 3>
<tbody>
<tr>
<td>
<td id="content3"
<a id="label3"
<span id="treeNode3"
Second Child
</span>
</a>
</td>
</td>
</tr>
</tbody>
</table>
</div>
<div id = 4>
<table id = 4>
<tbody>
<tr>
<td>
<td id="content4"
<a id="label4"
<span id="treeNode4"
Third Child
</span>
</a>
</td>
</td>
</tr>
</tbody>
</table>
</div>
</div> /*End of division 1 */
</div> /* End of division 0 */
User2 拥有一组不同的权限,这使他能够看到如下所示的文件夹结构:
Main Folder
- First Child
-First Grandchild
- Second Child
- Third Child
该用户的 html 代码中不存在相应的表。
我的测试用例是检查 User2 无权访问第二个孙子。这意味着我需要确保网页上不存在特定的表。
如何在 Selenium 中检查这一点?我正在将 JUnit 用于我的测试用例。我想做一个“断言”以确保第二个孙子不存在。
最佳答案
您需要检查该元素是否不存在或不可见。在断言 false 中调用 isElementVisible() 应该可以解决问题。只需获取要检查的元素的按定位器即可。
private boolean isElementVisible(By by)
{
try
{
return driver.findElement(by).isDisplayed();
}
catch(NoSuchElementException e)
{
return false;
}
}
关于java - 使用 selenium webdriver 处理多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31526427/