簡體   English   中英

使用Selenium WebDriver處理多個表

[英]Handling multiple tables using selenium webdriver

我正在檢查網頁上的文件夾層次結構,具體取決於用戶的類型。 User1具有一組權限,使他能夠查看如下文件夾結構:

Main Folder
    - First Child
        -First Grandchild
        -Second Grandchild
    - Second Child
    - Third Child

樹的每個分支都是一個由1行組成的表。 但是列的數量根據世代的不同而不同。

“主文件夾”父級只有1列。 單元格內容是字符串“主文件夾”。

子分支有2列,第一個單元格包含空白,下一個單元格包含分支的名稱(“第一個子級”,“第二個子級”)。

孫子分支有3列,第一個和第二個單元格包含空白,第三個單元格包含分支的名稱(“第一個孫子”,“第二個孫子”)。

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是否無權訪問第二個孫代。 這意味着我需要確保網頁上不存在特定的表。

我如何檢查硒呢? 我在測試用例中使用JUnit。 我想做一個“斷言”以確保第二個孫子不存在。

您將要檢查該元素是否不存在或不可見。 在肯定的false中調用isElementVisible()應該可以解決問題。 只需獲取要檢查的元素的“按位置”即可。

private boolean isElementVisible(By by)
{
    try
    {
        return driver.findElement(by).isDisplayed();
    }
    catch(NoSuchElementException e)
    {
        return false;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM