我正在使用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
谢谢!
答案 0 :(得分: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());
这应该可以实现与旧代码相同的功能。