如何使用 QAF 查找元素
How to use QAF to find elements
new QAFExtendedWebElement()
只能找到一个元素,如果我想找元素直接用selenium,eg。 driver.findElementsByXPath
,应该用什么方法,请举例说明
您可以使用驱动程序对象来实现它。在 Java class 测试用例中,您可以扩展 WebDriverTestCase
并使用 getDriver()
方法获取驱动程序对象。它将 return 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"));
}
}
参考 locating elements 以获得更多有关如何提供定位器字符串的帮助。
在页面 class 你可以有 @FindBy
注释:
public class HomePage extends WebDriverBaseTestPage<WebDriverTestPage>{
@FindBy(locator = "locator")
private List<QAFWebElement> eles;
}
在 component class 中的方法相同,您可以使用 @FindBy
。在其他任何地方,您可以获得如下驱动程序对象:
QAFExtendedWebDriver driver = new WebDriverTestBase().getDriver();
new QAFExtendedWebElement()
只能找到一个元素,如果我想找元素直接用selenium,eg。 driver.findElementsByXPath
,应该用什么方法,请举例说明
您可以使用驱动程序对象来实现它。在 Java class 测试用例中,您可以扩展 WebDriverTestCase
并使用 getDriver()
方法获取驱动程序对象。它将 return 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"));
}
}
参考 locating elements 以获得更多有关如何提供定位器字符串的帮助。
在页面 class 你可以有 @FindBy
注释:
public class HomePage extends WebDriverBaseTestPage<WebDriverTestPage>{
@FindBy(locator = "locator")
private List<QAFWebElement> eles;
}
在 component class 中的方法相同,您可以使用 @FindBy
。在其他任何地方,您可以获得如下驱动程序对象:
QAFExtendedWebDriver driver = new WebDriverTestBase().getDriver();