Selenium2測試—驗證搜索框功能是否正常

實現功能:

  • 通過輸入會員名字,驗證搜索框是否起作用

情景:

  • 搜索框位於頁面頂部
  • 搜索框下顯示已有的會員(默認每頁顯示10個會員)
  • 顯示會員的屬性分別爲:ID、Name、Card、Point、Channel···

解決思路:

步驟 功能
Step1 獲取第一個會員的Name和ID1
Step2 輸入框中輸入第一個會員的Name並點擊”搜索”按鈕
Step3 獲取搜索結果的第一個會員的ID2
Step4 比較ID1和ID2是否相等(相等則搜索正常,反之則存在問題)

遇到問題&解決方案

問題1:默認會員個數爲10,XPath基本相同,不能定位
解決方案:相同XPath下Selenium默認選擇第一個(即爲第一個會員)
問題2:無法獲取第一個會員的Name和ID

解決方案:**.getText()

Code Example

public void case001() throws Exception {
        // -----Prepare pre-data------
        // get the name of first member
        System.out.println("----Part1----(get the name of first member)");
        // get the ID of first member before search
        String ID1 = this.GetFirstMemberId("ID_BeforeSearch");

        // search the name of first member
        System.out.println("----Part2----(search the name of first member)");       
        this.searchFirstMemberName();

        // verify the Member ID is equal or not
        System.out.println("----Part3----(verify the Member ID is equal or not)");
        // get the ID of first member after search
        String ID2 = this.GetFirstMemberId("ID_AfterSearch");
        this.verify(ID1,ID2);
        }

    /** 
     * <b>Description</b>: Get First Member Name <br/>
     * <b>Author</b>: Elmo.Wang
     */
    public void GetFirstMemberName()throws Exception{
        // wait
        Thread.sleep(2000);
        memberManagementPage.GetFirstMemberName(driver);
        // get first member name
        String name = memberManagementPage.GetFirstMemberName(driver).getText();
        System.out.println("The First Member Name Is: " + name);
        // wait
        Thread.sleep(2000);     
    }

    /** 
     * <b>Description</b>: Search First Member Name <br/>
     * <b>Author</b>: Elmo.Wang
     */
    public void searchFirstMemberName()throws Exception{
        // input the name of first member name
        memberManagementPage.getSearchInputbox(driver).sendKeys(memberManagementPage.GetFirstMemberName(driver).getText());
        Thread.sleep(2000);
        // click "search" button
        memberManagementPage.getSearchbtn(driver).click();
        // wait
        Thread.sleep(2000);
    }

    /** 
     * <b>Description</b>: Get First Member Id <br/>
     * <b>Author</b>: Elmo.Wang
     */
    public String GetFirstMemberId(String str)throws Exception{
        Thread.sleep(2000);
        memberManagementPage.GetFirstMemberID(driver);
        // get first member Id
        String ID = memberManagementPage.GetFirstMemberID(driver).getText();
        System.out.println("The First Member Id Is: " + ID);
        return ID;
    }

    /** 
     * <b>Description</b>: Verify Member Id is equal or not <br/>
     * <b>Author</b>: Elmo.Wang
     */
    private void verify(String Id_BeforeSearch,String Id_AfterSearch)throws Exception {
        // wait
        Thread.sleep(2000);
        // compare MemberID after search
        if (Id_BeforeSearch.equals(Id_AfterSearch))
            System.out.println("Search Successful");        
        else {
            System.out.println("Search Failed");
            Assert.assertTrue(false);
        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章