在實際測試項目中,咱們常常要進行操做後要對頁面文本元素進行比對來驗證測試結果。下面我是寫了一個公共方法,測試項目中要進行文本比對的地方都調用該方法。css
具體實現步驟以下:java
第一步:在基礎類BaseTest中,寫一個「頁面刷新後文本比對」方法witeForPageRefeshByText()。app
代碼以下: ide
public void witeForPageRefeshByText(WebDriver driver, final String cssSelector, final String text, final boolean exist) { // int index = exist == true ? 0 : -1; WebElement lasttr = (new WebDriverWait(driver, 40)) .until(new ExpectedCondition<WebElement>() { @Override public WebElement apply(WebDriver d) { WebElement tbody = driver.findElement(By .cssSelector(cssSelector)); if (exist == true) { if (tbody.getText().indexOf(text) > 0) { return tbody; } else { return null; } } else { if (tbody.getText().indexOf(text) == -1) { return tbody; } else { return null; } } } }); }
第二步:在測試case中,繼承BaseTest基礎類(extends BaseTest)。在要作結果比對的地方調用「頁面刷新後文本比對」方法witeForPageRefeshByText()。測試
2.1新增菜單後,刷新頁面,比對結果,代碼以下:code
//新增菜單操做後,刷新頁面,比對結果 witeForPageRefeshByText(driver, "#data_table > tbody", code,true);
2.2刪除菜單記錄後,刷新頁面,比對結果,代碼以下:繼承
//刪除後刷新數據列表界面,比較名稱是否存在 witeForPageRefeshByText(driver, "#data_table > tbody", code, false);