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

 Selenium提供了一个强大的用于真实的模拟用户交互的一个类----Actions,这个类提共了一系列的API供模拟交互:
  keyDown : 用于模拟按键被按下
  keyUp : 用于模拟按键松开
  doubleClick : 用于模拟双击
  clickAndHold : 用于模拟鼠标左键点住不放开
  release : 用于模拟松开鼠标,与clickAndHold相配合
  moveToElement : 将鼠标移动至元素的中间位置
  contextClick : 模拟鼠标右键点击
  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();
}
}

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-17 03:50:36

Selenium2.0功能测试之如何使用Action类来模拟交互的相关文章

Selenium2.0功能测试之Web元素的定位

页面元素的定位可以说是WebDriver中最核心的内容了,我们定位元素的目的主要有:操作元素,获取该元素的属性,获取元素的text以及获取元素的数量,WebDriver 为我们提供了以下几种方法来帮我们定位web元素: 通过元素的id获取 通过元素的name获取 通过元素的tag name 获取 通过css xpath 获取 通过xpath 获取 通过class name  获取 通过一部分的link text 获取元素 通过全部的link text 获取元素 唯一元素的定位: package

Selenium2.0功能测试之Close browser

关闭浏览器是每条Case执行完成或者测试进行结束必要的操作,Selenium提供了两种关闭浏览器的方法: driver.close() ; 作用为关闭当前的浏览器窗口. driver.quit(); 作用为不仅关闭了当前的浏览器窗口还彻底的退出WedDriver,释放了Driver与Server之间的链接.一句话总结就是:quit是更加彻底的close,quit会更好的释放资源.所以quit方法比较适合我这种强迫症患者,那么到底用哪种方式关闭浏览器就以你自己的病症而异了. package org

Selenium2.0功能测试之WebDriver执行JS方法

如果你是一个JS高手的话可以在WebDriver 中直接执行JS代码来提升效率,一般用到执行js的场景主要分一下两种: 在页面加载的时候执行JS 在某个已经定位了的元素上执行js Demos: package org.coderinfo.demo; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import or

Selenium2.0功能测试之你所不知道的sendKeys

其实光看字面上的理解sendKeys这个api感觉只有输入字符这一个功能,其实这样理解是错误的其实这个api的真正作用是模拟键盘的操作(包含了输入字符),不过输入字符是其主要的功能,下面介绍一下其他的用法: 这里就直接上代码了 package org.coderinfo.demo; import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import

Selenium2.0功能测试之设置浏览器大小

设置浏览器的大小有什么用处呢? 我想是这样的,当我们需要在测试中使用一些第三方的图像或者基于坐标的辅助工具时,就需要我们的浏览器在每次测试的时候处于同一个分辨率的状态,这样在同一个分辨率的情况下进行图片比对以及坐标的点击操作. 举一个例子:如果用Selenium操作带有Flash插件的页面,就需要借助第三方的Sikuli工具进行图形化的比对操作(具体怎么操作以后有机会在说吧,内容有点复杂),这样为了保证分辨率一致最大化浏览器肯定就是最简单省力的方案了: 最大化浏览器: package org.c

Selenium2.0功能测试之唯一元素的定位

页面元素的定位可以说是WebDriver中最核心的内容了,我们定位一个元素的目的主要有:操作元素,获取该元素的属性,获取元素的text以及获取元素的数量,WebDriver 为我们提供了以下几种方法来帮我们定位一个web元素: 通过元素的id获取 通过元素的name获取 通过元素的tag name 获取 通过css xpath 获取 通过xpath 获取 通过class name  获取 通过一部分的link text 获取元素 通过全部的link text 获取元素 package org.c

Selenium2.0功能测试之文件上传(Java版)

对于上传文件的用例,首先需要找到上传文件的对象,然后直接往这个对象sendKeys,传入需要上传文件的正确路径,绝对路径和相对路径都可以的,但是上传的文件必须存在,否则会报错.下面直接看例子吧: package org.coderinfo.demo; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; /** * @

Selenium2.0功能测试之Web元素的操作

我们定位到元素之后80%的目的都是要操作这个 web元素,所以Web元素的操作也是非常重要的,这里介绍WebDriver几种主要的操作方法: click :点击当前的元素 sendKeys :在当前的web元素上模拟键盘的操作 clear : 清除当前元素的内容,前提是当前元素可以接收内容的话 下面直接上代码了: package org.coderinfo.demo; import org.openqa.selenium.By; import org.openqa.selenium.WebDri

Selenium2.0功能测试之访问站点及获取页面信息

Selenium为访问站点提供了两种方式: driver.get("URL");   #个人推荐这种方式,因为能少写一个字符是一个字符啊. driver.navigate().to("URL"); 页面的Title主要用于case的验证,当然了也有一位大神教育我说case不够title来凑,这个作用显著啊! 页面的URL也主要是用于case的验证,URL的一个重要的测试领域就是对于重定向的测试(很多地址当你访问后会自动的跳转到其他的地址,这时URL 验证的机会就来了