需要导入action类,并且action类仅支持xpath的元素定位,对于cssSelector不支持。这个是本人调试过的经验之谈。
在自动化测试过程中,由于javascript的使用,我们常常需要点击一些鼠标经过显示的菜单等元素,这时需要触发该元素的鼠标经过事件。使用WebDriver有以下两种实现。
1.使用Action
- public void moveToElement(WebDriver driver, By locator) {
- Actions builder = new Actions(driver);
- builder.moveToElement(driver.findElement(locator)).perform();
- }
2.使用Sendkey
- public void moveToElement(WebDriver driver, By locator) {
- driver.findElement(locator).sendKeys(Keys.DOWN);
- }
说明:具体使用什么key,可以根据实际情况变化。例如左侧菜单可能是使用右箭头可以呼出子菜单。则应该使用Keys.RIGHT
Webdriver操作是很迅速的,假如一次moveTo你无法看到或者是无法进行操作,可以加上循环便可以达到效果。
@Test
public void BaiduTest() throws Exception {
BaiduLogin();
BaiduLogout();
}
public void BaiduLogout()
转自:http://www.366help.com/index.php?m=content&c=index&a=show&catid=14&id=686