1、get 请求和 post 请求的区别是什么? 
2、requests 模拟 get 请求时,有哪两种方式让响应的结果不是乱码?(直接代码描述) 
3、requests 库中的 post 方法,参数 url\params\json\data\headers 各自的用途是什么? 
4、json 模块中,json.dumps()和 json.loads()分别的用途是什么? 
5、requests 库模拟请求时,如何设置代理? 
6、requests 库添加 cookie 的方式有哪些? 
7、httprunner 如何通过脚手架工具创建项目? 
8、httprunner 如何设置环境变量? 
9、Httprunner 中进行参数化如何实现? 
10、Debugtalk.py 在 Httprunner 中的作用是什么? 
11、测试用例脚本中的 validate 和 extract 参数的含义是? 
12、Httprunner 如何实现把测试用例 yml 的参数传递到其它 yml 文件中? 
13、Httprunner 如何设置断言? 
14、requests 库如何通过 pymysql 连接数据库获取数据? 
15、Httprunner 如何使用命令行执行接口测试,参数有哪些(至少写 3 个并说明含义)
 

4.json.dumps():把字典、json对象转化为字符串

json.loads():把字符串转化成字典 json对象

6. requests 库添加 cookie 的方式有哪些?

7、httprunner 如何通过脚手架工具创建项目?

创建脚手架项目: hrun --startproject 项目名称

例如: hrun --startproject weixin_demo

8、httprunner 如何设置环境变量?

./.env:填写BASE_URL

./api/.xxx.yml: 填写:base_url: ${ENV(BASE_URL)}

定环境变量.Env 的详细路径 --dot-env-path

例如:

hrun --dot-env-path ./config.ini ./testsuites/testsuite_demo_01.yml

9、Httprunner 中进行参数化如何实现?

可以使用faker库或者随机数,pysql参数化实现。

./debugtalk.py:

./testsuite/testsuite_xxx.yml

10、Debugtalk.py 在 Httprunner 中的作用是什么?

写辅助函数,实现复杂的功能。有些复杂的逻辑,需要写个函数去实现,比如操作数据库等。

11、测试用例脚本中的 validate 和 extract 参数的含义是?

Validate:断言。实际结果与预期结果。

例如:validate:

- eq: [$error_code,$excepted_code]

extract :在引用的时候,把上一个用例中的部分参数在下一个用例中使用。

例如:extract:

- token_id

12、Httprunner 如何实现把测试用例 yml 的参数传递到其它 yml 文件中?

export跨用例传输参数。

13、Httprunner 如何设置断言?

通过-eq实现。一般在testcase和api会设置断言。

(1)./api的validate一般做非业务的断言。

例如:

validate:

- eq: ['status_code',200]

(2)./testcase的validate可以在 config里面设置期望结果。用$符号引用。

例如:

- config:

variables:

excepted_code: 45158

- test:

validate:

- eq: [$error_code,$excepted_code]

14、requests 库如何通过 pymysql 连接数据库获取数据?

(1)安装Pip install mysql ,这里我的mysql版本是8.0.21,pip install mysql

安装Mac Navicat premium 12 破解(这里用之前刘sir给的破解方法)

连接mysql(如果出现  'caching_sha2_password'需要修改加密方案)sucess.

(2)./debugtalk.py:

Import pymysql

(3)Mysql编写sql语句:

