2017-02-12 61 views
0

我有類別頁面,其中有遊戲類別列表,我需要打開每個類別,並驗證此類別的頁面標題是與在類別列表中相同,然後對每個類別做相同的。 測試場景應該是像這樣:如何在元素列表中循環,需要打開每個元素頁面並將元素標題與頁面標題進行比較?使用硒java

  1. 打開類別頁面
  2. 列出所有類別
  3. 爲每個類別獲得類別文本,然後點擊類別
  4. 獲得開業分類頁面的標題
  5. 比較頁面TI與分類文本
  6. 導航TLE回分類頁
  7. 所有類別

這裏重複的代碼,它通過爲第1類,但是從第2失敗,給陳舊的元素例外,因爲它需要申報的類別列表再次

我該如何繼續在列表上循環而不必每次聲明它?

Categories.PageFrmBanner(By.xpath(testData.getParam("CategBannerLocator"))); 
      List<WebElement> CategoriesList = Categories.ElementsList(By.xpath(testData.getParam("CategoriesListLocator")), testData.getParam("TagName")); 
      for(WebElement Element : CategoriesList) 
      { 
       String ElementText = Element.getText().toLowerCase(); 
       Element.click(); 
       Categories.WaitForElementVisibilty(By.xpath(testData.getParam("CategoryPageTitleLocator"))); 
       String CategoryText = driver.findElement(By.xpath(testData.getParam("CategoryPageTitleLocator"))).getText().toLowerCase(); 
       Categories.compareObjectValue(testCase, "", ElementText, CategoryText); 
       log.info(ElementText + "Opened successfully"); 
       driver.navigate().back(); 
      } 

這裏找到分類頁作參考, Categories Page

回答

0

每次重新加載頁面或您導航到另一個頁面發現的對象將丟失導致陳舊的元素。

更好的方法是將文本和鏈接保存在一個數組中,併爲每個鏈接訪問頁面並檢查標題,在這種情況下,您使用的是文本而不是對象。

相關問題