接口自动化【一】(抓取后台登录接口+postman请求通过+requests请求通过+json字典区别)

这篇具有很好参考价值的文章主要介绍了接口自动化【一】(抓取后台登录接口+postman请求通过+requests请求通过+json字典区别)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章目录

  • 前言
  • 一、requests库的使用
  • 二、json和字典的区别
  • 三、后端登录接口-请求数据生成
  • 四、接口自动化-对应电商项目中的功能
  • 五、来自postman的代码-后端登录
  • 总结

前言

记录:json和字典的区别,json和字段的相互转化;postman发送请求与Python中代码发送请求的区别。


一、requests库的使用

安装:
pip install requests

官方文档:https://docs.python-requests.org/zh_CN/latest/

1、导入requests

2、requests的请求方法:
requests.get(url,param=None) 发起get请求。params是请求参数,是追加在url后面的。字典类型。

requests.post(url,data=None,json=None) 发起post请求:

data参数:任意的content-type都可以用参数传参。

不指明content-type的情况下,默认的content-type是x-www-form-urlencoded,且是字典格式。

如果是其它的content-type,需要在headers当中,加上content-type类型。

json参数: 给content-type为application/json格式使用的。

字典类型   不需要在header当中指定content-type
 

以上2个方法,都是使用的requests.request(method,url,**kwargs)

Requests类 - 
Response类 - 
 resp.headers是响应头
 resp.status_code是响应状态码
 resp.text是字符串类型

接口自动化【一】(抓取后台登录接口+postman请求通过+requests请求通过+json字典区别)

二、json和字典的区别

学习地址:https://www.w3cschool.cn/json/

一些区别:

字符串:
json: 双引号。
python字典:单引双号都可以。

python: None
java/javascript: null(python不认识。如果响应结果当中有null, 需要转换成None) 

布尔值:
json: true,false
python:True, False

字典:数据类型。
json: 数据格式。 json格式的字符串

注意:json其实是字符串(只不过这种字符串是格式化了的字符串,也就是长得像字典的字符串),字典是数据类型

json格式的字符串和字典之间的转换:json库

内置库:json
json.loads(json串)  把json串,转换成python字典
json.dumps(python字典对象,indent=空格个数)  把python字典,转换成json串。indent是格式化展示json串

可以这样记忆:load向下(向下就更高级转化成字典),dump向上(向上就是向原始数据转化,就是字符串)

关于requests处理json参数的文章:
     https://www.cnblogs.com/Simple-Small/p/9830270.html

举例(不完善):

建议看我另一篇文章有详细阐述(Python中的接口测试中关于request方法中的json和data参数接收数据的区别_python request接收json_宏基骑士的博客-CSDN博客)

接口自动化【一】(抓取后台登录接口+postman请求通过+requests请求通过+json字典区别)

 接口自动化【一】(抓取后台登录接口+postman请求通过+requests请求通过+json字典区别)

三、后端登录接口-请求数据生成

免费公开的api: 聚合数据 - https://www.juhe.cn/docs?bd_vid=7361015517896645400

举例(一个登录接口):
url: http://mall.lemonban.com:8108/adminLogin

method: post

请求数据:

        t(可选): 时间戳(13位)  int(time.time()*1000)

        principal(必传): 用户名

        credentials(必传): 密码

        sessionUUID(可选):uuid

        imageCode(必传): 验证码

注意点:

1、关于Python生成UUID

文章:https://blog.csdn.net/yl416306434/article/details/80569688

2、验证码:

1)万能验证码:lemon

