實現功能:
- 通過輸入會員名字,驗證搜索框是否起作用
情景:
- 搜索框位於頁面頂部
- 搜索框下顯示已有的會員(默認每頁顯示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);
}
}