15、Httprunner 如何使用命令行执行接口测试,参数有哪些(至少写 3 个并说明含义

创建脚手架项目: hrun --startproject weixin_demo

1.自定义测试报告名称:--report-file
例:hrun --report-file ./reports/results.html ./testsuites/testsuite_demo_01.yml

2.自定义测试日志的名称--report-file 和级别--log-level DEBUG
例:hrun --report-file ./reports/result.html --log-level DEBUG --log-file ./logs/20201111.log ./testsuites/testsuite_demo_01.yml


3.指定变量.env的详细路径:--dot-env-path
例:hrun --dot-env-path ./config.ini ./testsuites/testsuite_demo_07.yml

4.校验json格式:--validate
例:hrun --validate testsuites/testsuite_demo_01.yml

5.指定测试报告模版路径(allure测试报告),--report-template
例:hrun ./testsuites/testsuite_demo_07.yml --report-template ./reports/templates/extent_report_template.html

requests +httprunne r的更多相关文章

  1. 爬虫requests模块 2

    会话对象¶ 会话对象让你能够跨请求保持某些参数.它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 期间使用 urllib3 的 connection pooling 功能.所 ...

  2. python requests模块使用

    python的网络编程能力十分强大,其中python中的requests库宣言:HTTP for Humans (给人用的 HTTP 库) 在网络编程中,最基本的任务包含: 发送请求 登录 获取数据 ...

  3. requests高级用法

    会话对象 当你向同一主机发送多个请求时,session会重用底层的tcp连接,从而提升性能,同时session也会为所有请求保持 cookie. # _*_ coding: utf-8 _*_ imp ...

  4. python Requests库在处理response时的一些陷阱

    python的Requests(http://docs.python-requests.org/en/latest/)库在处理http/https请求时还是比较方便的,应用也比较广泛.但其在处理res ...

  5. 转:Python requests 快速入门

    迫不及待了吗?本页内容为如何入门Requests提供了很好的指引.其假设你已经安装了Requests.如果还没有, 去 安装 一节看看吧. 首先,确认一下: ·Requests 已安装 ·Reques ...

  6. python3控制路由器--使用requests重启极路由.py

    代码写了相应的注释,以后再写成可以方便调用的模块. 用fiddler抓包可以看到很多HTTP头,经过尝试发现不是都必须的. 'Upgrade-Insecure-Requests':1,#必要项,值为1 ...

  7. Requests:Python HTTP Module学习笔记(一)(转)

    Requests:Python HTTP Module学习笔记(一) 在学习用python写爬虫的时候用到了Requests这个Http网络库,这个库简单好用并且功能强大,完全可以代替python的标 ...

  8. Python Requests模块讲解4

    高级用法 会话对象 请求与响应对象 Prepared Requests SSL证书验证 响应体内容工作流 保持活动状态(持久连接) 流式上传 块编码请求 POST Multiple Multipart ...

  9. 浅谈 Requests包

    浅谈 Requests包 一:Requests包是做什么的? 简单地说,是用python处理HTTP的一个包. 它的标志也非常有气质,是一个双蛇杖,按照官方的说法,一条蛇代表client,一条代表se ...

随机推荐

  1. 深度剖析目标检测算法YOLOV4

    深度剖析目标检测算法YOLOV4 目录 简述 yolo 的发展历程 介绍 yolov3 算法原理 介绍 yolov4 算法原理(相比于 yolov3,有哪些改进点) YOLOV4 源代码日志解读 yo ...

  2. 三、git学习之——管理修改、撤销修改、删除文件

    一.管理修改 现在,假定你已经完全掌握了暂存区的概念.下面,我们要讨论的就是,为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件. 你会问,什么是修改?比如你新增了一行, ...

  3. centos7 mysql 自动补全

    1 yum -y install epel-release #配置erel源 2 yum -y install python-pip 3 pip install mycli #用pip安装 可能会出现 ...

  4. sqli-labs less32-37(宽字节注入)

    less-32 Bypass addslashes() less-33 Bypass addslashes() less-34 Bypass Add SLASHES less-35 addslashe ...

  5. Sharding-JDBC分库分表简单示例

    1. 简介 Sharding是一个简单的分库分表中间件,它不需要依赖于其他的服务,即可快速应用在实际项目的分库分表策略中. 2. 初始化数据库(db0.db1.db2) 1 #创建数据库db0 2 C ...

  6. 初阶项目一-集成一套linux系统:红帽系统,LVM分区,Apache服务,MySQL服务,数据定时备份脚本

    目录 一.项目目标 二.实施工具 三.项目实施计划 四.安装rhel7.5操作系统 4.1 配置虚拟机 4.2 安装操作系统 4.3 系统配置 4.3.1 网络配置 4.3.2 修改主机名 4.3.3 ...

  7. 属于同一网段的ip是不是就在同一个局域网?

    参考文章链接: https://zhidao.baidu.com/question/350887200.html?qbl=relate_question_0&word=%D4%DA%D2%BB ...

  8. matplotlib之scatter

    Matplotlib之scatter 1,使用scatter绘制散点图并设置其样式: 1 import matplotlib.pyplot as plt 2 3 '''使用scatter绘制散点图并设 ...

  9. 让API并行调用变得如丝般顺滑的绝招

    当数据量较大的时候,都会通过分库分表来拆分,分担读写的压力.分库分表后比较麻烦的就是查询的问题,如果不是直接根据分片键去查询的话,需要对多个表进行查询. 在一些复杂的业务场景下,比如订单搜索,除了订单 ...

  10. Adnroid 源码学习笔记:Handler 线程间通讯

    常见的使用Handler线程间通讯: 主线程: Handler handler = new Handler() { @Override public void handleMessage(Messag ...