SeleniumWeb自动化测试指南JavaWord格式文档下载.docx
《SeleniumWeb自动化测试指南JavaWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《SeleniumWeb自动化测试指南JavaWord格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
修订类型
修订摘要
编撰人
评审人
01
2017-03-08
1.0.0
目录
1Selenium介绍4
2Java环境的搭建5
2.1安装JDK5
2.2配置环境变量6
3SeleniumIDE10
3.1SeleniumIDE安装10
3.2SeleniumIDE使用11
3.3基本步骤12
4第一个Selenium脚本13
4.1配置Seleniumjava工程13
4.2开始第一个Seleniumjava测试脚本14
4.3基本步骤16
5元素的定位以及操作17
5.1元素的定位17
5.2元素的操作-18-
1Selenium介绍
Selenium1.0包含core、IDE、RC、grid四部分,selenium2.0则是在两位大牛偶遇相互沟通决定把面向对象结构化(OOPP)和便于编写代码的各自思想予以整合后形成的新工具,也就是我们所指的WebDriver。
Core是selenium的核心,在后期虽然被封装,但只是减少了可视性,它依旧是驱动selenium的核心;
IDE是一款firefox浏览器插件,主要用于新手或对编码还不熟悉的人员入门时使用,这个插件允许在firefox中录制一段web操作代码,导出后在eclipse中修改并运行,但测试人员在项目实际使用中不推荐使用这个插件,因为它只会降低测试人员的编码能力;
WebDriver是开展web页面测试的关键核心,也是目前主流测试工具之一。
Selenium可以结合Junit使用,既可以进行单元测试,也可以开展集成测试,既是代码测试工具,也是功能测试工具,下面我们就工具的使用一步一步的入门。
文档关键词:
SeleniumRC
Eclipse
JavaProject
MavenProject
HTML+CSS+JavaScript
TestNG
JUint
2Java环境的搭建
安装JDK
使用java来编写Selenium网页自动化测试程序,我们的计算机必须拥有java环境,这一小节来介绍JDK的下载安装以及环境变量配置,首先下载安装JDK安装包,安装过程中注意安装到其他盘,不要安装到C盘就好。
图1-1.更改默认安装路径至所需的物理位置,并记住这个位置
图1-2.同样正确配置jre路径后点击下一步
图1-3.运行cmd输入:
java–version验证jdk安装正确性
配置环境变量
为什么要配置系统环境变量:
配置path的系统环境变量,配置path的原因是让你可以在控制台编译、运行你的java程序而不必进入到java程序目录去运行,例如控制台命令:
java-version,要执行此命令,控制台会先在当前目录找java.exe程序,找不到会去path变量中指定的路径去找此命令,如果没有找到就不会执行,java.exe是在java程序目录中的bin目录下,所以path才会配到java程序的bin目录;
path可以说主要是为了方便,让你无论在哪个目录下都可以直接使用javac等命令,否则就只有到bin目录下执行javac和java命令了……另外我们可以在运行里直接打命令notepad打开一个记事本程序就也是path变量的作用,如果你把path变量删掉,这个notepad命令也就不起用了,原来可以在运行里运行的命令也都无效了:
配置classpath的系统环境变量,classpath变量通常是新建的变量。
在编译、运行java程序时会在它指定的目录下去找你所要用到的class,也是先在本目录下找,然后在指定目录下找,都找不到就会报错了;
classpath是为了方便使用java类库,如果以后用到第三方类库的话,你就有2中选择,可以也为他们配calsspath,或者把它们直接复制到你自己的class所在目录下:
图4.配置JAVA_HOME的系统环境变量
打开我的电脑--属性--高级--环境变量:
变量名:
JAVA_HOME
变量值:
C:
\ProgramFiles\Java\jdk1.7.0
CLASSPATH
.;
%JAVA_HOME%\lib\dt.jar;
%JAVA_HOME%\lib\tools.jar;
Path
%JAVA_HOME%\bin;
%JAVA_HOME%\jre\bin;
图1-4:
JAVA_HOME变量设置
path的系统环境变量
classpath的系统环境变量
3SeleniumIDE
SeleniumIDE安装
SeleniumIDE是firefox插件,它具有录制测试脚本,回放测试脚本,转化脚本语言的功能。
可以用它录制用户操作并转换成所需要的编码(java/python/...),虽然方便,但不建议使用。
对测试人员的编码能力和脚本case可执行都有影响。
测试过程录制脚本本身的问题也难定位。
安装SeleniumIDE将selenium-ide-2.0.0.xpi插件直接拖入firefox浏览器,出现如图2-1弹框,点击立即安装即可,检查是否安装成功,如图2-2查看浏览器工具栏中出现“seleniumIDE”即表示安装成功:
图2-1:
SeleniumIDE安装
图2-2:
查看SeleniumIDE
SeleniumIDE使用
点击打开,即出现如图右边的脚本录制弹框。
打开录制>
开始进行操作>
停止录制。
如图,我们可以通过调节速度来回放刚刚录制的脚本,录制脚本列表内记录刚刚操作步骤,可以自己在里面添加操作或删除录制脚本(更多工能可以探索,不做详细介绍)。
图2-3:
启动SeleniumIDE
基本步骤
SeleniumIDE安装使用步骤
步骤一:
Selenium官网下载Firefox插件SeleniumIDE.xpi
步骤二:
插件拖入Firefox开始安装
步骤四:
Firefox工具栏打开seleniumIDE进行脚本录制
步骤五:
录制脚本的回放与调试
步骤六:
以指定语言保存录制脚本
4第一个Selenium脚本
配置Seleniumjava工程
新建一个java空工程,然后将我们下载好的selenium编程需要的java包拷贝至工程下面,右键单击selenium-server-standalone.jar>
点击Buildpath>
点击addtoBuildpath添加进工程
图3-1:
图3-2:
新建java包,有点new>
package
开始第一个Seleniumjava测试脚本
简单的打开指定网址和一个元素的查找以及操作源代码:
package包名;
importorg.openqa.selenium.By;
importorg.openqa.selenium.WebDriver;
importorg.openqa.selenium.firefox.FirefoxDriver;
publicclassMain{
publicstaticWebDriverdriver;
publicstaticvoidmain(String[]args)
{
System.out.print("
开始web自动化!
!
"
);
driver=newFirefoxDriver();
//System.setProperty("
webdriver.chrome.driver"
"
chromedriver.exe路径"
driver.get("
driver.findElement(By.linkText("
登录"
)).click();
}
}
使用该源代码,粘贴至工程新建的test类下面,右键单击RunAs>
JavaApplication运行该自动化脚本,我们可以在脚本中添加打印,便于调试定位脚本错误。
第一个测试脚本运行结果(运行结果会在登录页面)
建立Selenium自动化脚本的步骤:
建立java工程
向建立好的java工程添加Selenium-server-standalone.jar包
建立浏览器驱动对象WebDriverdriver=newFirefoxDriver();
打开WEB页面driver.get("
页面元素的操作driver.findElement(By.linkText("
补充:
Chrome和IE浏览器需要在第四步后设置浏览器驱动路径system.setProperty(key,args);
5元素的定位以及操作
元素的定位
Selenium自动化,我们需要做的最基本的事情就是在页面找到元素并通过脚本程序去操作这个元素,实现模拟人工操作。
我们有多种定位元素的方式可以选择:
通过元素的ID定位元素:
findElement(By.id(element));
通过元素的名称定位元素:
findElement(By.name(element));
通过元素的html中的位置定位元素:
findElement(By.xpath(element));
通过元素的标签名称定位元素:
findElement(By.tagName(element));
通过元素的链接名称定位元素:
findElement(By.linkText(element));
通过元素的类名定位元素:
findElement(By.className(element));
通过元素的css定位元素:
findElement(By.cssSelector(element));
通过元素的部分链接名称定位元素:
findElement(By.partialLinkText(element));
元素的操作
不同的元素我们进行不同的操作,按钮的点击、输入框的字符输入、或者是元素的内容获取,不同的元素我们操作的方式不一。
对ID为element的元素进行点击操作:
driver.findElement(By.id(element)).click();
对ID为element的元素进行发送字符操作:
driver.findElement(By.id(element)).sendKeys(“XXXXXX”);
这里只举用的最多且最简单的的两例元素的操作,其实我们还有许多的操作,可以去慢慢的探索脚本的实现方式,比如页面title的获取、浏览器标签的切换等等