python接口自动化正则表达式

在python接口自动化框架里面经常会用到正则表达式,主要是以下两种情况:

1,用python写一个正则表达式,实现对token数据的获取,只获取返回的cookie数据里面的accesstoken。如果对返回的cookie数据中的accesstoken进行获取,可以使用Python的正则表达式来匹配并提取数据。下面是具体代码实现:

java 复制代码
import re

# 假设返回的cookie数据是'accesstoken=12345; sessionid=abcde; other=xyz;'
cookie_data = "accesstoken=12345; sessionid=abcde; other=xyz;"

access_token = re.search(r'accesstoken=([^;]+)', cookie_data)
if access_token:
    access_token = access_token.group(1)

print(access_token)

正则表达式accesstoken=([^;]+)用于匹配以"accesstoken="开始的字符串,然后使用([^;]+)提取非分号的字符序列作为accesstoken的值。

在上述示例中,假设返回的cookie数据是'accesstoken=12345; sessionid=abcde; other=xyz;'。通过正则表达式匹配,可以得到accesstoken的值为12345。可以根据实际情况修改cookie_data的值,并根据需要调整正则表达式的模式来匹配其他格式的cookie数据。

2,当从接口返回值里面获取:状态码,响应结果,内容长度,还有报错信息的时候,也可以用python的正则表达式来实现,具体代码如下:

java 复制代码
import re

response = "HTTP/1.1 200 OK\nContent-Type: application/json\nContent-Length: 1234\n\n{\"status\": \"success\", \"message\": \"Hello World!\"}"
# 假设response是接口返回的字符串,包含状态码、响应结果、内容长度和报错信息

# 提取状态码
status_code = re.search(r'HTTP\/\d\.\d (\d+)', response)
if status_code:
    status_code = status_code.group(1)

# 提取响应结果
response_result = re.search(r'\n\n(.+)', response)
if response_result:
    response_result = response_result.group(1)

# 提取内容长度
content_length = re.search(r'Content-Length: (\d+)', response)
if content_length:
    content_length = content_length.group(1)

# 提取报错信息
error_message = re.search(r'Error: (.+)', response)
if error_message:
    error_message = error_message.group(1)

print("Status Code:", status_code)
print("Response Result:", response_result)
print("Content Length:", content_length)
print("Error Message:", error_message)

在上述示例中,如果返回的response是一个字符串,类似于HTTP响应的格式,包含了状态码、响应结果、内容长度和报错信息。使用适当的正则表达式来匹配和提取这些信息。

可以根据实际的返回值格式和需求修改 response 变量,并相应地调整正则表达式模式来匹配和提取所需的信息。

相关推荐
yuananyun9 小时前
正则性能与灾难性回溯:如何写得快且稳,并避免线上卡死
正则表达式·正则性能优化·redos攻击
若阳安好14 小时前
【备忘录】正则表达式
后端·正则表达式·restful
剑神一笑2 天前
Linux grep 命令深度解析:从正则表达式到性能优化
linux·运维·正则表达式
@小柯555m3 天前
MySql(正则表达式--电话号码格式校验)
数据库·sql·mysql·正则表达式
Raina测试4 天前
基于Skills的接口自动化测试方案|新增 MySQL 断言,实现接口 + 数据库双校验
软件测试·数据库·接口自动化测试·测试工程师·skill·ai测试
风曦Kisaki4 天前
#Linux Shell 编程入门 Day04:正则表达式(egrep模糊匹配)与 sed流式编辑器
linux·正则表达式·编辑器
小糖学代码13 天前
LLM系列:1.python入门:16.正则表达式与文本处理 (re)
人工智能·pytorch·python·深度学习·神经网络·正则表达式
Irene199113 天前
(课堂笔记)SQL 临时表、视图、正则表达式
正则表达式·视图·临时表
2301_8009769313 天前
正则表达式
开发语言·python·正则表达式
学会去珍惜14 天前
c语言“或”符号
正则表达式·编程语言·文件操作·并发编程·文本处理