前言

一个完整的接口自动化测试项目到底该如何设计?httprunner框架的知识点其实并不多,前面基本上把一些重要的概念都介绍完了。

本篇就是一个总结性的,可以用于实际工作中设计一个接口自动化测试项目。

项目文件结构

在 HttpRunner 自动化测试项目中,主要存在如下几类文件:

  • YAML/JSON(必须):测试用例文件,一个文件对应一条测试用例
  • debugtalk.py(可选):脚本函数,存储项目中逻辑运算函数
    • 该文件存在时,将作为项目根目录定位标记,其所在目录即被视为项目工程的根目录(当前工作目录CWD)
    • 该文件不存在时,运行测试的路径将被视为当前工作目录CWD
    • 测试用例文件中的相对路径(例如.csv)均需基于当前工作目录CWD
    • 运行测试后,测试报告文件夹(reports)会生成在当前工作目录CWD
  • .env(可选):存储项目环境变量
  • .csv(可选):项目数据文件,用于进行数据驱动
  • reports(自动生成): 运行后自动生成,无需创建

以 debugtalk.py 文件目录为项目的根目录,使用tree生成目录树

D:\soft\untitled\apidemo>tree /F
│ .env
│ debugtalk.py
│ __init__.py

├─reports
│ 1569663556.html

├─testcase
│ test_env_demo.yml
│ test_hook_demo.yml
│ test_hook_demo2.yml
│ test_info_demo.yml
│ test_param_csv.yml
│ test_param_csv_psw.yml
│ user_name.csv
│ user_psw.csv
│ __init__.py

└─

运行用例

运行全部用例

如果我想运行整个项目的用例,可以直接运行testcase整个目录 hrun testcase

hrun testcase

运行单个用例

如果我只想运行 testcase/test_env_demo.ymll的用例

hrun testcase/test_env_demo.yml

运行多个用例

同时运行 testcase/test_env_demo.yml 和 testcase/test_hook_demo.yml用例

hrun testcase/test_env_demo.yml testcase/test_hook_demo.yml

用例失败后停止--failfast

如果我们希望测试用例失败后停止运行,可以加--failfast参数

hrun testcase --failfast

httprunner学习14-完整的项目结构设计的更多相关文章

  1. ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 用javascript在客户端删除某一个cookie键值对 input点击链接另一个页面,各种操作。 C# 往线程里传参数的方法总结 TCP/IP 协议 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图 (转)值得学习百度开源70+项目

    ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml)   我们都知道在使用WebApi的时候Controller会自动将Action的返回值自动进行各种序列化处理(序列化为 ...

  2. 嵌入式 十个最值得阅读学习的C开源项目代码

    开源世界有许多优秀的开源项目,我选取其中十个最优秀的.最轻量级的C语言的项目,希望可以为C语言开发人员提供参考. 十个最值得阅读学习的C开源项目代码 1. Webbench 2. Tinyhttpd ...

  3. 微信小程序教学第二章:小程序中级实战教程之预备篇 - 项目结构设计 |基于最新版1.0开发者工具

    iKcamp官网:http://www.ikcamp.com 访问官网更快阅读全部免费分享课程:<iKcamp出品|全网最新|微信小程序|基于最新版1.0开发者工具之初中级培训教程分享>. ...

  4. iOS学习——Xcode9上传项目到GitHub

    最近通过视频在学习一个完整项目的开发流程和思路,为了更真实地模拟在实际开发中的流程,我们需要将项目的代码以及一些资料进行版本控制和管理,一般比较常用的SVN或者Github进行代码版本控制和项目管理. ...

  5. asp.netmvc 三层搭建一个完整的项目

    接下来用 asp.net mvc 三层搭建一个完整的项目: 架构图: 使用的数据库: 一张公司的员工信息表,测试数据 解决方案项目设计: 1.新建一个空白解决方案名称为Company 2.在该解决方案 ...

  6. KJMusic完整音乐项目

    KJMusic完整音乐项目 KJMusic是一个完整音乐项目,这个项目从欢迎页面到首页以及音乐播放页面都做得非常不错.并且本音乐支持本地音乐,和音乐电台,支持切换上下首个.本项目还支持侧滑出现menu ...

  7. Scrapy:学习笔记(2)——Scrapy项目

    Scrapy:学习笔记(2)——Scrapy项目 1.创建项目 创建一个Scrapy项目,并将其命名为“demo” scrapy startproject demo cd demo 稍等片刻后,Scr ...

  8. springboot 完整企业项目搭建实记

    昨天搭建ssm框架时突然想到可以搭建springboot来完美解决配置复杂的问题,今天学习了一下springboot的搭建,在此记录一下搭建的过程和踩过的坑 这里给自己定一个该框架搭建完成的目标,如下 ...

  9. python接口自动化(四十二)- 项目结构设计之大结局(超详解)

    简介 这一篇主要是将前边的所有知识做一个整合,把各种各样的砖块---模块(post请求,get请求,logging,参数关联,接口封装等等)垒起来,搭建一个房子.并且有很多小伙伴对于接口项目测试的框架 ...

随机推荐

  1. Configuration类的@Value属性值为null

    今天写的Configuration类的@Value属性值为null @Configuration public class MybatisConfigurer { @Value("${spr ...

  2. JS 中判断数据类型是否为 null、undefined 或 NaN

    判断 undefined var aaa = undefined; console.log(typeof(aaa) === "undefined"); // true 判断 nul ...

  3. AQS3---出队(凌乱,供参考,先看AQS2)

    出队时候,如果队列处于稳定状态,那么就是一个挨着一个出队,难点在于出队的时候,队列正处于调整阶段,那么此时队列中的关系是混乱无章可寻的.  出队:unlock释放锁,不在队列线程去抢锁,队列第一个正常 ...

  4. 利用setenv进行tomcat 内存设置

    part.1 系统环境及版本 系统环境: centos 7 版本: tomcat 7.0.78 part.2 步骤流程 2.1 新建setenv.sh # cd /usr/local/tomcat/b ...

  5. 快速获取更丰富的Sitecore体验数据库

    无论您是否立即使用Sitecore的营销功能,我们强烈建议您执行这三项任务,以使您的数据收集更加丰富,并为您以后的决策留下良好的位置. Sitecore的体验数据库,即xDB,是Sitecore营销平 ...

  6. 科大讯飞语音芯片xfs5152CE,分享遇到的一些坑

    首先 芯片手册的I2C地址是写地址,是8位的,真正的地址是7位地址,应该是0x40,最低位是读写位,读置1,为0x81,写置0,为0x80. 如果是模拟I2C倒无所谓,最坑的是我用的是寄存器,所以必须 ...

  7. 9. Scala隐式转换和隐式值

    9.1 隐式转换 9.1.1 提出问题 先看一个案例演示,引出隐式转换的实际需要=>指定某些数据类型的相互转化 object boke_demo01 { def main(args: Array ...

  8. NP完全问题的证明

    目录 NP完全问题的证明 一.限制法 最小覆盖问题(VC) 子图同构问题 0-1背包(Knapsack) 三元集合的恰当覆盖(X3C) 集中集 有界度的生成树 多处理机调度 二.局部替换法 3SAT问 ...

  9. KSQL: Streaming SQL for Apache Kafka

    Few weeks back, while I was enjoying my holidays in the south of Italy, I started receiving notifica ...

  10. 在Asp.Net Core MVC 3.0 视图运行时编译

    在正常情况下,视图在生成的时候就会变为 xxx.Views.dll,在开发的时候,这样很不方便,因为很多的时候,我们只是修改一个样式,调整一些JavaScript代码,这个时候要把项目调试暂停下来,生 ...