java - 如何使用 QAF 查找元素
问题描述
new QAFExtendedWebElement()
只能找到一个元素,如果我想直接找到像使用硒这样的元素,例如。driver.findElementsByXPath
,我应该使用哪种方法,请举个例子。
解决方案
您可以通过使用驱动程序对象来实现它。在用于测试用例的 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();
推荐阅读
- javascript - 发送请求时从 PayPal 按钮 API 获取 trxId
- python - 有没有办法将 gremlinpython Graph 转换为 networkx Graph
- python - 删除以数字开头的列
- javascript - 如何从渲染函数内部设置状态以做出反应
- python - Scrapy 使用 CrawlSpider 不起作用
- angular - Angular双列表框使特定条目只读
- postgresql - 杀死超过 4 小时的空闲连接
- xpath - Xpath - 在无序列表中排除一个分支
- mongodb - 添加组时Mongo聚合缓慢
- ethereum - 在broser中管理锯齿键的最佳方法?(类似于元掩码)