首页 > 其他分享 >基于 httprunner自动化测试平台搭建与开发

基于 httprunner自动化测试平台搭建与开发

时间:2022-11-09 18:01:21浏览次数:62  
标签:脚本 httprunner 实施 接口 测试用例 测试 自动化 搭建

前言

文档目的

接口自动化测试方案是为辣妈系统接口测试使用自动化框架,实现以接口自动化测试为主的目标而编写的技术和实施方案。
文档的主要目的是提供接口自动化测试的技术方案、实施内容、实施步骤,以及关键的技术实现手段等。

名词术语

  • Httprunner:是大疆公司研发的一款接口自动化框架,基于http协议
  • Hrun:httprunner框架下的执行接口测试的启动命令
  • Validate:断言,来验证返回的数据是否和传入的参数一致

接口自动化测试实施原则

实施原则

接口自动化测试过程中工具不可能完成所有的工作,工具仍然是测试过程中的辅助手段。对于工具主要是解决测试过程中的重复性的工作任务。另外实施自动化的测试,对被测系统也有更高的要求,总结接口自动化测试的实施原则如下:

  1. 使用自动化工具测试,要求被测系统开发比较稳定,较少发生功能的变更;
  2. 在自动化测试脚本编写前,被测系统的接口相对稳定;
  3. 接口测试自动化要求测试数据环境中的测试数据相对独立,满足完全把控数据测试的要求;
  4. 要求被测系统的版本运行比较稳定,较少发生测试中止的情况;
  5. 完善的、可复用的数据参数,脚本库是一个长期的积累过程。

实施接口自动化测试的优缺点

接口的自动化测试与手工测试虽然有很多局限,但是同样有其优势,随着自动化测试技术和工具的发展,对于比较稳定的产品的功能测试中,自动化测试占有越来越重要的地位。使用接口测试可以加快整个测试的过程,在产品的版本发布之后,可以重复使用测试脚本进行测试,具体来说:
自动化测试的优点:

  • 提高测试效率,降低测试成本;
  • 重复性强的手工劳动独立用自动化实现;
  • 快速的回归测试,提高新版本发布的速度和质量;
  • 避免人工测试容易犯的错误,如:错误测试,漏测试,多测试等;
  • 很容易就实现并发性测试;
  • 测试可重用,采用脚本和数据可以很容易实现重用。

自动化测试的缺点:

  • 规范的测试管理,测试需求,测试用例;
  • 不能创造性发现测试脚本没有设计的缺陷;
  • 高质量的测试用例;
  • 高素质的自动化测试工程师;
  • 对测试环境要求比较严格;
  • 测试需求变化可能引起大量的测试用例,自动测试脚本的修改、维护。

实施范围和目标

实施范围

  1. 工具范围:目前考虑使用svn作为远程代码仓库,httprunner作为主要框架,jenkins作为持续集成工具
  2. 系统范围:定位在测试中心基础测试环境中的系统;
  3. 测试阶段的范围:新功能测试、回归测试、以及上线后的功能回归测试

实施目标

  1. 接口自动化测试系统应该能完成集成测试、以及上线后功能的回归测试;
  2. 接口自动化测试方案对目前大部分应用系统都可以进行测试;
  3. 实现自动化脚本编写、自动化脚本执行、自动化缺陷报告和管理。

总体实施策略

  1. 首先从目前系统中选择适合自动化测试的项目和功能;
  2. 其次确定接口自动化测试的阶段;
  3. 接口功能组合成为一个完整的系统测试

技术方案实施内容

Httprunner的特性和优势

  • 继承 ​​Requests​​ 的全部特性,轻松实现 HTTP(S) 的各种测试需求
  • 采用 YAML/JSON 的形式描述测试场景,保障测试用例描述的统一性和可维护性
  • 借助辅助函数(debugtalk.py),在测试脚本中轻松实现复杂的动态计算逻辑
  • 支持完善的测试用例分层机制,充分实现测试用例的复用
  • 测试前后支持完善的 hook 机制
  • 响应结果支持丰富的校验机制
  • 基于 HAR 实现接口录制和用例生成功能(​​har2case​​)
  • 结合 ​​Locust​​ 框架,无需额外的工作即可实现分布式性能测试
  • 执行方式采用 CLI 调用,可与 Jenkins 等持续集成工具完美结合
  • 测试结果统计报告简洁清晰,附带详尽统计信息和日志记录
  • 极强的可扩展性,轻松实现二次开发和 Web 平台化

