美文网首页
3、HttpRunner_环境变量

3、HttpRunner_环境变量

作者: 猪儿打滚 | 来源:发表于2019-12-07 14:58 被阅读0次

PS.本系列的内容主要来自HttpRunner官方文档,因为个人习惯,在学习的时候会写笔记用以加深记忆(cv大法),所以有本系列的笔记。
https://cn.httprunner.org/


环境变量

一、环境变量的作用

在进行自动化测试过程中,我们有时候会需要读取一些环境变量,从而实现一些目的,常用的场景有:

  • 切换测试环境
  • 切换测试配置
  • 存储敏感数据(比如说密码之类的,这样能避免敏感数据在代码中出现)
二、设置环境变量
  • 在终端预设环境变量,然后代码中读取
    windows系统:使用set命令
    linux系统:使用export命令
export/set UserName = admin

代码中使用os模块读取系统中的环境变量

import os
os.environ['UserName']  # admin
  • 2.通过.env文件设置环境变量
    在HttpRunner中,借鉴了pipenv加载.env文件的方式来对环境变量的设置和管理。
    a.在自动化测试项目的根目录中,创建.env文件,然后把一些敏感数据放在里面,存储方式是键值对key=value的格式。
    注意:.env文件需要添加到.gitignore中,不能添加在代码仓库里
Usernmae = admin
Password = 23333

在HttpRunner运行时,会自动将.env的内容,加载到项目运行时的环境变量中,此时就可以在项目中,对环境变量进行读取。

b.如果想要加载不位于自动化项目根目录下的.env,或者其它名称的env文件(比如:audience.env),可以用--dot-env-path参数来指定这个文件的路径

hrun /path/to/testcase.yml --dot-env-path audience.env --log-level debug
三、引用环境变量

在设置好了环境变量后,那么该考虑的就是如何去引用这些环境变量。
HttpRunner中内置了environ函数,可以在yaml/json测试用例中,直接使用${ENV(变量名)}来引用环境变量

- test:
    name: login
    request:
        url: http://host/api/login
        method: POST
        headers:
            Content-Type: application/json
        json:
            username: ${ENV(UserName)}
            password: ${ENV(Password)}
        validate:
            - eq: [status_code, 200]

当然,如果想要对环境变量做进一步的处理,也可以在debugtalk.py文件中,通过python内置函数os.environ去读取到环境变量,然后进行处理
比如,如果请求参中的密码,需要先和密钥进行拼接后,生成MD5,就可以在debugtalk.py文件实现这样的函数:

import os

def get_encrypt_password():
    raw_passwd = os.environ["Password"]
    PROJECT_KEY = os.environ["PROJECT_KEY"])
    password = (raw_passwd + PROJECT_KEY).encode('ascii')
    return hmac.new(password, hashlib.sha1).hexdigest()

然后,在yaml/json测试用例中进行调用:

- test:
    name: login
    request:
        url: http://host/api/login
        method: POST
        headers:
            Content-Type: application/json
        json:
            username: ${ENV(UserName)}
            # 调用函数
            password: ${get_encrypt_password()}
        validate:
            - eq: [status_code, 200]

相关文章

  • 3、HttpRunner_环境变量

    PS.本系列的内容主要来自HttpRunner官方文档,因为个人习惯,在学习的时候会写笔记用以加深记忆(cv大法)...

  • linux环境变量设置

    1,本地环境变量2,用户环境变量3,系统环境变量

  • Linux 进程

    一 环境变量 1 常见环境变量 2 程序获取环境变量 3 函数操作环境变量 函数文档 二 进程控制 1 fork函...

  • HttpRunner_简单入门

    httprunner介绍 HttpRunner是一款面向HTTP(S)协议的通用测试框架,只需编写维护一份YAML...

  • postman | 入门脚本语法

    环境变量: 1、设置某个环境变量 2.获取某个环境变量 如果获取的值是json格式 3.将嵌套对象设置为环境变量 ...

  • YCSB安装及压力测试数据

    YCSB安装 1.安装jdk---配置环境变量 2.安装maven(版本maven3以上)---配置环境变量 3....

  • Linux上配置openjdk,maven,git的环境变量

    1.配置openjdk的环境变量 2.配置maven的环境变量 《maven官网》 3.配置git的环境变量 《引...

  • Mac使用MAMP时,简单的环境配置

    1、mysql加入环境变量 2、apache加入环境变量 3、php加入环境变量 保存 但是这样一般没什么用,过一...

  • shell中的几种变量的区别

    1、环境变量 2、临时变量 3、全局变量 env:来查询环境变量,环境变量能被当前进程和子进程调用,但...

  • linux 配置环境变量 node mongodb

    1、修改/etc/profile文件,在末尾添加以下内容 2、使环境变量生效 3、查看单个环境变量 4、查看所有环境变量

网友评论

      本文标题:3、HttpRunner_环境变量

      本文链接:https://www.haomeiwen.com/subject/mglhwctx.html