【自动化】自动化场景经验

1.先行了解:cookie,session,token

cookie:
  • 概念:是服务器产生的,存在在客户端的一段文本信息。格式是字典
  • 分类:
    • 会话级即session:保存在内存,当浏览器关闭就会丢失
    • 持久化:保存在硬盘,当失效时间到了就会丢失
复制代码
###### 如何鉴权?/如何与http建立联系的?

* 客户端第一次访问服务器,服务器产生cookie并通过响应头的方法在set-cookie中传输到客户端,之后客户端请求服务器时会自动带上该cookie
  • 缺点: 信息保存在客户端,敏感信息不安全
复制代码
###### 鉴权解决方案:

* 取接口A的cookies并写入到yaml文件中;接口B读取yaml文件中的cookies并作为参数传递给请求参数Cookies
session:
  • 概念:服务器产生的且保存在服务器的.

复制代码
###### 如何鉴权?

* 客户第一次访问服务器的时候,服务器端保存一个加密的sessionid,通过cookie将sessionid保存到客户端。客户再次请求服务器端的时候只发送sessionId
  • 优点: 解决了cookie敏感信息保存在客户端不安全的问题

  • 缺点:用户体量大时,会导致服务器崩溃

复制代码
###### 鉴权方案: 使用requests.seesion()自动接口关联cookie

*

      class project:

          # 创建类变量 session对象
          session = requests.session()

          def func(self):

              project.seesion.request(method,url,data)
cookie与session的区别
复制代码
|--------|------------|-------------|
| **区别** | **cookie** | **session** |
| 存储位置   | 保存在本地      | 保存在服务器      |
| 存取方式   | 仅可保存ASCII码 | 任意数据类型      |
| 数据安全性  | 相对较差       | 相对较好        |
| 有效期    | 长时间存在      | 会话结束/浏览器关闭  |
| 存储大小   | 一般不会超过4k   | 无限制         |
token
  • 概念:服务器产生,保存在文件/数据库

  • 分类:

    • access_token:有15分钟时间限制

    • refresh_token: 有15天

复制代码
###### 如何鉴权?

* 用户登录后,发送一个token令牌,下次用户请求时带上token,服务器端解密
复制代码
###### 鉴权方案:

* 取接口A的响应头中的token并写入到yaml文件中;接口B读取yaml文件中的token并作为headers的参数传递
sign签名
  • 应用场景: 第三方支付,银行,金融等安全要求比较高的

2. 验证码的功能处理方式

  • 方式一: 去掉验证码(图片类/短信类)
  • 方式二: 设置万能码(固定的数字验证码/固定图片)
  • 方式三:添加登录成功的cookie
    • 在selenium中使用add_cookie()方法将用户名和密码写入到cookie中来跳过验证

3. 对数据库的校验,使用的场景

  • 用例断言
  • 脚本执行前后的数据初始化和清理
  • 相关接口是否执行成功

4.接口自动化遇到的问题?

  • Q:接口文档不完整
    • A:与开发人员沟通补充文档或者给出接口示例
  • Q:接口请求参数的多样性
    • A: 数据驱动,对请求参数自动化
  • Q: 因网络,服务器等原因导致的用例不稳定
    • A: 加入重试机制和日志记录功能,保证测试的稳定性
  • Q: 接口的错误处理
    • A: 加入异常处理机制
  • Q: 代码质量问题
    • A: 提高代码的可扩展性和可维护性,减少代码重复率
  • Q:接口的请求频率问题
    • A: 控制请求频率,防止系统崩溃
  • Q: 接口变更的频繁
    • A: 及时更新脚本CSDN

5

相关推荐
Android系统攻城狮13 小时前
Linux PipeWire深度解析之pw_stream_new调用流程与实战(七十八)
linux·运维·服务器·音频进阶·pipewire音频实战进阶
weipt14 小时前
从ollama到llama.cpp
linux·服务器·llama
东莞和裕包装15 小时前
如何管控广州定制纸箱生产中的啤切精度与印刷色差质量问题
大数据·运维·网络·人工智能
s_w.h15 小时前
【 计网 】计算机网络基础
服务器·计算机网络
小飞侠在吗16 小时前
Windows 下 Nginx 访问 127.0.0.1 报 50x 错误:根因是路径里 \t 被当成 Tab
运维·windows·nginx
九硕智慧建筑一体化厂家17 小时前
楼宇自控|智慧建筑核心引擎!楼宇自控系统,赋能建筑高效低碳运维
运维·人工智能·笔记·智慧城市
90后小陈老师17 小时前
Google账号申诉处理建议
运维
怪侠_岭南一只猿17 小时前
[简单理解]小龙虾是怎么一回事?
运维·服务器·ai
海兰17 小时前
【应用】Wastnet 框架的 SSE (Server-Sent Events)从协议原理到实践指南
运维·服务器·人工智能
向生18 小时前
FRP 0.61.0 完整保姆级部署教程
运维