2015-03-13 42 views
0

我使用Netbeans中的Selenium Webdriver編碼了一些自動化測試。我有一個非常簡單的測試,並且正在實現頁面對象。我的麻煩就在這裏:如何使用log4j從頁面對象模型中使用getText進行打印?

  • 以前有這樣的代碼:

    //Click the Timing Parts subcategory 
    WebElement PartSubcategory = driver.findElement(By.xpath("//label[contains(.,'Timing Parts & Camshafts')]")); 
    PartSubcategory.click(); 
    logger.info("Found subcategory: "+PartSubcategory.getText()); 
    
  • 而且,實現頁面的對象模型後,它看起來像這樣。

Page對象:

public class findPartSubcategory { 
    private static WebElement element = null; 

    //Click the Timing Parts subcategory 
    public static WebElement PartSubcategory(WebDriver driver) 
      { 
     element = driver.findElement(By.xpath("//label[contains(.,'Timing Parts & Camshafts')]")); 
     return element; 
      }   
    } 

測試代碼:

//Click the Timing Parts subcategory 
    findPartSubcategory.PartSubcategory(driver).click(); 
    logger.info("Found subcategory: "+findPartCategory.getText()); 

所以,編譯錯誤是gettext的(),「找不到符號法的getText() 」。我猜測這是因爲我沒有打印出一個正確聲明的變量,而是一個頁面對象類。

那麼我如何才能打印它找到的頁面對象?是的,我正在使用log4j版本。 1

謝謝!

+0

更新:固定標題。 – zuri 2015-03-13 16:00:29

回答

0

您有編譯錯誤。試圖引用不存在的findPartCategory.PartCategory

變化

findPartCategory.PartCategory(driver).click(); 

findPartCategory.PartSubcategory(driver).click(); 

你也試圖撥打getText()findPartSubcategory類,我以爲你要調用的WebElement。

WebElement element = findPartSubcategory.PartSubcategory(driver); 
 
element.click(); 
 
logger.info("Found subcategory: "+ element.getText());

這應該實現相同的功能您的舊代碼。

相關問題