测试平台系列(40) 找个开源项目测试

简介: 找个开源项目测试

大家好,我是米洛,一个测试开发博主,world很大, 你应该去看看!


回顾


上周插播了一个github登录的内容,没啥反响。那我们这周就继续完善用例相关的内容。

题外话


其实虽然我在做这样一个测试平台,但其实就像饭哥说的,存在一些问题:

  • 自己的平台没有落地
  • 半成品
  • 自己都没有亲身使用
    确实,虽然上家公司支撑到了百分之90多的业务线,但是里面结合了很多公司的内容,比如grpc微服务自动寻址yapi内部发布系统,数据工厂等相关的内容。
    这个项目虽然和当时的内容如出一辙(换了一种语言实现),但确又不太一样。
    为了更好地支持平台的发展,加上时间关系,所以我打算挑选一个麻雀虽小,但又五脏俱全的项目来进行测试。
    为了后续覆盖率相关的功能,我得找一个开源的Java项目,于是我发现了它,一个博客系统基于springboot+vue+element-ui:

14.jpg

image

一般这样开源的项目都差不多是个半成品,但只要他有完善的登录(token/cookie机制),加上有一部分crud功能就行。

这个地址我已经部署到我自己的服务器了,以后就可以直接来测试这个服务了,但第一步我们先要拎出里面的接口数据。

服务地址: http://47.112.32.195:8081/index.html

开始研究


大概翻阅了一下它的认证模块,采用的是spring-security,这是我没接触过的全新领域。

不过咱们不用慌,先看看他的登录是咋耍的。

15.jpg

请求数据

16.jpg

返回数据

可以看到,它是一个form表单的POST请求,返回的内容还没有token这样的信息。这可如何是好?别怕,我们做这样的工具,不怕特例多,就怕特例少,导致兼容性不好

咱们好像之前只支持了JSON,我们调试一下登录接口,确认一下:

17.jpg

header部分

18.jpg

可以看到登录失败了

找下原因


19.jpg

通过debug发现username是空字符串

项目地址: https://github.com/lenve/VBlog.git

我们把项目拉到本地https://github.com/lenve/VBlog.git debug发现,username是空字符串。


大概率是我们的requests请求的姿势不对,那怎么办呢?

先看看我们现在的requests请求方法怎么封装的。

20.jpg

image

可以看到是这样封装的,然而我们的body是个字符串,但是如果我们要请求form表单的时候,body需要是dict。

改造如下:

21.jpg

image

如果Content-Type里面带有form了,那我们把body要变成dict(通过json.loads)。

改造后实验一下:

22.jpg

image

如此,我们便支持了json还有form的http请求,至于file类型,我们遇到再继续研究。


可是token呢?

别急,我们切换到Cookietab,可以看到Cookie里面已带上了JSESSIONID,我们可通过这个,继续我们后面需要登录的请求。与token相差不大。

23.jpg

image

记一下优化点,当请求类型切换到form/json的时候自动改变Content-Type,这样体验会更好一些!

下一篇,我们开始编写数据初始化相关的工作。比如我要查询一篇文章,需要先登录,那么需要初始化的数据就是上面提到的JSESSIONID




相关文章
|
1天前
|
机器学习/深度学习 人工智能 自然语言处理
MarS:微软开源金融市场模拟预测引擎,支持策略测试、风险管理和市场分析
MarS 是微软亚洲研究院推出的金融市场模拟预测引擎,基于生成型基础模型 LMM,支持无风险环境下的交易策略测试、风险管理和市场分析。
26 8
MarS:微软开源金融市场模拟预测引擎,支持策略测试、风险管理和市场分析
|
23天前
|
人工智能 自然语言处理 前端开发
CodeArena:在线 LLM 编程竞技场!用于测试不同开源 LLM 的编程能力,实时更新排行榜
CodeArena 是一个在线平台,用于测试和比较不同大型语言模型(LLM)的编程能力。通过实时显示多个 LLM 的代码生成过程和结果,帮助开发者选择适合的 LLM,并推动 LLM 技术的发展。
50 7
CodeArena:在线 LLM 编程竞技场!用于测试不同开源 LLM 的编程能力,实时更新排行榜
|
2月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
40 6
|
2月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段。本文介绍了 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,强调了样本量、随机性和时间因素的重要性,并展示了 Python 在 A/B 测试中的具体应用实例。
31 1
|
2月前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
35 4
|
2月前
|
人工智能 供应链 安全
AI辅助安全测试案例某电商-供应链平台平台安全漏洞
【11月更文挑战第13天】该案例介绍了一家电商供应链平台如何利用AI技术进行全面的安全测试,包括网络、应用和数据安全层面,发现了多个潜在漏洞,并采取了有效的修复措施,提升了平台的整体安全性。
|
2月前
|
网络协议 关系型数据库 应用服务中间件
【项目场景】请求数据时测试环境比生产环境多花了1秒是怎么回事?
这是一位粉丝(谢同学)给V哥的留言,描述了他在优化系统查询时遇到的问题:测试环境优化达标,但生产环境响应时间多出1秒。通过抓包分析,发现MySQL请求和响应之间存在500毫秒的延迟,怀疑是网络传输开销。V哥给出了以下优化建议:
|
2月前
|
监控 安全 测试技术
构建高效的精准测试平台:设计与实现指南
在软件开发过程中,精准测试是确保产品质量和性能的关键环节。一个精准的测试平台能够自动化测试流程,提高测试效率,缩短测试周期,并提供准确的测试结果。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
150 1
|
3月前
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
329 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
2月前
|
编解码 人工智能 自然语言处理
迈向多语言医疗大模型:大规模预训练语料、开源模型与全面基准测试
【10月更文挑战第23天】Oryx 是一种新型多模态架构,能够灵活处理各种分辨率的图像和视频数据,无需标准化。其核心创新包括任意分辨率编码和动态压缩器模块,适用于从微小图标到长时间视频的多种应用场景。Oryx 在长上下文检索和空间感知数据方面表现出色,并且已开源,为多模态研究提供了强大工具。然而,选择合适的分辨率和压缩率仍需谨慎,以平衡处理效率和识别精度。论文地址:https://www.nature.com/articles/s41467-024-52417-z
53 2