当前位置: 首页 > news >正文

python(进阶2)实现自动化注册和登录

1. 分析需求

后端完成接口以后,工作中可能会涉及到自测通断,a接口和b接口之间可能有关联关系,例如:a接口注册,b接口登录,就需要a接口返回的参数传递到b接口

2. 环境准备

需要这些类包

import requests
import random

3. 实战代码

先准备2个接口
注册接口:https://xxx/register
登录接口:https://xxx/login
注册需要的参数


register_data = {"email": random_str + "@189.com","passwd": "12345678","repasswd": "12345678",
}

这里需要的是邮箱注册,由于需要反复测试,所以写了一个随机字符方法

def generate_random_string(length):characters = string.ascii_letters + string.digits  # 小写字母+大写字母+数字random_string = ''.join(random.choice(characters) for _ in range(length))return random_string

发送注册请求

with requests.Session() as s:register_response = s.post(register_url, data=register_data)register_result = register_response.json()  # 检查注册是否成功if register_result['code'] == 200:print("注册成功!")

这里判断注册是否成功,成功后再执行登录方法

# 使用注册时提供的email和密码进行登录login_data = {"email": register_data['email'],  # 使用注册时提供的email"passwd": register_data['passwd']  # 使用注册时设置的密码}# 发送登录请求login_response = s.post(login_url, data=login_data)# 检查登录是否成功(这里需要根据实际的响应格式来判断)if login_response.status_code == 200:print('登录成功')

这样就完成了在连贯的流程里自动化测试,如果还有更多的接口都可以直接再下面去扩展。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 漫谈设计模式 [17]:状态模式
  • ✨机器学习笔记(二)—— 线性回归、代价函数、梯度下降
  • Windows本地制作nginx证书
  • python中的循环结构
  • MonoHuman: Animatable Human Neural Field from Monocular Video 精读
  • 树莓派5_opencv笔记27:Opencv录制视频(无声音)
  • 使用Spring Boot集成Spring Data JPA和单例模式构建库存管理系统
  • v0.dev快速开发
  • 两数之和--力扣1
  • JS手写实现深拷贝
  • 深入探究 Spring 的扫描原理
  • 探索国产编程工具:如何实现工作效率翻倍
  • VMware安装Ubuntu虚拟机
  • linux 安装redis
  • 以太网--TCP/IP协议(一)
  • 《深入 React 技术栈》
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • Angular 响应式表单 基础例子
  • Brief introduction of how to 'Call, Apply and Bind'
  • docker python 配置
  • Java深入 - 深入理解Java集合
  • Map集合、散列表、红黑树介绍
  • 使用agvtool更改app version/build
  • 一文看透浏览器架构
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • 阿里云服务器如何修改远程端口?
  • 阿里云移动端播放器高级功能介绍
  • 组复制官方翻译九、Group Replication Technical Details
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #git 撤消对文件的更改
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (js)循环条件满足时终止循环
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (附源码)php新闻发布平台 毕业设计 141646
  • (汇总)os模块以及shutil模块对文件的操作
  • (十三)MipMap
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .Net 6.0 处理跨域的方式
  • .NET Core WebAPI中封装Swagger配置
  • .net framework4与其client profile版本的区别
  • .NET Project Open Day(2011.11.13)
  • .net SqlSugarHelper
  • .NET构架之我见
  • .NET技术成长路线架构图
  • @property python知乎_Python3基础之:property
  • @value 静态变量_Python彻底搞懂:变量、对象、赋值、引用、拷贝
  • [ 网络基础篇 ] MAP 迈普交换机常用命令详解
  • [5] CUDA线程调用与存储器架构
  • [android] 看博客学习hashCode()和equals()
  • [Android]通过PhoneLookup读取所有电话号码
  • [c++] C++多态(虚函数和虚继承)
  • [C++] new和delete
  • [error] 17755#0: *58522 readv() failed (104: Connection reset by peer) while reading upstream
  • [go 反射] 进阶