Python接口自动化测试之Token详解及应用

以下介绍Token原理及在自动化中的应用。

一、Token基本概念及原理

1.Token作用

为了验证用户登录情况以及减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。

2.什么是Token

Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。

3.Token运行原理

1.当用户首次登录成功之后, 服务器端就会生成一个 token 值,这个值会在服务器保存token值(保存在数据库中),再将这个token值返回给客户端;

2.客户端拿到 token 值之后,进行保存 (保存位置由服务器端设置);

3.以后客户端再次发送网络请求(一般不是登录请求)的时候,就会将这个 token 值附带到参数中发送给服务器;

4.服务器接收到客户端的请求之后,会取出token值与保存在本地(数据库)中的token值进行比较;

5.如果两个 token 值相同, 说明用户登录成功过,当前用户处于登录状态;

6.如果没有这个 token 值, 没有登录成功;

7.如果 token 值不同,说明原来的登录信息已经失效,让用户重新登录;

4.Token认证优点

5.Token和 Cookie、Session 的选型

对于只需要登录用户并访问存储在站点数据库中的一些信息的中小型网站来说,Session Cookies 通常就能满足。如果有企业级站点,应用程序或附近的站点,并且需要处理大量的请求,尤其是第三方或很多第三方(包括位于不同域的API),则 token显然更适合。

二、Token实战

讲了那么多概念和原理,很多小伙伴可能不知道token长啥样,接下来以接口登录为例。

  1. import requests

  2. url = 'http://127.0.0.1:8000/user/login/'

  3. payload = {

  4. "username":"vivi",

  5. "password":"123456"

  6. }

  7. res = requests.post(url,json=payload)

  8. print(res.text)

响应结果如下:

  1. {

  2. "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VybmFtZSI6InZpdmkiLCJleHAiOjE1ODY4NDg5NzgsImVtYWlsIjoidml2aUBxcS5jb20ifQ.a2ExtNVjGrY8T1gefcJTnk4JUOx9NVtCk6lMK8o47co",

  3. "user_id": 1,

  4. "username": "vivi"

  5. }

响应结果有返回token,但是token要怎么用呢,不急,我们一步步来。假设现在有个项目列表的接口,在不登录的前提下,不能访问。
  1. import requests

  2. url = 'http://127.0.0.1:8000/projects/'

  3. pro_res = requests.get(url)

  4. print(pro_res.json())

AI写代码python运行

响应结果:提供认证信息

{'detail': '身份认证信息未提供。'}

AI写代码

AI生成项目

项目列表接口需要携带token,服务器校验成功后,才能成功返回信息

重点来了,如何从登录接口获取token,项目列表接口又如何携带token?

访问登录接口,并获取token。

  1. import requests

  2. url = 'http://127.0.0.1:8000/user/login/'

  3. payload = {

  4. "username":"vivi",

  5. "password":"123456"

  6. }

  7. login_res = requests.post(url,json=payload)

  8. # 从响应结果中获取token值

  9. token = login_res.json()["token"]

  10. print("token:", token)

响应结果为:

token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VybmFtZSI6InZpdmkiLCJleHAiOjE1ODY4NTEyMjksImVtYWlsIjoidml2aUBxcS5jb20ifQ.neqVM5MFGuFbKIUOCqW_qXBajhTTQMfmAs2PWTkEMes

AI写代码

AI生成项目

那项目列表接口又如何携带token呢,token直接加在请求头,这样就可以了么,当然不是,我们还需要在token前加上前缀,前缀由后端设置,见过最多的前缀是:Bearer,不清楚的参照接口文档。

项目列表携带token访问。

  1. import requests

  2. url = 'http://127.0.0.1:8000/projects/'

  3. # 拼接最终的token,注意中间有个空格

  4. token = "Bearer" + " " + token

  5. headers={

  6. "authorization": token

  7. }

  8. pro_res = requests.get(url,headers=headers)

  9. print(pro_res.json())

