【问题标题】:Selenium: How to use different locators for an element using POM/PageFactory [duplicate]Selenium:如何使用 POM/PageFactory 为元素使用不同的定位器 [重复]
【发布时间】:2019-10-22 07:12:56
【问题描述】:
考虑针对不同版本产品的元素更改的定位器。我们需要测试产品的两个版本。
在这种情况下,我想使用 -
- 多个定位器来定位这个单一元素。 (比如两个不同的 xpath 或一个 xpath 和一个 id)
- 对版本 1 使用 locator1,对版本 2 使用 locator2。
你能建议什么是好的设计来实现这个吗?这可以与PageFactory 一起实现吗?
我正在寻找可以提供两种不同类型定位器的地方。例如xpath 和 id。我还应该考虑使用对象存储库和 POM 来运行两个不同产品版本的测试吗?
【问题讨论】:
标签:
selenium
page-factory
【解决方案1】:
是的,可以为不同的版本实现 PageFactory。
我们通常在类中都有一个构建标签,比如 build_tag = "ver1" 或 "ver2",你可以把你不同的定位器放在不同的 UI Map 下,根据版本标签调用。
【解决方案2】:
还有一个选项可以在 XPATH 中使用 OR AND 条件在同一个定位器上添加多个条件。
更多详情请访问W3 和example