测试环境:Java+Selenium+TestNG,Jenkins持续集成。
测试代码
代码结构
采用页面对象模型(Page Object),减少UI修改后,对代码的影响。
Java编写,采用TestNG测试框架。
先说点概念的:
Selenium
Selenium是一套完整的Web应用程序测试系统,它包含了测试的录制(Selenium IDE)、编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。Selenium的核心Selenium Core基于JsUnit,完全由JavaScript编写,因此可运行于任何支持JavaScript的浏览器上。
Selenium Core:Selenium的核心部分,它由一些纯js代码组成, 可以运行在windows/linux的不同browser上,而IDE是在core的基础上的一种应用, 通过UI实现类似QTP/Winner的脚本录制回放功能,它是Selenium IDE 和 Selenium RC 的引擎。
Selenium IDE: FireFox 的一个插件,支持脚本录制。
Selenium RC: Selenium Remote Control,是客户端利用各种编程语言,通过网络向Selenium Server发送指令,Selenium Server接收到测试指令后,启动浏览器并向其发出JavaScript调用实现对Html页面的全面追踪,并通过网络把执行结果返回给调用者。
Selenium WD: Selenium WebDriver。Web驱动。
Selenium Grid:允许同时并行地、在不同的环境上运行多个测试任务,极大地加快 Web 应用的功能测试。 (没有用过,不太了解)TestNG
TestNG是一个测试框架,使用@Test控制测试的执行,执行后,自动输出测试报告。
环境搭建
Java运行环境
根据个人电脑系统类型选择对应的jdk安装包下载(jdk-8u5-windows-x64.exe或jdk-7u45-windows-i586.exe)下载完成之后,打开软件进行安装。
配置环境变量
系统环境变量JAVA_HOME:d:\Java\jdk1.8.0_05(写 自己安装的jdk地址)
系统环境变量Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
系统变量CLASSPATH:;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
配置完成之后,在doc下输入javac,如果出现用法:javac。。,证明配置好了
JDBC配置
Jdbc用于java读取sql server数据库。
数据库安装就不多说了,我本地64位计算机,jdk1.8,Sql Server 2008R2。
- 下载Microsoft JDBC Driver 6.0 (sqljdbc_6.0.7728.100_chs.tar.gz)
官网地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=11774
我只留下了sqljdbc4.jar - 配置环境变量CLASSPATH
新增:C:\sqljdbc4;( 我放在了C盘根目录下) - 复制包到相关目录下
sqljdbc4.jar文件拷到
E:\Program Files\Java\jdk1.8.0_05\jre\lib\ext
E:\Program Files\Java\jre8\lib\ext
目录下,分别拷贝一份(看你的安装目录了)
Java开发工具
eclipse-standard-kepler-SR1-win32-x86_64
相关包导入
TestNG
TestNG框架相关:
bsh-2.0b4.jar,jcommander.jar,snakeyaml.jar这三个包。
在org.testng.eclipse_6.9.9.201510270734中lib中,我把整个文件夹(rg.testng.eclipse_6.9.9.20151027073)放在了eclipse所在的目录:\eclipse\features\org.testng.eclipse_6.9.9.201510270734\lib ,之后在引入这三个包。Selenium
selenium-server-standalone-2.48.2.jarJxl.jar
用于读取excel表格
浏览器
浏览器使用火狐浏览器39.0.3,虽然版本比较低,但是与selenium版本兼容,需要安装组件:firepath
页面元素
定位
通过页面元素的固定属性,来确定元素。可以通过id,name,className,tagName,cssSele