Repository navigation
Expand file tree
/
Copy pathcreate_sample_data.py
More file actions
187 lines (173 loc) · 5.64 KB
/
Copy pathcreate_sample_data.py
File metadata and controls
187 lines (173 loc) · 5.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
"""
生成标准模板和测试数据文件
"""
import openpyxl
from openpyxl import Workbook
import json
import os
def create_standard_template():
"""创建标准字段模板"""
wb = Workbook()
ws = wb.active
ws.title = "测试用例"
# 标准字段
headers = [
'id', 'name', 'type', 'url', 'selector', 'value',
'expected_type', 'expected_value', 'priority', 'description'
]
# 写入表头
ws.append(headers)
# 写入示例数据
examples = [
{
'id': 'TC001',
'name': '搜索Selenium',
'type': 'search',
'url': '${base_url}/',
'selector': '#search-input',
'value': 'selenium',
'expected_type': 'title',
'expected_value': '搜索',
'priority': 'P0',
'description': '验证首页搜索功能'
},
{
'id': 'TC002',
'name': '管理员登录',
'type': 'login',
'url': '${base_url}/login',
'selector': '#username,#password,#login-btn',
'value': 'admin,123456',
'expected_type': 'text',
'expected_value': 'admin',
'priority': 'P0',
'description': '验证管理员登录成功'
},
{
'id': 'TC003',
'name': '导航至登录页',
'type': 'nav',
'url': '${base_url}/',
'selector': '#login-link',
'value': '',
'expected_type': 'url',
'expected_value': '/login',
'priority': 'P1',
'description': '验证点击登录链接跳转'
}
]
for row in examples:
ws.append([
row['id'], row['name'], row['type'], row['url'],
row['selector'], row['value'], row['expected_type'],
row['expected_value'], row['priority'], row['description']
])
# 调整列宽
for col in ws.columns:
max_length = 0
column = col[0].column_letter
for cell in col:
try:
if cell.value:
max_length = max(max_length, len(str(cell.value)))
except:
pass
adjusted_width = min(max_length + 2, 50)
ws.column_dimensions[column].width = adjusted_width
wb.save('data/standard_template.xlsx')
print("标准模板已生成: data/standard_template.xlsx")
def create_test_data():
"""创建测试数据文件 (JSON 格式)"""
test_data = [
{
"id": "TC001",
"name": "搜索Selenium",
"type": "search",
"url": "${base_url}/",
"selector": "#search-input",
"value": "selenium",
"expected_type": "title",
"expected_value": "搜索",
"priority": "P0",
"description": "验证首页搜索Selenium功能"
},
{
"id": "TC002",
"name": "搜索Python",
"type": "search",
"url": "${base_url}/",
"selector": "#search-input",
"value": "python",
"expected_type": "title",
"expected_value": "搜索",
"priority": "P0",
"description": "验证首页搜索Python功能"
},
{
"id": "TC003",
"name": "管理员登录",
"type": "login",
"url": "${base_url}/login",
"selector": "#username,#password,#login-btn",
"value": "admin,123456",
"expected_type": "text",
"expected_value": "admin",
"priority": "P0",
"description": "验证管理员登录成功"
},
{
"id": "TC004",
"name": "测试用户登录",
"type": "login",
"url": "${base_url}/login",
"selector": "#username,#password,#login-btn",
"value": "test,test123",
"expected_type": "text",
"expected_value": "test",
"priority": "P0",
"description": "验证测试用户登录成功"
},
{
"id": "TC005",
"name": "登录失败-错误密码",
"type": "login",
"url": "${base_url}/login",
"selector": "#username,#password,#login-btn",
"value": "admin,wrong",
"expected_type": "text",
"expected_value": "用户名或密码错误",
"priority": "P1",
"description": "验证错误密码登录失败"
},
{
"id": "TC006",
"name": "导航至登录页",
"type": "nav",
"url": "${base_url}/",
"selector": "#login-link",
"value": "",
"expected_type": "url",
"expected_value": "/login",
"priority": "P1",
"description": "验证点击登录链接跳转"
},
{
"id": "TC007",
"name": "导航至元素定位页",
"type": "nav",
"url": "${base_url}/",
"selector": "#elements-link",
"value": "",
"expected_type": "url",
"expected_value": "/elements",
"priority": "P1",
"description": "验证点击元素定位链接跳转"
}
]
with open('data/test_data.json', 'w', encoding='utf-8') as f:
json.dump(test_data, f, ensure_ascii=False, indent=4)
print(f"测试数据已生成: data/test_data.json ({len(test_data)} 条)")
if __name__ == '__main__':
create_standard_template()
create_test_data()
print("\n所有数据文件已生成!")