![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
接口自动化
文章平均质量分 79
测试框架,接口知识。
久醉绕心弦,
人生短短几个秋!
展开
-
padans读取excel
Pandas:是一个强大的分析结构化数据的工具集(官方网址:https://www.pypandas.cn),功能很多,本篇只介绍下excel数据读取的一些方法。安装:pip install pandasexcel文件内容如下:login表单:checkRegister表单:读取excel方法:read_excel(),不指定表单的情况下默认读取第一个表单的数据,以二维矩阵的格式展示,如下:如指定表单则需要传入表单名称:也可以指定多个表单名称,以列表形式赋值给sheet_name:还可原创 2021-01-18 17:26:23 · 540 阅读 · 1 评论 -
python yaml模块基础使用
yaml是专门用来写项目中的配置文件的模块。配置文件指在一个项目中,对项目进行配置的一些数据,运行过程中一般不会发生变化。安装yamlpip install pyyaml新建一个yaml文件,以yaml或yml为后缀名:config.yaml内容如下:#信息info: name: 'zhangsan' age: 18 gender: '男'#兴趣爱好hobby: - playgames - sleep语法规则如下:1.使用缩进表示层级关系2.缩进最好使用空格,数目不固定原创 2020-06-02 14:39:31 · 878 阅读 · 0 评论 -
Python pymysql模块--基础使用详解
pymysql模块可以在python种链接MySql数据库,并实现对数据的操作。安装:使用国内源pip3 install pymysql -i https://pypi.douban.com/simple连接数据库:member表如下:连接数据库:import pymysqlconn=pymysql.connect( host="地址",port=3306,user="用户名",password="密码",charset='utf8',)#连接数据库数据库查询:fetchall(原创 2020-06-12 18:00:01 · 1516 阅读 · 0 评论 -
Pyhon logging模块基础详解
Python 中的 logging 模块主要作用是可以跟踪代码运行时的事件生成日志,当程出现错误时可以查看日志并定位问题。日志记录的重要性:在本地调试程序时,如果程序出现了错误,一般都是通过debug模式或print()输出到控制台去查找定位问题。但是如果程序开发完成部署到生产环境,这时候只能看到程序的运行结果,然而代码运行时却出现了本地未出现过的错误;这时如果没有记录log的话,只能一步步调试去尝试复现问题,这样即浪费时间也有很大的概率无法迅速定位到问题。所以日志记录是非常重要的。logging包含原创 2020-05-29 15:15:24 · 554 阅读 · 0 评论 -
Python openpyxl库之Excel读取
上两篇简单介绍了unintest框架,但是用例及测试数据都写在了代码内,如果需要修改数据或查看的话需要去代码里面找,会有点麻烦。接下来结合Excel实际应用进行数据分离;现在主流的测试用例数据都是写在Excel中。需要安装第三方库openpyxl,只支持xlsx的格式pip install openpyxl首先把用例整理到Excel表格,命名为case.xlsx打开文件使用openpyxl.load_workbook(‘case.xlsx’).这里用变量work_book接收work_boo原创 2020-05-26 17:53:59 · 2323 阅读 · 0 评论 -
Python json格式与对象之间的转换
前面写的框架基本上搭建完成了,接下来在逐步优化,这里记录下从excel读取数据时遇到的问题。用以下一条用例举例说明:当从excel读取数据后,在python中是以字符串的格式呈现的,比如我需要用到data和expected里面的数据,这时可以用eval()方法去掉引号而得到字典格式的data,expected部分代码如下:@ddt.ddtclass TestRegiter(unittest.TestCase): @ddt.data(*cases)nu'l'l def testre原创 2020-06-12 14:12:36 · 413 阅读 · 1 评论 -
Python 数据驱动之ddt
前面简单介绍了unittest框架收集与执行测试用例;回顾一下登录用例的代码,如下:import unittest#导入模块from Test_login.login import login#导入被测文件class TestLogin(unittest.TestCase):#定义测试类继承unittest.TestCase类 def setUp(self):#执行每条用例前都会执行 print('每条用例执行前的前置条件') @classmethod def原创 2020-05-27 16:56:44 · 738 阅读 · 9 评论 -
Python requests库基础详解
Requests 库是Python基于 urllib实现的,但它比 urllib 更加方便,可以帮助我们更方便地进行HTTP请求,完全满足 HTTP的测试需求。安装requests库:#别忘了加spip install requests1.get请求以http://www.baidu.com为例传递url,params默认是None(请求数据)import requestsurl='http://www.baidu.com'res=requests.get(url)#发起一个get请求原创 2020-06-08 17:00:21 · 953 阅读 · 1 评论 -
Python 单元测试框架-unittest (一)
(一)什么是单元测试?首先单元是指某个模块中的函数或类,在编写类或函数时,还可以为其编写测试,通过测试可以确定代码的执行结果与预期结果是否一致。其好处,能够精准的,更早的发现问题。(二)unittest模块unittest模块是Python自带的一个单元测试模块,主要包括以下几个核心内容:TestCase:测试用例,一个TestCase的实例就是一个测试用例。TestSuite:测试套件,多个测试用例集合在一起。TestLoader:加载用例,加载TestCase到TestSuite中。Tex原创 2020-05-26 11:03:04 · 921 阅读 · 0 评论 -
Python 单元测试框架-unittest (二)
上篇已经介绍了单个模块的用例执行,如果多个模块的话需要去收集每个模块的用例,然后执行,最终生成测试报告。接下来继续完善项目,写个简单的注册模块以test_开头;这时候需要把test_login,test_register的用例收集在一起,所以需要在创建一个用来运行所有用例的文件run_cases(放在项目的根目录)。项目目录如下:test_register.py代码如下:#注册功能def register(phone,code): if phone!='' and code!='':原创 2020-05-26 15:04:49 · 680 阅读 · 0 评论 -
Python接口自动化测试框架搭建
此框架是基于python的unittest单元测试框架写的。写的有点简单,有些地方可能不是很完整,后期在逐步完善。先来看下框架的目录布局:common :公共的方法目录conf: 配置文件存放目录data :测试数据目录library :存放一些下载第三方的模块logs:日志文件存放的目录reports :测试报告存放目录testcases:测试用例类模块目录run_test.py:主程序,项目的启动文件前面Python专栏里分开写过每个模块的使用(写的有点菜,阅读量总是那么可怜。)原创 2020-06-03 14:22:48 · 14027 阅读 · 11 评论 -
Python接口自动化测试框架完结版--实战(一)
1,接口文档,注册接口为例,2,用例准备3,搭建框架,附截图4,发现执行第二遍时用例失败,需要对手机号参数化5,随机生成手机号,需要与数据库对比。6,数据库封装7,注册成功后根据注册的手机号去查询数据库,校验有没有注册成功,断言查询结果8,生成测试报告。...原创 2020-06-16 18:37:48 · 3697 阅读 · 6 评论 -
Python接口自动化测试框架完结版--实战(二)
上篇已经介绍了一个接口测试的大概整体流程,但是并没有存在一些接口数据的依赖,今天主要介绍下如何处理接口数据的依赖问题。以更改会员信息接口为例,文档如下:基本思路:1.更改会员信息,首先是登录状态下,所以会依赖登录接口2.此项目用的是token的机制,需要获取登录返回的token3.获取登录后的member_id根据以上三点简单的写了一下测试用例如下,data里面的member_id与headers里面的token是需要替换的。member_id可以写死一个,每次都去修改此用户的昵称也是可以原创 2020-06-28 17:45:25 · 1215 阅读 · 11 评论 -
cookies,session,token的简单理解
HTTP协议是无状态协议.无状态是指协议对于事务处理没有记忆能力。这就意味着,如果后续的处理需要用到之前的信息,则必须要重传,这样就导致了每次连接传输的数据量增大。而为了解决HTTP的无状态特性,出现了Cookie和Session技术。Cookies和session1.用户通过客户端发送一个登录请求,服务器校验账号和密码,然后登录成功;这一过程代表的是客户端与浏览器的一次会话过程。而session是一个容器,可以存放会话过程中的任何对象,此时就会把用户名密码存到服务器缓存,代表用户登录过了。2.而服原创 2020-06-05 16:21:56 · 482 阅读 · 0 评论 -
HTTP协议详解
HTTP协议:超文本传输协议(Hyper Text Transfer Protocol)是互联网上应用最为广泛的一种网络协议,默认端口80。HTTPS协议:简单的说就是HTTP的安全版,再HTTP下加入SSL层(Secure Sockets Layer),默认端口443;SSL主要用于web的安全传输协议,再传输层对网络链接进行加密,保障在internet上的数据传输的安全。HTTP请求过程:主要有两部分组成,客户端请求信息与服务器响应信息举例:1.当我们在浏览器输入URL http://www原创 2020-06-05 13:42:19 · 11161 阅读 · 0 评论