Httprunner 的工作原理

  • 明确的测试目的(achieve a particular software testing objective)
  • 明确的输入(inputs)
  • 明确的运行环境(execution conditions)
  • 明确的测试步骤描述(testing procedure)
  • 明确的预期结果(expected results)

第一步:环境搭建

  1. 在服务器上安装python环境
  2. 执行pip install httprunner
  3. 运行如下命令,若正常显示版本号,则说明 HttpRunner 安装成功

$ hrun -V
2.0.2
$ har2case -V
0.2.0

第二步:编写脚本

基于 httprunner自动化测试平台搭建与开发_测试用例


Name: api的描述

Base_url:基础网址

Request:http的请求形式

Method:请求方式

Url:拼接的接口名

Json:传参

Validate:断言

 

第三步:执行测试

执行命令: hrun + api(path)

基于 httprunner自动化测试平台搭建与开发_自动化测试_02

Jenkins 的安装部署与配置

第一步:代码上传svn

基于 httprunner自动化测试平台搭建与开发_自动化测试_03

第二步:jenkins部署

Jenkins新建工程

基于 httprunner自动化测试平台搭建与开发_python_04

 

Jenkins的工程描述

基于 httprunner自动化测试平台搭建与开发_python_05

 

 

Jenkins的代码配置

基于 httprunner自动化测试平台搭建与开发_测试用例_06

 

选择构建前删除工作区

基于 httprunner自动化测试平台搭建与开发_测试报告_07

 

执行windows批处理命令

基于 httprunner自动化测试平台搭建与开发_python_08

 

测试报告的css渲染

基于 httprunner自动化测试平台搭建与开发_python_09

 

测试报告的配置

基于 httprunner自动化测试平台搭建与开发_自动化测试_10

 

第三步:查看测试报告

打开项目目录,点击HTML_Report

基于 httprunner自动化测试平台搭建与开发_测试用例_11

 

选择对应时间戳下的.html文件

基于 httprunner自动化测试平台搭建与开发_自动化测试_12

 

测试报告的内容

基于 httprunner自动化测试平台搭建与开发_测试报告_13

Request

基于 httprunner自动化测试平台搭建与开发_python_14

 

 

 

Validators

基于 httprunner自动化测试平台搭建与开发_测试报告_15

Staristics

基于 httprunner自动化测试平台搭建与开发_测试报告_16

 

 

实施管理建议

实施策略建议

策略有如下建议:

  • 从底层往上的数据覆盖,解决测试数据的依赖从属关系,把控整个接口测试数据的正确性
  • 测试用例的评审覆盖
  • 准备对应的api文档

人员配置

在自动化测试实施过程中,需要以下的人员配置:

  • 测试经理:负责测试用例的覆盖评审
  • 开发人员:接口文档的编写和沟通
  • 脚本编写人员:需要有http协议的基础,以及python语言的基础

实施计划

阶段

时间

阶段关键任务/里程碑目标

计划准备阶段

确定项目的目标和范围;
确定项目的实施计划;
确定项目实施的人员需求;
接口自动化测试方案通过评审。

环境搭建和准备

搭建自动化测试环境;
熟悉和了解被测系统的功能需求。

测试需求分析阶段

分析被测系统需求;
分析测试系统的数据需求;
完成测试数据需求,初步完成主要的测试数据。

测试脚本开发

完成脚本框架;
完成被测功能的脚本的编写和调试;
完成被测脚本的参数设置和测试数据;
发布测试脚本基线版本。

测试执行

测试执行、报告问题。

测试分析总结

测试结果;
测试总结。

标签:脚本,httprunner,实施,接口,测试用例,测试,自动化,搭建
From: https://blog.51cto.com/u_15834920/5837472

相关文章