前言

如何快速搭建一个httprunner项目呢?我们可以使用脚手架,脚手架就是自动地创建一些目录,形成一个项目的架构,不需要我们再手动的去创建

查看创建新项目的命令

先来查看一下帮助命令

httprunner startproject -h
(httprunner_env) ➜  hrun httprunner startproject -h
usage: httprunner startproject [-h] [project_name] positional arguments:
project_name Specify new project name. optional arguments:
-h, --help show this help message and exit

可以看出,唯一需要指定的就是项目名称。

创建新项目

首先在用户目录创建一个hrun文件夹,进入文件夹创建一个名为hrun_demo的新项目

httprunner startproject hrun_demo
(httprunner_env) ➜  ~ mkdir hrun
(httprunner_env) ➜ ~ cd hrun
(httprunner_env) ➜ hrun httprunner startproject hrun_demo
2021-02-03 11:23:58.081 | INFO | httprunner.scaffold:create_scaffold:43 - Create new project: hrun_demo
Project Root Dir: /Users/jkc/hrun/hrun_demo created folder: hrun_demo
created folder: hrun_demo/har
created folder: hrun_demo/testcases
created folder: hrun_demo/reports
created file: hrun_demo/testcases/demo_testcase_request.yml
created file: hrun_demo/testcases/demo_testcase_ref.yml
created file: hrun_demo/debugtalk.py
created file: hrun_demo/.env
created file: hrun_demo/.gitignore $ tree hrun_demo -a
hrun_demo
├── .env
├── .gitignore
├── debugtalk.py
├── har
├── reports
└── testcases
├── demo_testcase_ref.yml
└── demo_testcase_request.yml 3 directories, 5 files Sentry is attempting to send 0 pending error messages
Waiting up to 2 seconds
Press Ctrl-C to quit

如果你指定的项目名已存在,会有如下警告:

(httprunner_env) ➜  hrun httprunner startproject hrun_demo
2021-02-03 11:27:16.028 | WARNING | httprunner.scaffold:create_scaffold:33 - Project folder hrun_demo exists, please specify a new project name. $ tree hrun_demo -a
hrun_demo
├── .env
├── .gitignore
├── debugtalk.py
├── har
├── reports
└── testcases
├── demo_testcase_ref.yml
└── demo_testcase_request.yml 3 directories, 5 files Sentry is attempting to send 0 pending error messages
Waiting up to 2 seconds
Press Ctrl-C to quit

项目结构

创建完成项目后,查看项目结构有哪些目录?

  • har:可以存放录制导出的.har文件
  • reports:存储 HTML 测试报告
  • testcases:存放测试用例
  • .env:放置在项目根目录下,存放环境变量
  • debugtalk.py:放置在项目根目录下(借鉴了pytest的conftest文件的设计),用于写一些公共函数和方法

运行用例

创建的新项目中,默认有2个yaml文件形式的用例(demo_testcase_ref.ymldemo_testcase_request.yml),我们运行看看

hrun hrun_demo

运行结果:

(httprunner_env) ➜  hrun hrun hrun_demo
2021-02-03 13:33:58.336 | INFO | httprunner.make:__make:512 - make path: /Users/jkc/hrun/hrun_demo
2021-02-03 13:33:58.342 | INFO | httprunner.compat:ensure_testcase_v3:219 - ensure compatibility with testcase format v2
2021-02-03 13:33:58.345 | INFO | httprunner.loader:load_dot_env_file:127 - Loading environment variables from /Users/jkc/hrun/hrun_demo/.env
2021-02-03 13:33:58.345 | DEBUG | httprunner.utils:set_os_environ:33 - Set OS environment variable: USERNAME
2021-02-03 13:33:58.345 | DEBUG | httprunner.utils:set_os_environ:33 - Set OS environment variable: PASSWORD
2021-02-03 13:33:58.347 | INFO | httprunner.make:make_testcase:349 - start to make testcase: /Users/jkc/hrun/hrun_demo/testcases/demo_testcase_ref.yml
2021-02-03 13:33:58.364 | INFO | httprunner.compat:ensure_testcase_v3:219 - ensure compatibility with testcase format v2
2021-02-03 13:33:58.365 | INFO | httprunner.make:make_testcase:349 - start to make testcase: /Users/jkc/hrun/hrun_demo/testcases/demo_testcase_request.yml
2021-02-03 13:33:58.365 | INFO | httprunner.make:make_testcase:442 - generated testcase: /Users/jkc/hrun/hrun_demo/testcases/demo_testcase_request_test.py
2021-02-03 13:33:58.366 | INFO | httprunner.make:make_testcase:442 - generated testcase: /Users/jkc/hrun/hrun_demo/testcases/demo_testcase_ref_test.py
2021-02-03 13:33:58.377 | INFO | httprunner.compat:ensure_testcase_v3:219 - ensure compatibility with testcase format v2
2021-02-03 13:33:58.378 | INFO | httprunner.make:make_testcase:349 - start to make testcase: /Users/jkc/hrun/hrun_demo/testcases/demo_testcase_request.yml
2021-02-03 13:33:58.378 | INFO | httprunner.make:format_pytest_with_black:170 - format pytest cases with black ...
reformatted /Users/jkc/hrun/hrun_demo/testcases/demo_testcase_ref_test.py
reformatted /Users/jkc/hrun/hrun_demo/testcases/demo_testcase_request_test.py
All done!
2 files reformatted.
2021-02-03 13:33:58.658 | INFO | httprunner.cli:main_run:56 - start to run tests with pytest. HttpRunner version: 3.1.4
================================================================================================= test session starts ==================================================================================================
platform darwin -- Python 3.7.6, pytest-5.4.3, py-1.10.0, pluggy-0.13.1
rootdir: /Users/jkc/hrun
plugins: metadata-1.11.0, html-2.1.1
collected 2 items hrun_demo/testcases/demo_testcase_request_test.py . [ 50%]
hrun_demo/testcases/demo_testcase_ref_test.py . [100%] ================================================================================================== 2 passed in 4.87s ===================================================================================================

