1、修订类型修订摘要编撰人评审人012017-03-081.0.0目录1 Selenium 介绍 42 Java环境的搭建 52.1 安装 JDK 52.2 配置环境变量 63 Selenium IDE 103.1 Selenium IDE安装 103.2 Selenium IDE使用 113.3 基本步骤 124 第一个Selenium脚本 134.1 配置Selenium java工程 134.2 开始第一个Selenium java测试脚本 144.3 基本步骤 165 元素的定位以及操作 175.1 元素的定位 175.2 元素的操作 - 18 -1 Selenium 介绍Selenium
2、 1.0 包含 core、 IDE、 RC、 grid 四部分, selenium 2.0 则是在两位大牛偶遇相互沟通决定把面向对象结构化( OOPP) 和便于编写代码的各自思想予以整合后形成的新工具,也就是我们所指的 Web Driver。Core 是 selenium 的核心,在后期虽然被封装,但只是减少了可视性,它依旧是驱动selenium 的核心; IDE 是一款 firefox 浏览器插件,主要用于新手或对编码还不熟悉的人员入门时使用, 这个插件允许在 firefox 中录制一段 web 操作代码,导出后在eclipse 中修改并运行, 但测试人员在项目实际使用中不推荐使用这个插件,
3、因为它只会降低测试人员的编码能力; Web Driver 是开展 web 页面测试的关键核心,也是目前主流测试工具之一。Selenium 可以结合 Junit 使用,既可以进行单元测试,也可以开展集成测试,既是代码测试工具,也是功能测试工具,下面我们就工具的使用一步一步的入门。文档关键词:Selenium RCEclipseJava ProjectMaven ProjectHTML+CSS+JavaScriptTestNGJUint2 Java环境的搭建安装 JDK使用java来编写Selenium 网页自动化测试程序,我们的计算机必须拥有java环境,这一小节来介绍JDK的下载安装以及环境变
4、量配置,首先下载安装JDK安装包,安装过程中注意安装到其他盘,不要安装到C盘就好。图1-1.更改默认安装路径至所需的物理位置,并记住这个位置图1-2.同样正确配置 jre 路径后点击下一步图1-3.运行cmd输入: java version 验证 jdk 安装正确性配置环境变量为什么要配置系统环境变量:配置 path 的系统环境变量,配置path的原因是让你可以在控制台编译、运行你的java程序而不必进入到java程序目录去运行,例如控制台命令:java -version,要执行此命令,控制台会先在当前目录找java.exe程序,找不到会去path变量中指定的路径去找此命令,如果没有找到就不会
5、执行,java.exe是在java程序目录中的bin目录下,所以path才会配到java程序的bin目录;path可以说主要是为了方便,让你无论在哪个目录下都可以直接使用javac等命令,否则就只有到bin目录下执行javac和java命令了另外我们可以在运行里直接打命令notepad打开一个记事本程序就也是path变量的作用,如果你把path变量删掉,这个notepad命令也就不起用了,原来可以在运行里运行的命令也都无效了:配置 classpath 的系统环境变量,classpath变量通常是新建的变量。在编译、运行java程序时会在它指定的目录下去找你所要用到的class,也是先在本目录下
6、找,然后在指定目录下找,都找不到就会报错了;classpath是为了方便使用java类库,如果以后用到第三方类库的话,你就有2中选择,可以也为他们配calsspath,或者把它们直接复制到你自己的class所在目录下:图4.配置 JAVA_HOME 的系统环境变量打开我的电脑-属性-高级-环境变量 :变量名:JAVA_HOME 变量值:C:Program FilesJavajdk1.7.0CLASSPATH.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;Path%JAVA_HOME%bin;%JAVA_HOME%jrebin;图1-4:JAVA_H
7、OME变量设置path 的系统环境变量classpath 的系统环境变量3 Selenium IDESelenium IDE安装Selenium IDE是firefox插件,它具有录制测试脚本,回放测试脚本,转化脚本语言的功能。可以用它录制用户操作并转换成所需要的编码(java/python/.),虽然方便,但不建议使用。对测试人员的编码能力和脚本case可执行都有影响。测试过程录制脚本本身的问题也难定位。安装Selenium IDE将selenium-ide-2.0.0.xpi插件直接拖入firefox浏览器,出现如图2-1弹框,点击立即安装即可,检查是否安装成功,如图2-2查看浏览器工具栏
8、中出现“selenium IDE”即表示安装成功:图2-1:SeleniumIDE安装图2-2:查看SeleniumIDESelenium IDE使用点击打开,即出现如图右边的脚本录制弹框。打开录制开始进行操作停止录制。如图,我们可以通过调节速度来回放刚刚录制的脚本,录制脚本列表内记录刚刚操作步骤,可以自己在里面添加操作或删除录制脚本(更多工能可以探索,不做详细介绍)。图2-3:启动SeleniumIDE基本步骤SeleniumIDE安装使用步骤步骤一: Selenium官网下载Firefox插件SeleniumIDE.xpi步骤二: 插件拖入Firefox开始安装步骤四: Firefox工具
9、栏打开seleniumIDE进行脚本录制步骤五: 录制脚本的回放与调试步骤六: 以指定语言保存录制脚本4 第一个Selenium脚本配置Selenium java工程新建一个java空工程,然后将我们下载好的selenium编程需要的java包拷贝至工程下面,右键单击selenium-server-standalone.jar点击Build path点击add to Build path添加进工程图3-1:图3-2:新建java包,有点newpackage开始第一个Selenium java测试脚本简单的打开指定网址和一个元素的查找以及操作源代码:package包名;import org.op
10、enqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;publicclass Main publicstatic WebDriver driver; publicstaticvoid main(String args) System.out.print(开始web自动化!); driver =new FirefoxDriver(); /System.setProperty(webdriver.chrome.driver,chromedriver
11、.exe路径 driver.get( driver.findElement(By.linkText(登录).click(); 使用该源代码,粘贴至工程新建的test类下面,右键单击Run AsJava Application运行该自动化脚本,我们可以在脚本中添加打印,便于调试定位脚本错误。第一个测试脚本运行结果(运行结果会在登录页面)建立Selenium 自动化脚本的步骤: 建立java工程 向建立好的java工程添加Selenium-server-standalone.jar包 建立浏览器驱动对象WebDriver driver =new FirefoxDriver(); 打开WEB页面dr
12、iver.get( 页面元素的操作driver.findElement(By.linkText(补充:Chrome和IE浏览器需要在第四步后设置浏览器驱动路径system. setProperty(key,a rgs);5 元素的定位以及操作元素的定位Selenium自动化,我们需要做的最基本的事情就是在页面找到元素并通过脚本程序去操作这个元素,实现模拟人工操作。我们有多种定位元素的方式可以选择:通过元素的ID定位元素: findElement(By.id(element);通过元素的名称定位元素: findElement(By.name(element); 通过元素的html中的位置定位元素
13、: 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的获取、浏览器标签的切换等等
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1