繁体   English   中英

如何使用带有log4j的页面对象模型中的getText进行打印?

[英]How do I print using getText from a page object model with log4j?

我正在使用Netbeans中的Selenium Webdriver编写一些自动化测试。 我有一个非常简单的测试,并且正在实现页面对象。 我的麻烦在这里:

  • 以前有以下代码:

     //Click the Timing Parts subcategory WebElement PartSubcategory = driver.findElement(By.xpath("//label[contains(.,'Timing Parts & Camshafts')]")); PartSubcategory.click(); logger.info("Found subcategory: "+PartSubcategory.getText()); 
  • 并且,在实现页面对象模型之后,它看起来像这样。

页面对象:

    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 ver。 1个

谢谢!

您有编译错误。 尝试引用不存在的findPartCategory.PartCategory

更改

findPartCategory.PartCategory(driver).click();

findPartCategory.PartSubcategory(driver).click();

您还尝试在findPartSubcategory类上调用getText() ,我假设您想在WebElement上调用它。

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

那应该实现与旧代码相同的功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM