首页 > 解决方案 > 如何使用 QAF 查找元素

问题描述

new QAFExtendedWebElement()只能找到一个元素,如果我想直接找到像使用硒这样的元素,例如。driver.findElementsByXPath,我应该使用哪种方法,请举个例子。

标签: javaseleniumselenium-webdrivertestngqaf

解决方案


您可以通过使用驱动程序对象来实现它。在用于测试用例的 Java 类中,您可以WebDriverTestCase使用方法扩展和获取驱动程序对象getDriver()。它将返回QAFExtendedWebDriver 如果你这是示例:

public class SampleTestSuite extends WebDriverTestCase {
    @Test
    public void test1() {
        getDriver().get("/");
        List<QAFWebElement> eles = getDriver().findElements(locator);
        //List<QAFWebElement> eles = getDriver().findElements(By.name("q"));
    }
}

有关如何提供定位符字符串的更多帮助,请参阅定位元素。

在页面类中,您可以有@FindBy注释:

public class HomePage extends WebDriverBaseTestPage<WebDriverTestPage>{
    @FindBy(locator = "locator")
    private List<QAFWebElement> eles;
}

您可以在组件类中使用相同的方式@FindBy. 在其他任何地方,您都可以获得驱动程序对象,如下所示:

QAFExtendedWebDriver driver = new WebDriverTestBase().getDriver();

推荐阅读