请注意,这只是一种选择。
在防御性编程方面,我可以向您推荐一件事,我已经在其他几个使用 Selenium 的自动化框架中完成了这件事......
是包装driver.findElement
然后只接受 CSS 选择器、ID、Xpath,无论你想要什么。一个例子是这样的:
@Config(
url="http://wordpress.org",
browser = Browser.CHROME
)
public class GettingStarted extends AutomationTest {
@Test
public void testSeleniumHQ() {
navigateTo("http://docs.seleniumhq.org")
.click("a[title='Selenium Projects']")
.click(By.xpath("//div[contains(@class, 'bigMenu')]//p/a[@href='webdriver/']"))
.validateTextPresent("Selenium 1.0 + WebDriver = Selenium 2.0")
;
}
}
(使用Selenium 框架入门的此类摘录)
在这里,click
被重载以接受字符串(CSS 选择器)但也可以接受By
类。
如果您希望您的所有开发人员特别使用一件事,而不是接受 a By
,只需让它接受一个字符串,并且字符串必须是 CSS、ID 或 Xpath(无论您喜欢什么)。这会让它更干净一些,而且肯定更巩固。(您的测试人员将被迫使用 CSS 或您选择的任何内容)