Selenium2.0功能测试之怎么使用Action类来模拟交互(Java版)

Selenium2.0功能测试之如何使用Action类来模拟交互(Java版)

Selenium提供了一个强大的用于真实的模拟用户交互的一个类----Actions,这个类提共了一系列的API供模拟交互:

  1. keyDown : 用于模拟按键被按下
  2. keyUp : 用于模拟按键松开
  3. doubleClick : 用于模拟双击
  4. clickAndHold : 用于模拟鼠标左键点住不放开
  5. release : 用于模拟松开鼠标,与clickAndHold相配合
  6. moveToElement : 将鼠标移动至元素的中间位置
  7. contextClick : 模拟鼠标右键点击
  8. dragAndDrop : 拖拽
这里由于测试页面的限制我就只举一个contextClick的例子:

package org.coderinfo.demo;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;

public class ActionDemo {

	private static final String URL = "http://www.baidu.com";
	
	/**
	 * @author Coderinfo
	 * @E-mail coderinfo@163.com
	 */
	public static void main(String[] args) throws InterruptedException {
		WebDriver driver = new ChromeDriver();
		driver.manage().window().maximize(); //最大化浏览器界面
		
		driver.get(URL); //访问度娘首页。
		Thread.sleep(2000); //等待页面加载
		
		WebElement input = driver.findElement(By.id("kw"));  //获取百度搜索框
		
		Actions ac = new Actions(driver);  // 为driver 加载 actions 
		ac.contextClick(input).perform();  // 在百度搜索框上点击右键
		
		
		
		Thread.sleep(10000);
		
		driver.quit();
	}
}