我们再次查看项目结果会发现根目录下多出了logs日志文件夹,testcases中多出了2个py文件

这里应该是作者源码中运行后写的代码结果了

httprunner(3)用脚手架快速搭建项目的更多相关文章

  1. vue-cli脚手架快速搭建项目

    前言 vue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目. 准备工作 在搭建一个vue项目之前,需要先安装好node.js和cnpm. 虽然np ...

  2. 使用angular-cli脚手架快速搭建项目

    第一步 安装全局的angular-cli, npm install -g @angular/cli 或者 cnpm install -g @angular/cli@v1.0.0-rc.2 – 国内淘宝 ...

  3. 脚手架快速搭建springMVC框架项目

    apid-framework脚手架快速搭建springMVC框架项目   rapid-framework介绍:   一个类似ruby on rails的java web快速开发脚手架,本着不重复发明轮 ...

  4. 基于Vue-cli 快速搭建项目

    Vue-cli可以快速帮助我们创建一个项目,这是官方给我们提供的脚手架.下面我说一下vue-cli的使用方法. 一.准备工作 在使用vue-cli时,首先需要安装nodejs,npm,其次需全局安装v ...

  5. vue-cli webpack 快速搭建项目

    一.安装vue npm install vue -g 二.用vue-cli快速搭建项目 //全局安装vue-cli npm install install -g vue-cli //创建一个基于web ...

  6. (转载) android快速搭建项目积累

    android快速搭建项目积累 2016-04-05 20:07 519人阅读 评论(0) 收藏 举报  分类: android优化(8)   Rx技术(5)  版权声明:本文为博主原创文章,未经博主 ...

  7. 【HttpRunner v3.x】笔记 ——2. 用脚手架快速创建项目

    环境装好了,相信很多童鞋已经迫不及待的想run起来了,但是面对一个陌生的框架又无从下手.没关系,我们可以用脚手架来快速生成一个httprunner项目. 一.快速生成项目 我们不妨先输入httprun ...

  8. 使用vue-cli(vue脚手架)快速搭建项目

    vue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目.这篇文章将会从实操的角度,介绍整个搭建的过程. 1. 避坑前言 其实这次使用vue-cli的 ...

  9. vue2.x利用脚手架快速构建项目并引入bootstrap、jquery

    要使用vue-cli脚手架搭建项目,首先需要安装node.js Node.js官网:https://nodejs.org/en/download/ 选择你对应的系统即可下载,下载完成后傻瓜式安装即可. ...

随机推荐

  1. Git之pull,fetch差别

    简言之, pull=fetch+merge,下拉远程分支并与本地分支合并. fetch只是下拉远程分支,怎么合并,可以自己再做选择. 进一步了解是,git本地有暂存区(亦称为Index区) fetch ...

  2. SQL操作符的优化

    操作符优化        IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格. 但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQ ...

  3. Tomca7t服务器 配置HTTP和HTTPS 同时访问

    (首先你要有 ssl 证书 ,我是阿里的 ) 查看申请ssl证书(https://www.cnblogs.com/lxf-mw/p/14261303.html) 一.下载 tomcat证书(两个文件) ...

  4. 冷饭新炒:理解Redisson中分布式锁的实现

    前提 在很早很早之前,写过一篇文章介绍过Redis中的red lock的实现,但是在生产环境中,笔者所负责的项目使用的分布式锁组件一直是Redisson.Redisson是具备多种内存数据网格特性的基 ...

  5. 基于腾讯云存储COS的ClickHouse数据冷热分层方案

    一.ClickHouse简介 ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS),支持PB级数据量的交互式分析,ClickHouse最初是为YandexMetrica ...

  6. lcobucci/jwt的安装和使用

    安装 composer require lcobucci/jwt 3.3 封装 <?php namespace tools\jwt; use Lcobucci\JWT\Builder; use ...

  7. Scrapy使用RabbitMQ做任务队列

    前言 一个月没更博客了,这个月也搞了不少东西,但是公司对保密性要求挺高,很多东西都没有办法写出来 想来想去,还是写一篇最近写Scrapy中遇到的跳转问题 如果你的业务需求是遇到301/302/303跳 ...

  8. 基于SVM的字母验证码识别

    基于SVM的字母验证码识别 摘要 本文研究的问题是包含数字和字母的字符验证码的识别.我们采用的是传统的字符分割识别方法,首先将图像中的字符分割出来,然后再对单字符进行识别.首先通过图像的初步去噪.滤波 ...

  9. Job for docker.service failed because start of the service was attempted too often. See "systemctl status docker.service" and "journalctl -xe" for details. To force a start use "systemctl reset-failed

    安装docker时,自己添加了国内的hub.docker.com镜像 [root@ce-docker ~]# systemctl restart docker 出现以下报错:Job for docke ...

  10. mysql:如何解决数据修改冲突(事务+行级锁的实际运用)

    摘要:最近做一个接诊需求遇到一个问题,假设一个订单咨询超过3次就不能再接诊,但如果两个医生同时对该订单进行咨询,查数据库的时候查到的接诊次数都是2次,那两个医生都能接诊,所谓接诊可以理解为更新了接诊次 ...