成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python 推導式在接口自動化里的運用

開發 前端
Python推導式是一種緊湊且強大的構造,允許你用一行代碼高效地生成新的數據結構(如列表、字典、集合或生成器)基于現有的可迭代對象。推導式結合了循環、條件判斷等結構,提供了非常靈活的方式來處理數據。

Python推導式是一種緊湊且強大的構造,允許你用一行代碼高效地生成新的數據結構(如列表、字典、集合或生成器)基于現有的可迭代對象。推導式結合了循環、條件判斷等結構,提供了非常靈活的方式來處理數據。

列表推導式

列表推導式(List Comprehensions)

列表推導式是最常見的一種,用于從一個可迭代對象創建一個新列表,其基本語法如下:

[expression for item in iterable if condition]

expression 是針對每個item進行計算并最終放入新列表的表達式。

item 是從iterable中取出的單個元素。

iterable 是任何可迭代對象,如列表、元組、集合、字典或生成器。

condition(可選)是一個過濾條件,只有當該條件為真時,相應的項才會被包含在結果中。

字典推導式

字典推導式(Dictionary Comprehensions)

字典推導式用來快速創建字典,其語法結構如下:

{key_expression: value_expression for item in iterable if condition}

key_expression 和 value_expression 分別對應新字典中每個鍵值對的鍵和值。

其他部分與列表推導式相似。

集合推導式

集合推導式(Set Comprehensions)

集合推導式與列表推導式類似,但結果是一個集合(無序且元素唯一),語法為:

{expression for item in iterable if condition}

生成器推導式

生成器推導式(Generator Expressions)

生成器推導式與列表推導式非常相似,但是使用圓括號而不是方括號包圍,生成一個生成器對象,它在迭代時按需產生值,節省內存:

(expression for item in iterable if condition)

代碼示例

場景1: 動態參數構造

# 假設我們需要測試用戶注冊接口,每個用戶有不同的用戶名和郵箱

params_list = [(f"user_{i}", f"user_{i}@example.com") for i in range(1, 4)]
for username, email in params_list:
    payload = {"username": username, "email": email}
    print(f"Sending request with payload: {payload}")
    # 實際使用時這里會是發送請求的代碼,例如 `requests.post(url, jsnotallow=payload)`
輸出示例:
Sending request with payload: {'username': 'user_1', 'email': 'user_1@example.com'}
Sending request with payload: {'username': 'user_2', 'email': 'user_2@example.com'}
Sending request with payload: {'username': 'user_3', 'email': 'user_3@example.com'}

場景2: 響應數據分析

# 假設我們已經獲取到了一個包含用戶信息的API響應

import requests
response = requests.get("https://api.example.com/users")
response_json = response.json()
# 提取所有用戶的ID
user_ids = [user['id'] for user in response_json['data']]
print(f"Extracted User IDs: {user_ids}")
輸出示例:
Extracted User IDs: [1, 2, 3, 4, 5]

場景3: 斷言優化

# 假設我們要驗證返回的用戶角色集合是否正確

expected_roles = {"admin", "editor"}
response = requests.get("https://api.example.com/roles")
actual_roles = {role['name'] for role in response.json()}
assert expected_roles == actual_roles, f"Expected roles {expected_roles} but got {actual_roles}"
print("Roles assertion passed.")
輸出示例:
Roles assertion passed.

或者如果斷言失敗,則會輸出錯誤信息。

場景4: 結果篩選與異常檢測

# 模擬一組API響應

responses = [{"status_code": 200}, {"status_code": 404}, {"status_code": 200}]
failed_responses = [response for response in responses if response["status_code"] != 200]
if failed_responses:
    print(f"Failed responses detected: {failed_responses}")
else:
    print("All requests succeeded.")
輸出示例:
Failed responses detected: [{'status_code': 404}]

場景5: 測試數據準備

# 生成用于測試的數據

test_data_gen = (
    {"id": idx, "name": f"Test_{idx}", "status": "active" if idx % 2 == 0 else "inactive"}
    for idx in range(1, 6)
)
for data in test_data_gen:
    print(f"Generated test data: {data}")
    # 在實際使用中,這里會是使用這些數據進行API請求的代碼
輸出示例:
Generated test data: {'id': 1, 'name': 'Test_1', 'status': 'inactive'}
Generated test data: {'id': 2, 'name': 'Test_2', 'status': 'active'}
Generated test data: {'id': 3, 'name': 'Test_3', 'status': 'inactive'}
Generated test data: {'id': 4, 'name': 'Test_4', 'status': 'active'}
Generated test data: {'id': 5, 'name': 'Test_5', 'status': 'inactive'}
責任編輯:華軒 來源: 測試開發學習交流
相關推薦

2024-02-28 16:04:04

深拷貝Python

2024-04-03 15:27:31

Python接口自動化開發

2023-10-06 22:12:40

Python開發工業系統

2018-05-11 08:29:10

Python自動化測試數據驅動

2018-05-11 13:39:05

PythonCSV接口測試

2024-08-20 16:32:37

python接口自動化

2024-02-26 09:00:00

生成式AI主機自動化

2022-12-26 12:30:28

接口測試

2023-09-13 11:40:12

2017-12-17 21:58:18

2022-08-05 22:15:26

Python自動化測試

2024-01-08 13:31:00

Rust自動化測試

2011-05-30 17:50:23

分布式測試

2011-05-31 18:17:07

分布式測試

2024-05-21 09:52:19

2022-08-14 16:11:23

Python自動化測試數據

2022-10-09 11:07:40

物聯網如自動化

2022-06-26 09:55:00

接口自動化項目

2024-01-11 10:16:46

Python開發

2022-02-18 13:12:49

人工智能自動化技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧洲亚洲精品久久久久 | 亚洲成人精品国产 | 一区二区中文字幕 | 久久精品视频一区二区三区 | 综合精品在线 | 精品欧美乱码久久久久久 | 天堂综合网久久 | 亚洲成人在线免费 | 国产精久久久久久久妇剪断 | 国产视频一区二区 | 日韩精品二区 | 蜜桃视频在线观看免费视频网站www | 中文字幕视频在线 | 成人中文字幕在线 | 国产日韩久久 | 求个av网址 | 一级网站| 在线观看欧美一区 | 一级做a爰片性色毛片16 | 91视频一区二区三区 | 欧美中文一区 | 亚洲a视频 | 91久久综合 | 亚洲 中文 欧美 日韩 在线观看 | 女人精96xxx免费网站p | 久久网站免费视频 | 亚洲国产精品一区二区久久 | 99在线免费观看视频 | 亚洲高清在线视频 | 狠狠久久综合 | 免费高潮视频95在线观看网站 | 国产精品永久久久久久久www | 免费午夜电影 | 国产精品美女久久久久久久网站 | 欧美偷偷操 | 九九免费视频 | 成人在线观看黄 | 日韩中文字幕在线视频观看 | 中文字幕一区在线观看视频 | av网站在线播放 | 精品无码久久久久久国产 |