java自动化测试框架-基于testng

java+maven+testng+selenium+appium+rest assured+extent-report


源码github地址
设计思想

  • 通过rest assured实现API自动化,保证后端API主要功能及业务流程

  • 通过selenium实现web UI自动化,appium+stf实现android UI自动化,保证前端页面操作功能及业务流程

  • 通过testng对测试脚本进行管理,extent report 实现报告输出

  • 通过maven实现脚本CI(jerkins),tomcat实现测试报告线上化

  • 使用java作为脚本语言

      对于自动化测试人员来说,java或是python是我们脚本的基础,因为用例编写过程中涉及语言语法、函数结构、命名基本规则等,需要对语言本身有个基本的了解。
      而对这套框架本身,最重要的是testng这个测试框架。需要比较完整的了解其结构、注释、xml、配置等等。
    

设计框架(testFrame.jpg)

java自动化测试框架-基于testng_第1张图片
说明

  • TestNG:测试用例管理

  • Maven:jar包管理

  • ExtentReport:测试报告

代码结构

│─lib 项目引用jar包及WebDriver执行文件

├─common 公共模块

│ ├─WebCommon - web端公共方法类

│ ├─ApiCommon - api端公共方法类

│ ├─AppCommon - app端公共方法类

├─framework 测试框架

│ ├─AbastractBase - 自动化测试基础类

│ ├─WebDriverManager - web端driver管理基础类

│ ├─WebTestNGBase - web脚本执行基础类

│ ├─AppTestNGBase - app脚本执行基础类

├─listener 测试监听类(日志、结果、报告)

│ ├─IReporterListener - 测试报告监听类

│ ├─TestNGListener - 测试结果监听类

│ ├─RetryListener - 测试脚本重试监听类

├─utils 测试工具类(文件处理等)

├─log 日志输出位置

├─xml testng.xml文件(测试类驱动文件,包含web、h5、api、app)

├─resource 资源文件夹

│ ├─main - log4j、report、selenium等配置文件属性

│ ├─test - extent report

├─page 测试页面对象类

├─script 业务、功能脚本

测试报告(extentReport.jpg)

脚本执行后,通过IReporterListener监听生成extent report,/test-output/ExtentHtml.html
java自动化测试框架-基于testng_第2张图片

testng.xml说明

执行所需参数全部写于xml文件中,比如testng-app.xml文件配置如下信息:

  • parameter name = “port” value=“4723”
  • parameter name = “udid” value=“192.168.174.101:5555”
  • parameter name = “platformVersion” value=“7.1.1”
  • parameter name = “appPackage” value=“com.android.contacts”
  • parameter name = “appActivity” value=“com.android.contacts.activities.PeopleActivity”

然后在test中添加对应的测试脚本

如何使用

1、通过eclipse导入maven项目

2、安装eclipse安装testng插件

3、在xml文件目录下执行测试脚本

源码github地址

项目部署:
部署过程参见如下链接,其中【testng插件安装】【appium安装配置】【genymotion模拟器安装及配置】皆为转载csdn博客中他人的文章,说声感谢。

  • ecplise中项目导入
  • testng插件安装
  • appium安装及配置
  • genymotion虚拟机安装及配置
  • 测试用例执行
  • 线上化测试报告

你可能感兴趣的:(自动化测试)