响应结果为:

  1. {

  2. "count": 2,

  3. "results": [

  4. {

  5. "id": 1,

  6. "name": "自动化测试平台项目1",

  7. "tester": "vivi"

  8. },

  9. {

  10. "id": 2,

  11. "name": "自动化测试平台项目2",

  12. "tester": "coco"

  13. }

  14. ],

  15. "total_pages": 1,

  16. "current_page_num": 1

  17. }

总结:本文主要介绍token基本概念、运行原理及在自动化中接口如何携带token进行访问。

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1139801.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

政府公文信息抽取:AI智能实体侦测服务格式兼容性处理教程

政府公文信息抽取:AI智能实体侦测服务格式兼容性处理教程 1. 引言 1.1 业务场景描述 在政府机关、行政单位和公共事务管理中,每日需处理大量非结构化文本数据,如政策文件、会议纪要、通报材料等。这些文档包含大量关键信息实体——人名、地…

线上医院挂号系统毕业论文+PPT(附源代码+演示视频)

文章目录线上医院挂号系统一、项目简介(源代码在文末)1.运行视频2.🚀 项目技术栈3.✅ 环境要求说明4.包含的文件列表(含论文)数据库结构与测试用例系统功能结构前台运行截图后台运行截图项目部署源码下载线上医院挂号系…

Qwen2.5-7B最佳实践:避开显存坑,云端按需扩容

Qwen2.5-7B最佳实践:避开显存坑,云端按需扩容 引言:当大模型遇上显存焦虑 作为算法工程师,测试Qwen2.5-7B这类大语言模型时,最常遇到的报错就是"CUDA out of memory"。这就像给大象准备了一个小浴缸——模…

Windows玩转Qwen2.5:云端方案比装双系统简单

Windows玩转Qwen2.5:云端方案比装双系统简单 引言 作为Windows用户,你是否遇到过这样的困扰:想体验最新的AI大模型如Qwen2.5,却发现本地运行需要安装Linux双系统,或者配置复杂的开发环境?别担心&#xff…

开源RaNER模型部署教程:AI智能实体侦测服务完整指南

开源RaNER模型部署教程:AI智能实体侦测服务完整指南 1. 引言 1.1 AI 智能实体侦测服务 在信息爆炸的时代,非结构化文本数据(如新闻、社交媒体内容、文档)占据了企业数据的绝大部分。如何从中高效提取关键信息,成为自…

智能实体侦测服务:RaNER模型API开发指南

智能实体侦测服务:RaNER模型API开发指南 1. 引言:AI 智能实体侦测服务的工程价值 在信息爆炸的时代,非结构化文本数据(如新闻、社交媒体、文档)占据了企业数据总量的80%以上。如何从中高效提取关键信息,成…

Qwen2.5-7B模型解析:云端GPU实操,2小时深度体验

Qwen2.5-7B模型解析:云端GPU实操,2小时深度体验 引言:为什么选择Qwen2.5-7B? Qwen2.5-7B是阿里云推出的开源大语言模型,相比前代版本在代码理解、数学推理和中文处理能力上有显著提升。对于技术博主和开发者来说&…

开源NER模型哪个强?AI智能实体侦测服务RaNER实测报告

开源NER模型哪个强?AI智能实体侦测服务RaNER实测报告 1. 引言:为何我们需要高性能中文NER? 在信息爆炸的时代,非结构化文本数据(如新闻、社交媒体、文档)占据了企业数据总量的80%以上。如何从这些杂乱文本…

AI智能实体侦测服务性能对比:RaNER vs 其他主流NER模型

AI智能实体侦测服务性能对比:RaNER vs 其他主流NER模型 1. 引言:为何需要高性能中文命名实体识别? 在信息爆炸的时代,非结构化文本数据(如新闻、社交媒体、文档)占据了企业数据总量的80%以上。如何从中高…

怕浪费钱?Qwen2.5按秒计费方案,用1分钟付1分钟

