《软件自动化测试开发》《自动化平台测试开发》作者,公众号"测试开发社区" ,博客www.autotestplat.com 。

Selenium的Web自动化测试

上一篇 / 下一篇  2020-12-13 07:59:21

Selenium自动化测试准备

1Selenium介绍

Selenium是一个Web开源自动化测试框架,页面级操作,模拟用户真实操作,API从系统层面触发事件。

Selenium 1.0 

Sever/Client工作方式,可在localremote机器上运行基于js注入的case底层。

为什么一定要用代理服务器的模式?答案是同源策略,它是由Netscape 提出的一个著名的安全策略,现在所有可支持Javascript 浏览器都在使用这个策略。

Selenium 2.0

Selenium 2.0基于Selenium 1.0(即Javascript )并结合其WebDriver来模拟用户的真实操作。WebDriver原生绑定到浏览器,绕过浏览器安全模型。它有很好的处理Ajax的能力,并且支持多种浏览器(如SafariIEFirefoxChrome等),可以运行在多种操作系统上面。目前,大家几乎都在使用Selenium 2.0

2.基于Java开发

1Selenium IDE录制用例,回放,导出Java代码。

2)多种方式定位并控制页面元素: 

Web元素定位  

id name linktext xpath tag css 

异常处理

3)自动化测试用例封装和设计原则参考如图8.1所示。

图片

      8.1

安装JDK,配置JDK环境变量。

安装Eclipes

3.运行时注意驱动与浏览器的版本

默认为火狐(Firefox)驱动,如chromedriver.exeIEDriverServer.exe

注意,版本需要兼容JDK 1.7以及IE 8IE 10IE 11及以上需要更新驱动才能支持,请大家自行研究更新版本驱动或采用旧版本浏览器。

4.环境搭建的简要步骤

1)安装JDK,配置JDK环境变量。

2)安装Eclipes  

3)安装火狐SeleniumIDE谷歌ChromedriveIE driver

4)加入jxllog4jSelenium包。

5)加入JUnit包,创建JUnit测试类。 

6)加入TestNG包,创建TestNG测试类 TestNG.xml

7)安装Ant,配置Ant环境变量 build.xml

8)安装JenkinsTomcat,配置Tomcat环境变量。

9)节点Slave的配置及连接。

10)启动节点自动化测试。

8.2  Selenium自动化源码解析

登录demo的工程文件路径:https://pan.baidu.com/s/1i4UwtkL

密码:3xfb

(基于Java语言和Selenium自动化框架工具开发)

图片

3  持续集成到Jenkins

将源代码结合TestNG Ant,持续集成到Jenkins。下面是build.xml文件的内容。

程序清单8-10 Java代码

<project name="shopping" basedir="."default="run_tests">   <!-- 默认调用run_tests任务 -->

         <propertyname="src" value="src" />

         <propertyname="dest" value="classes" />

         <propertyname="lib.dir" value="${basedir}/lib" />

         <propertyname="output.dir" value="${basedir}/test-output"/>   <!-- 设置报告输出的路径 -->

 

         <pathid="compile.path">                                        <!--编译路径设置 -->

                   <filesetdir="${lib.dir}/">

                            <includename="*.jar" />

                   </fileset>

                   <pathelementlocation="${src}" />

                   <pathelementlocation="${dest}" />

         </path>

 

         <targetname="init">                                           <!-- 初始化设置 -->

                   <mkdirdir="${dest}" />

         </target>

 

         <targetname="compile" depends="init">                           <!-- 编译和初始化 -->

                   <echo>compiletests</echo>

                   <javacsrcdir="${src}" destdir="${dest}" encoding="UTF-8"

                            classpathref="compile.path" />

         </target>

         <taskdefresource="testngtasks"classpath="${lib.dir}/testng.jar"/>   <!-- testng.jar目录和文件 -->

 

         <targetname="run_tests" depends="compile">                           <!-- 开始测试 -->

                   <echo>runningtests</echo>

                   <testngclasspathref="compile.path"outputdir="${output.dir}"

                            haltonfailure="no"

         failureproperty="failed"

TAG:

 

评分:0

我来说两句

finer

finer

《软件自动化测试开发》《自动化平台测试开发》作者,公众号"测试开发社区" ,博客www.autotestplat.com 。

日历

« 2024-04-26  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 34101
  • 日志数: 100
  • 图片数: 2
  • 建立时间: 2019-11-29
  • 更新时间: 2022-01-12

RSS订阅

Open Toolbar