技术分享 | 实战演练接口自动化如何处理 Form 请求?
在服务端自动化测试过程中,Form 请求代表请求过程中,请求体为表单类型。其特点为:数据量不大、数据层级不深的情况、使用键值对传递。Form 请求头中的content-type通常对应为application/x-www-form-urlencoded。碰到这种类型的接口,使用 Java 的 REST Assured 和 Python 的 Requests 均可解决。
实战练习
Python 版本
在 Python 版本中,可以使用 data 参数传输表单数据,data 参数以字典的形式,字典是以键值对的形式出现。
class TestFormData:
def test_data(self):
data = {
"school":"hogwarts"
}
r = requests.post("https://httpbin.ceshiren.com/post",
data=data)
print(r.json())
运行结果:
{
"args": {},
"data": "",
"files": {},
"form": {
"school": "hogwarts"
},
...省略...
"json": null,
"origin": "113.89.10.187",
"url": "https://httpbin.ceshiren.com/post"
}
Java 版本
import static io.restassured.RestAssured.*;
public class Requests {
public static void main(String[] args) {
given().formParams("school", "hogwarts").when().post("https://httpbin.ceshiren.com/post").
then().log().all();
}
}
使用抓包工具查看过程数据(参考代理配置章节),其中多了 Form 格式展示,以 name 和 value 的形式显示,具体结果如下图所示:
最后: 可以在公众号:【伤心的辣条】 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
现在我邀请你进入我们的软件测试学习交流群:【
746506216
】,备注“入群”, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!
软件测试工程师自学教程:
这才是2022最精细的自动化测试自学教程,我把它刷了无数遍才上岸字节跳动,做到涨薪20K【值得自学软件测试的人刷】
软件测试工程师月薪2W以上薪资必学技能 — Python接口自动化框架封装.
美团面试真题_高级测试25K岗位面试 — 软件测试人都应该看看
软件测试必会_Jmeter大厂实战 — 仅6步可实现接口自动化测试
相关文章
- Go测试技术分享(一):场景化接口Case编写
- HTML5 manifest离线缓存技术
- 写技术文章必备的几个小工具
- 如何通过 Serverless 技术降低微服务应用资源成本?
- Atitit 音频技术实践 艾提拉著 目录 1. 常用的通用技术2 1.1. Nlp 云识别 api 爬虫技术2 1.2. Html解析2 1.3. ffmpege2 1.4. jfug
- Atitit 项目常用模块 非业务模块 通用技术模块 attilax大总结 理论上可行。但要限制接口方式。 不然现在很多ui与后端接口模式很多,导致组合爆炸。。。 常用模块也就100来个而已。。
- AI之FL:联邦学习(Federated Learning,分布式机器学习技术)的分类详解(纵向联邦学习/横向联邦学习)、使用方法、实战案例之详细攻略
- High&NewTech:Gartner发布2021年新兴技术成熟度曲线和2022年重要战略技术趋势(信任、增长和变革三大新兴技术趋势)解读
- 技术实践丨如何解决异步接口请求快慢不均导致的数据错误问题?
- 技术实践丨Prometheus+Grafana搭建HBase监控仪表盘
- 【华为云技术分享】云图说 | 云硬盘还可以共享?!不了解你就out了
- 【华为云技术分享】#探索鲲鹏#之“在鲲鹏上使用编程语言——C语言
- 【华为云技术分享】漫谈LiteOS-Huawei_IoT_Link_SDK_OTA 开发指导
- Fast Flux技术——本质就是跳板,控制多个机器,同一域名指向极多的IP(TTL修改为0),以逃避追踪
- FPGA - 7系列 FPGA内部结构之SelectIO -01- 简介与DCI技术简介
- 【技术选型】Java 定时任务
- 广域网技术——iFIT