怕浪费钱?Qwen2.5按秒计费方案,用1分钟付1分钟 引言 作为一名程序员,你是否经常遇到这样的困扰:想尝试最新的AI代码助手,但又担心付费模式不灵活?传统的包月订阅往往需要绑定信用卡,万一用不上…

RaNER模型WebUI定制:多主题样式切换

RaNER模型WebUI定制:多主题样式切换 1. 引言 1.1 AI 智能实体侦测服务 在信息爆炸的时代,非结构化文本数据(如新闻、社交媒体内容、文档)占据了企业数据总量的80%以上。如何从中高效提取关键信息,成为自然语言处理&…

小白友好:Qwen2.5体验全攻略,没技术背景也能懂

小白友好:Qwen2.5体验全攻略,没技术背景也能懂 引言:AI时代的创业助手 作为一位中年创业者,你可能经常听到"大模型"、"多模态AI"这些热词,但打开技术文档却看到满屏的Python代码和专业术语&…

RaNER模型实战:多语言文本实体识别部署案例

RaNER模型实战:多语言文本实体识别部署案例 1. 引言:AI 智能实体侦测服务的现实需求 在信息爆炸的时代,非结构化文本数据(如新闻、社交媒体、客服对话)占据了企业数据总量的80%以上。如何从中高效提取关键信息&#…

多租户SaaS架构实现:AI智能实体侦测服务隔离部署实战案例

多租户SaaS架构实现:AI智能实体侦测服务隔离部署实战案例 1. 引言:AI 智能实体侦测服务的业务场景与挑战 随着企业数字化转型加速,非结构化文本数据(如新闻、合同、客服记录)呈指数级增长。如何从中高效提取关键信息…

3分钟部署Qwen2.5:比煮泡面还快的AI体验

3分钟部署Qwen2.5:比煮泡面还快的AI体验 引言:程序员的深夜救星 凌晨两点,你正在加班调试一段死活跑不通的代码。咖啡已经喝到第三杯,Stack Overflow的答案翻了个遍,但问题依然无解。这时候如果有个AI编程助手能实时…

RaNER模型部署实战:从零开始搭建中文实体识别系统

RaNER模型部署实战:从零开始搭建中文实体识别系统 1. 引言:AI 智能实体侦测服务的现实需求 在信息爆炸的时代,非结构化文本数据(如新闻、社交媒体、文档)占据了企业数据总量的80%以上。如何从中高效提取关键信息&…

AI智能实体侦测服务异常检测联动:非规范实体预警功能实现

AI智能实体侦测服务异常检测联动:非规范实体预警功能实现 1. 引言:从实体识别到智能预警的演进 1.1 业务背景与技术挑战 在当前信息爆炸的时代,非结构化文本数据(如新闻、社交媒体、客服记录)呈指数级增长。如何从中…

预算有限?Qwen2.5体验成本对比,云端方案省80%

预算有限?Qwen2.5体验成本对比,云端方案省80% 1. 学生社团的AI学习困境 作为一个学生社团的组织者,想要带领成员体验最新的Qwen2.5大模型技术,却面临着一个现实问题:经费有限。传统方案需要投入大量资金购买或租赁高…

导师严选2026 AI论文工具TOP9:专科生毕业论文必备测评

导师严选2026 AI论文工具TOP9:专科生毕业论文必备测评 2026年AI论文工具测评:为专科生量身打造的高效写作指南 随着人工智能技术在学术领域的广泛应用,越来越多的专科生开始借助AI论文工具提升写作效率与论文质量。然而,面对市场上…

中文命名实体识别实战:基于RaNER的AI智能实体侦测服务部署案例

中文命名实体识别实战:基于RaNER的AI智能实体侦测服务部署案例 1. 引言:AI 智能实体侦测服务的现实需求 在信息爆炸的时代,非结构化文本数据(如新闻、社交媒体、客服对话)占据了企业数据总量的80%以上。如何从中高效…