【发布时间】:2016-09-23 21:42:00
【问题描述】:
我是 selenium 自动化的新手,我正在尝试弄清楚如何处理为不同浏览器显示不同 xpath 的元素的代码。
//xpath for IE
private readonly By ByPermIE = By.XPath("//*[@id='group-permissions']/div[1]/div[2]/span[2]");
//xpath for chrome
private readonly By ByPermChrome = By.XPath("//*[@id='group-permissions']/div[1]/div[1]/span[2]");
如果我在不同的浏览器上对这个元素执行一些操作,我该如何在测试用例中使用这些元素。我计划将其扩展到另外三个浏览器。那么,我应该在任何地方都使用 if else 条件吗?对于此类情况,是否有任何替代最佳做法?
【问题讨论】:
-
你能贴出HTML代码吗??
-
分享 HTML 可能有助于考虑任何其他做法。
-
解决方案还取决于您如何设计自动化框架,如果您在基类中定义了一个方法并在您的测试用例中调用该方法(继承概念),那么如果基于浏览器
-
这是一个很好的使用 CSS 选择器而不是 XPath 的用例。如果您向我们展示相关的 HTML,我们可能会推荐一个适用于任何浏览器的 CSS 选择器。
标签: selenium xpath selenium-webdriver automation webdriver