Selenium的Web自动化测试
更新时间:2022-08-02 09:12:24 作者:多测师 浏览:159
Selenium自动化测试准备
1.Selenium介绍
Selenium是一个Web开源自动化测试框架,页面级操作,模拟用户真实操作,API从系统层面触发事件。
Selenium 1.0
Sever/Client工作方式,可在local或remote机器上运行基于js注入的case底层。
为什么一定要用代理服务器的模式?答案是同源策略,它是由Netscape 提出的一个著名的安全策略,现在所有可支持Javascript 的浏览器都在使用这个策略。
Selenium 2.0
Selenium 2.0基于Selenium 1.0(即Javascript )并结合其WebDriver来模拟用户的真实操作。WebDriver原生绑定到浏览器,绕过浏览器安全模型。它有很好的处理Ajax的能力,并且支持多种浏览器(如 Safari、IE、Firefox、Chrome等),可以运行在多种操作系统上面。目前,大家几乎都在使用Selenium 2.0。
2.基于Java开发
(1)Selenium IDE录制用例,回放,导出Java代码。
(2)多种方式定位并控制页面元素:
—Web元素定位
—id name linktext xpath tag css
—异常处理
(3)自动化测试用例封装和设计原则
—安装JDK,配置JDK环境变量。
—安装Eclipes。
3.运行时注意驱动与浏览器的版本
默认为火狐(Firefox)驱动,如chromedriver.exe、IEDriverServer.exe。
注意,版本需要兼容JDK 1.7以及IE 8到IE 10,IE 11及以上需要更新驱动才能支持,请大家自行研究更新版本驱动或采用旧版本浏览器。
4.环境搭建的简要步骤
(1)安装JDK,配置JDK环境变量。
(2)安装Eclipes。
(3)安装火狐SeleniumIDE、谷歌Chromedrive和IE driver。
(4)加入jxl、log4j、Selenium包。
(5)加入JUnit包,创建JUnit测试类。
(6)加入TestNG包,创建TestNG测试类 TestNG.xml。
(7)安装Ant,配置Ant环境变量 build.xml。
(8)安装Jenkins、Tomcat,配置Tomcat环境变量。
(9)节点Slave的配置及连接。
(10)启动节点自动化测试。
持续集成到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"
以上内容为大家介绍了Selenium的Web自动化测试,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/