摘要:前言 最近学习完了requests、pytest,实践出真知。下面以禅道为例。docker方式搭建禅道 一、Pycharm中创建项目结构 1.新建一个工程,工程名称自己定义,如:zentao 2.在工程的根目录下新建一个conftest.py(测试用例的一些fixture配置)和pytest.ini
阅读全文
摘要:requests 发送http请求类型:get、post、put、delete、head get 参数:params 值:字典格式 嵌套列表 array数组 import requests from urllib.parse import unquote url="http://www.exampl
阅读全文
摘要:前言 做接口测试的时候,大部分情况下返回的是json数据,我们需要对返回的json断言。 当返回的数据量比较大,并且嵌套的层级很深的时候,很多小伙伴不会取值,往往在返回结果取值上浪费很多时间,于是就有了jsonpath解析库,专门解决json路径深,取值难的问题。 字典取值 对接口返回的json,转
阅读全文
摘要:前言 如何判断一个文件的类型呢,判断这个文件是png还是jpg,还是MP3文件?filetype包是python用来判断文件类型的依赖包,github地址:https://github.com/h2non/filetype.py filetype安装 pip install filetype 简介
阅读全文
摘要:前言 使用传统的http发get请求时,如果传参为array数组,参数名称为a时,可以这样传值a=1&a=2&a=3,但是当只有一个时,这种方式就不合理了。 get请求还有另外一种方式传array数组,在参数名称后面加个[],如:a[]=1,2,3 参数名称一样 如果抓包看到是这种格式:http:/
阅读全文
摘要:前言 “由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败”,这是经常遇到的问题requests.exceptions.ConnectionError: HTTPSConnectionPool(host='www.github.com', port=443): Max retrie
阅读全文
摘要:前言 requests虽好,但有个遗憾,它无法加载JavaScript,当访问一个url地址的时候,不能像selenium一样渲染整个html页面出来。 requests-html终于可以支持JavaScript了,这就相当于是一个真正意义上的无界面浏览器了。 JavaScript支持 当第一次使用
阅读全文
摘要:前言 python拥有众多的爬虫框架,其中最简单的莫过于requests-html了。它和著名的网络请求库requests是同一个作者,着重于XML数据提取,可以说是最简单的爬虫框架了。 环境安装 pip install requests-html 该库旨在解析HTML(例如,抓取Web)尽可能简单
阅读全文
摘要:前言 urllib.parse里面三个方法:urlencode,quote,unquote详解。 在做接口自动化过程中,http协议在发送url的时候,是以urlencode的编码格式传过去的,通常requests库会帮我们自动处理了。但是服务端返回的url地址,有时候是以urlencode的编码传
阅读全文
摘要:前言 参数关联是接口测试和性能测试最为重要的一个步骤,很多接口的请求参数是动态的,并且需要从上一个接口的返回值里面取出来,一般只能用一次就失败了。 最常见的案例就是网站的登录案例,很多网站的登录并不仅仅只传username和psw两个参数,往往有其它的动态参数。 有时候还需要带上cookies参数,
阅读全文
摘要:前言 在发post请求的时候,有时候body部分要传data参数,有时候body部分又要传json参数,那么问题来了:到底什么时候传json,什么时候传data? 一、识别json参数 1.post请求的body通常有四种类型,最常见的就是json格式了。 2.用抓包工具查看,首先点开Raw去查看b
阅读全文
摘要:前言 multipart/form-data这种格式官方文档给的参考案例比较简单,实际情况中遇到会比较复杂,本篇讲解multipart/form-data的表单如何提交,非图片上传。 禅道提交bug 1.以禅道提交bug为参考案例,手动操作一次提交bug,抓包查看Content-Type:multi
阅读全文
摘要:前言 在提交表单操作的时候,经常会遇到图片上传的操作,图片上传是一个单独的接口,本篇以禅道为例,介绍如何上传图片 上传接口 1.以禅道上提交bug为例,在选择图片时,点确定按钮,就是上传图片了。 2.用fiddler抓包,查看抓到的接口,以下这种接口就是multipart/form-data 先登录
阅读全文
摘要:前言 post请求相对于get请求多一个body部分,body部分常见的数据类型有以下四种(注意是常见的,并不是只有4种) application/x-www-form-urlencoded application/json text/xml multipart/form-data 本篇讲xml这种
阅读全文
摘要:前言 开放的接口为了避免被别人乱调用,浪费服务器资源,这就涉及到签名(Signature)加密了 API使用签名方法(Signature)对接口进行鉴权(Authentication)。每一次请求都需要在请求中包含签名信息,以验证用户身份。 接口签名 1.根据需求文档,看接口的签名规则,每个公司的签
阅读全文
摘要:前言 Content-Type类型为octets/stream,这种一般是文件类型了,比如有时候需要导出excel数据,下载excel这种场景如何用python来实现呢? 抓下载接口 1.使用fiddler工具抓包,先找到导出按钮,点导出时候抓包 2.抓到数据如下 代码实现 1.生成excel的路径
阅读全文
摘要:前言 requests发请求时,接口的响应时间,也是我们需要关注的一个点,如果响应时间太长,也是不合理的。 如果服务端没及时响应,也不能一直等着,可以设置一个timeout超时的时间。 elapsed官方文档 1.elapsed方法的官方文档地址:http://cn.python-requests.
阅读全文
摘要:requests-toolsbelt 1.官方文档地址:requests-toolsbelt官方文档 2.环境安装 pip install requests-toolbelt multipart/form-data传文件 from requests_toolbelt import Multipart
阅读全文
摘要:前言 上传附件的时候,文件的name参数名称是一样的,python里面key是不可以重复的,又如何处理参数名称相同的情况? 上传附件 OPMS——员工相册上传图片,提示成功,访问响应中的url也可以访问到该图片,web页面和数据库却没有该条数据;无解ing 禅道项目 1.下面以禅道提交bug的时候上
阅读全文
摘要:下面来看一些python的单元测试框架unittest。 unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发 与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果。 unittest官网: https://doc
阅读全文