Selenium Web 自动化 - 测试框架(一)
目录
1 框架结构雏形
2 把Java项目转变成Maven项目
3 加入TestNG配置文件
4 Eclipse编码修改
5 编写代码
5.1 封装Selenium操作
5.2 使用log4j进行日志输出
5.3 封装测试平台和测试浏览器选择工具类
5.4 根据key读取属性文件里面的value值
5.5 arrow插件解析
5.5.1 ConfigReader.java
5.5.2 负责监听测试运行状态和结果
5.5.3 负责失败的用例重跑的监听器
5.5.4 负责生成测试报告的监听器
5.6 用例的开头和结尾设计
5.7 页面类设计
5.8 页面帮助类设计
5.9 书写第一个用例
5.10 完整的pom.xml和testng.xml
6 配置测试报告目录
7 填加driver
8 执行用例
自动化项目由maven+TestNG+selenium设计而成。
- maven:是一个项目管理工具,主要用于项目构建,依赖管理,项目信息管理。这里主要用到它的jar包管理
- TestNG:是一套根据JUnit 和NUnit思想而构建的利用注释来强化测试功能的一个测试框架,即可以用来做单元测试,也可以用来做集成测试。
1 框架结构雏形
新建的一个java project,项目名为autotest,创建如下结构
图1 框架结构雏形
- base:里面有个基类 (BaseParpare.java),这个类的主要作用是启动(启动浏览器使用了TetsNG的@BeforeClass)和关闭浏览器的作用(关闭浏览器使用了TetsNG的@AftereClass)
- pages:页面元素类,每一个java类,都是一个页面,存放的都是对应页面的所有元素定位值。
- pageshelper:这个包主要存放的是对应页面的帮助类
- plugins:主要存放的是arrow插件以及第三方插件。
- testcases:顾名思义就是存放测试用例的地方
- utils:这个包主要是封装了各种工具类,Selenium api封装类,读取属性文件类和选择浏览器类等
- config目录:存储框架类所需的所有属性文件,比如arrow的配置文件以及自定义的一些属性文件。
- res目录:主要存放的是driver
- result目录:存储测试框架运行测试用例生成的报告(包含log,截图等)
2 把Java项目转变成Maven项目
右击项目->configure->covert to maven project,修改属性groupId=com.demo,
生成pom.xml如下所示:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.demo</groupId>
<artifactId>autotest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
其中:
- Group Id:填写你组织机构,比如我这里就写的com.demo,例如要是百度可以写成com.baidu
Artifact Id:可以理解成为项目打包成jar包的ID 或者说 jar包名字,一般以项目名命名。
3 加入TestNG配置文件 (修改pom.xml)
4 Eclipse编码修改
为了统一编码和以后为了避免乱码的出现,我们整个环境都使用UTF-8编码模式
Window-> Preferences,在弹出窗口Preferences中general->workspace, text file encoding 选择other 选项为UTF-8
本文来自博客园,作者:快乐小王子帅气哥哥,转载请注明原文链接:https://www.cnblogs.com/alex-oos/p/17779496.html