2)第三方打码平台: 图鉴(http://www.ttshitu.com/)

代码截图(验证码为万能验证码时):

接口自动化【一】(抓取后台登录接口+postman请求通过+requests请求通过+json字典区别)

四、接口自动化-对应电商项目中的功能

举例:

1、登录后台管理
2、添加一个商品
3、注册前台用户
4、登录前台用户
5、购买、下订单、支付

五、来自postman的代码-后端登录

接口自动化【一】(抓取后台登录接口+postman请求通过+requests请求通过+json字典区别)

第一种写法(直接拿取postman当中的Python写法)

接口自动化【一】(抓取后台登录接口+postman请求通过+requests请求通过+json字典区别)

另一种写法(不使用json库去序列化字典):

接口自动化【一】(抓取后台登录接口+postman请求通过+requests请求通过+json字典区别)

注意:我们从第二写法很第一种写法对比,发现第二种写法少了请求头,那么想想这是为什么呢?

因为,我们使用第一种方式时,原本data默认的是x-www-form-urlencoded这种格式,是不需要指明请求头的,那么使用其他格式的时候,需要在请求头里面指明  'Content-Type': 'application/json'。当然这里只是针对data传参才会特别去指明请求头。

如果使用的是第二方式,那么就不需要在请求头里面指明  'Content-Type':  因为有个关键字参数json,这个就直接自动转化成了json格式的字符串,其实对应postman中,就是raw(原始数据),而这个原始时间就是json格式。

也就是说:Python里面提供了2种处理数据的方式。就看看自己喜欢用哪种了。


 

总结

暂无文章来源地址https://www.toymoban.com/news/detail-428308.html

到了这里,关于接口自动化【一】(抓取后台登录接口+postman请求通过+requests请求通过+json字典区别)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • postman自动化接口测试

      📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢交流讨论:欢迎加入我们一起学习! 📢资源分享:耗时200+小时精选的「软件测试」资料包 📢 最困难的时候,也就是我们离成功不远的时候!   有一个项目要使用postman进行接口测试

    2024年02月02日
    浏览(59)
  • postman从接口测试到接口自动化

    目录 1.postman发送请求 (1)HTTP请求 (2)HTTP响应 (3)postman发送get请求   (4)发送post请求 1 以表单形式发送请求 2.以json格式发送请求 2.postman的断言 3.全局变量和环境变量 1.手动设置全局变量和环境变量 2.代码设置全局变量和环境变量 3.查看和编辑  4.全局变量和环境变量的

    2023年04月09日
    浏览(32)
  • Postman实现接口自动化测试

    功能测试从页面发起请求进行测试,接口测试可以借助工具或代码直接将数据发送到服务端进行测试。  功能测试和接口测试对应的时间 接口测试的流程  URL的组成 HTTP:超文本传输协议,基于请求与响应的应用层协议 作用:规定了客户端与服务器之间信息传递规范,是二者共

    2024年01月19日
    浏览(50)
  • Postman —— 实现接口自动化测试!

    目录 postman使用 postman进行简单压力测试 1、新建一个fodder,在fodder下添加要进行压力测试的接口: 2、post接口测试,参数从txt导入 3、设置 Pre-request-Script 参数 4、设置test(便于观察测试结果) 5、保存请求,点击runner,按如下设置 6、设置Iteration 7、测试结果 参考: 返回目录

    2024年03月09日
    浏览(37)
  • postman做接口自动化测试

    可能是目前最好用的web接口调试工具 无需注册(注册后可多终端同步用例) 免费(每年付费$60可用云服务,30天免费试用) 保存历史记录 支持录制请求 基于Chrome的V8引擎,支持JS脚本(基本支持ES6,浏览器相关对象和API和require() import等除外) 同样的代码和用例可用于自动化

    2024年02月03日
    浏览(43)
  • Postman接口自动化测试实例

    在实际业务中,经常会出现让用户输入用户密码进行验证的场景。而为了安全,一般都会先请求后台服务器获取一个随机数做为盐值,然后将盐值和用户输入的密码通过前端的加密算法生成加密后串传给后台服务器,后台服务器接到到请求后,先获取校验原来的随机数是否有

    2024年02月11日
    浏览(47)
  • Postman如何做接口自动化测试?

    前言 什么是自动化测试 把人对软件的测试行为转化为由机器执行测试行为的一种实践。 例如GUI自动化测试,模拟人去操作软件界面,把人从简单重复的劳动中解放出来。 本质是用代码去测试另一段代码,属于一种软件开发工作,已经开发完成的用例还必须随着被测试对象的

    2024年04月10日
    浏览(39)
  • postman接口自动化测试框架实战!

    把人对软件的测试行为转化为由机器执行测试行为的一种实践。 例如GUI自动化测试,模拟人去操作软件界面,把人从简单重复的劳动中解放出来。 本质是用代码去测试另一段代码,属于一种软件开发工作,已经开发完成的用例还必须随着被测试对象的改变而更新,因此,还

    2024年02月11日
    浏览(42)
  • 接口自动化测试:Postman实战教程!

    (1)服务器端(server): 在使用别人的服务器上,例如微信APP客户端,服务端在腾讯的服务端上,微信上的账号信息,聊天记录均存储在服务端上;用户A发送1条信息到服务端上,服务端再把这条信息转发到用户B上。 服务器使用的语言分别为:Java、Python、PHP、Go、C、C++等等

    2024年04月28日
    浏览(26)
  • 使用Postman进行接口自动化测试

    我们先思考一下,如果需要达到自动化接口测试的效果,那么我们在基本的模拟请求上还需要做哪些呢? 以下我粗略概括为 3 个问题(欢迎更多补充与建议): 如何判断接口是否请求成功 如何进行接口批量、定期测试 如何处理依赖接口问题(比如商品下单的接口必须要求

    2024年01月18日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包