Python自动化测试实战篇(1)读取xlsx中账户密码,unittest框架实现通过requests接口post登录网站请求,JSON判断登录是否成功

在这里插入图片描述


关于本篇的完整代码已经上传有需要的可以进行下载

Python接口项目实战篇(1)

实现功能描述

本篇需要实现的功能就是读取xlsx中的账户密码,来实现requests接口post登录网站的请求本篇使用的网站是cms系统
关于这个系统大家可以在网上搜寻一下。具体功能实现流程的如图所示
在这里插入图片描述

1.首先获取到接口

谷歌浏览器中获取接口信息

登录之后点击开发者工具
在这里插入图片描述
再点击网络,再点Fetch/XHR抓取接口
在这里插入图片描述
我们可以看到我们抓取的接口就是这个loginJump.do接口,有了这个接口之后我们可以对它进行登录的请求

在这里插入图片描述

fiddler里面抓取接口信息

登录之后点击跳转就会看到登录的信息
在这里插入图片描述
点击json查看返回的数据,这条数据是一个很好用来判断json登录是否成功的一种情况,我们可以用这个msg来判断是否登陆成功
在这里插入图片描述

2.创建一个xlsx文档

如果你没有在python中安装xlrd可以直接在pycharm中用python interpreter中点加号进行安装,注意一定要用xlrd1.2版本如果高于这个版本是无法连接xlsx文档
在这里插入图片描述
在这里插入图片描述
xlsx中的账号密码
在这里插入图片描述

3.导入我们需要使用的包

import os
import xlrd
import unittest,requests
from ddt import ddt,data,unpack

4.用xlrd读取xlsx文档中的内容

class read_xlsx:
    def __init__(self,file):
        self.read_file = xlrd.open_workbook(os.path.join('D:\pythonpj\pytest',file))#读取本地xlsx的地址包
    def get_xlsx(self,idex):
        sheet_idex = self.read_file.sheet_by_index(idex)
        key =sheet_idex.row_values(0)
        l=[]
        for i in range(1,sheet_idex.nrows):#统计页中行数
            values = sheet_idex.row_values(i)
            print(values)
            key_values=zip(key,values)#创建迭代器
            dt = dict(key_values)#对key和values值进行字典拼接
            l.append(dt)#添加值进去l中
        return l
# read_xlsx('ex.xlsx')
da_ta=read_xlsx('ex.xlsx').get_xlsx(0)

代码写完后已经可以成功获取到本地的xlsx文档内的账号密码以字典的形式输出
在这里插入图片描述

5.通过unittest框架实现requests post接口登录

@ddt #使用ddt
class logjump(unittest.TestCase):
    @data(*da_ta)
    @unpack
    def test_lojump(self,**tst):#需要用test命名才能用unittest的测试框架
        url='http://192.168.52.129:8080/cms/manage/loginJump.do'
        headers = {'Content-Type': 'application/x-www-form-urlencoded'}
        data = {'userAccount': tst['username'],
                'loginPwd': int(tst['pwd'])}  # 将键值对存放
        rps= requests.post(url=url,headers=headers,data=data)#传参
        print(rps.text)
        js =rps.json()#获取json值
        if js['msg']=='登录成功!':#设定断言
            print('恭喜你接口登录成功')
        else:
            print('接口登录不成功')
        assert js['msg'] == '登录成功!'  # 捕获断言
if __name__ == '__main__':
    unittest.main()

6.结果

可以看到unittest运行结果,第一个我们输入的账号密码正确,接口登录成功,第二我们输入的账号正确,密码错误,也就登录不成功,接口也登陆不成功,用例显示也是显示失败,因为第二个返回的json数据中msg值并不存在,相应的数据内容,所以就会报错。
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
# Interface-Automation-Test 基于python requests + unittest 实现接口自动化测试脚本 技术栈:python 3.7 + requests + unittest 依赖库: pip3 install requests==2.6.0 pip3 install xlrd==1.1.0 pip3 install XlsxWriter pip3 install pandas 实现功能: 1.在excel编写测试用例,自动执行测试用例,自动生成测试报告; 2.token(令牌)自动认证,开始输入账号密码,将自动获取token,后续请求需要token的地方将自动填充; 3.多excel支持。 使用方式: 1.将一个或n个测试用例文件放在cases目录下,测试用例扩展名为.xlsx; 2.执行runner.py; 3.自动执行测试; 4.最后在report目录下生成 n+1 个测试报告。包括一个聚合报告和n个以cases目录下用例excel名为基础的分类报告 -------- 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! <项目介绍> 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轻烟飘荡

我想吃甜筒

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值