blob: b884b81dd06b10baa92ba51a9a01b2575ee9d5d6 (
plain)
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
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
|
object_page_ln_select_statistics_input_posXpath = "//div[@class='tunnel-object-statistics_option']"
object_page_ln_select_statistics_brief_posXpath = "//*[contains(text(), 'Brief')]"
object_page_First_object_posXpath = "//*[@id='ly-table1-groupTable']/div/div[3]/table/tbody/tr[1]"
object_page_total_value = '//span[@class="inline-flex px-[10px] py-[3px] text-[12px] bg-dividerColor min-w-[12px] leading-[1] rounded-[8px] text-center"]'
#Audit Logs
new_audit_logs_record='//table/tbody/tr'
edit_audit_logs_record='(//table/tbody/tr)[2]'
#Object APN===================APN====================APN=================APN=======================APN=================APN================APN================APN================APN
#APN 列表页
listPage_object_apns_exportButton_posXpath = '//span[@class="action-export inline-flex mr-[8px] "]/button' #export!!!!!
listPage_object_apns_createButton_posId = "objectCreate-_OperateBtns_ElRow_Objects_apn_Home_App_anonymousComponent" #create按钮id
listPage_object_apns_createButton_posXpath = '//span[@class="action-create inline-flex mr-[8px] "]/button' #create按钮Xpath!!!!!
listPage_object_apns_editButton_posXpath = '//span[@class="action-edit inline-flex mr-[8px] "]/button' #edit按钮xpath!!!!!
listPage_object_apns_edit_button_posId="appEdit-_OperateBtns_ElRow_Objects_apn_Home_App_anonymousComponent"
listPage_object_apns_delButton_posId = "appDel-_OperateBtns_ElRow_Objects_apn_Home_App_anonymousComponent" #del按钮id
listPage_object_apns_delButton_posXpath = '//span[@class="action-delete inline-flex mr-[8px] "]/button' # delete按钮Xpath!!!!!
listPage_object_apns_del_yes_Button_poSelector = 'body > div.el-dialog__wrapper > div > div.el-dialog__footer > span > button.el-button.delComponents-ok.role-disconnect-btn.el-button--default.el-button--small > span' #del_yes按钮
listPage_object_apns_deleteYes_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary css-1aub58j"]' # delete按钮xpath!!!!!
listPage_objectSearch_apns_selectLabel_posId="select-label" #查询框id
listPage_objectSearch_apns_selectLabel_posXpath = '//div[@class="MuiAutocomplete-wrapper MuiAutocomplete-multiple css-1h1ala5"]/input' # 查询框Xpath!!!!!
listPage_objectGroup_apns_createButton_posId="object1-_OperateBtns_ElRow_Objects_apn_Home_App_anonymousComponent" #Create-apn group按钮
listPage_objectGroup_apns_createButton_posXpath = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-1iuehdr']//li[2]"
listPage_object_apnsSelect_createButton_posId="object0-_OperateBtns_ElRow_Objects_apn_Home_App_anonymousComponent" #Create-apn 按钮
listPage_object_apnsSelect_createButton_posXpath = "//ul[@class='base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-1iuehdr']//li[1]"
listPage_object_APNs_select_First_object_posXpath = '(//span[@class="MuiCheckbox-root MuiCheckbox-variantOutlined MuiCheckbox-colorNeutral MuiCheckbox-sizeMd MuiDataGrid-checkboxInput css-q3lb41"]//input)[1]' #列表中第一行数据前的复选框!!!!!
listPage_object_APNs_select_Second_object_posXpath ='(//span[@class="MuiCheckbox-root MuiCheckbox-variantOutlined MuiCheckbox-colorNeutral MuiCheckbox-sizeMd MuiDataGrid-checkboxInput css-q3lb41"]//input)[2]'#列表中第二行数据前的复选框!!!!!
listPage_object_APNs_No_Data_posXpath = '//div[@class="MuiDataGrid-overlay css-14349d1"]' #列表页No Data按钮!!!!!
listPage_object_APNs_reference_count_posXpath='(//div[@data-field="reference_count"]/button)[1]' #列表中第一个元素的reference count!!!!!
listPage_object_APNs_first_row_id_posXpath = '//div[@aria-rowindex="2"]//div[@data-field="uuid"]'
listpage_object_APNs_select_first_group_posXpath = '(//i[@class="iconfont color-ip icon-APNgroup css-lp3td5"]/ancestor::div[@class="css-16m40q9 MuiDataGrid-cell MuiDataGrid-cell--textLeft"]/preceding-sibling::div[2]//input)[1]'
#APN Create&Edit页
apn_ObjectPage_import_button_posXpath = '//button[text()="import from file"]'
apn_Objectpage_ln_select_statistics_input_posXpath = "//div[@class='apn-object-statistics_option']"
apn_ObjectPage_InputName_posXpath='//input[@class="MuiInput-input css-fqt4w4"]'#输入名字!!!!!
apn_ObjectPage_NameLength_posXpath=''
apn_ObjectPage_addItem_posId = "temporary_form" #添加item按钮 +
apn_ObjectPage_addItem_posXpath = '//i[@class="iconfont icon-Create1 font-[700]"]' #添加item按钮Xpath!!!!!
apn_ObjectPage_editItem_posId='//*[@id="router-view-container"]//i[@class="operate-icon iconfont icon-Edit"]' #edit item的按钮
apn_ObjectPage_editItem_posXpath = '(//i[@class="iconfont icon-Edit"])[1]' #edit item的按钮Xpath!!!!!
apn_ObjectPage_inputItem_posXpath = '//input[@class="MuiInput-input css-1u0jcuo"]' #输入item内容!!!!!
apn_ObjectPagen_SaveItem_posXpath = '//i[@class="operate-icon iconfont icon-save"]' # 保存item按钮!!!!!
apn_ObjectPage_button_cancel_posXpath = "//div[@class=' apn-object-page MuiBox-root css-o7xelj']//button[text()='Cancel']" #详情页cancel按钮Xpath!!!!!
APNsObjectPage_textArea_Description_posXpath= '//textarea[@placeholder="Please enter the content"]' #description文本输入区Xpath!!!!!
APNsObjectPage_button_SaveYes_posXpath = "//div[@class=' apn-object-page MuiBox-root css-o7xelj']//button[text()='OK']" # 详情页OK按钮!!!!!
APNsObjectPage_button_warningSaveYes_posXpath = '//button[@class="el-button el-button--default el-button--small el-button--primary operation-confirm"]' #提示保存Yes按钮警告框
APNsObjectPage_button_warningSaveCancel_posCss = '' #提示保存取消按钮警告框
APNsObjectPage_button_cancel_posCss = "" #Cancel按钮
APNsObjectPage_importTipsValue_posXpath_template = '//div[@class="drawer-box"]//div[@class="importTips"]//td[count(//div[@class="drawer-box"]//div[@class="importTips"]//th[@title="{}"]/preceding-sibling::th)+1]' #!!!!!!!!!!
apn_reference_count_list_xpath ='//tbody[@class="MuiTableBody-root css-1xnox0e"]/tr' #usage quantity of APN #!!!!!!!!!!
APNsObjectPage_importTipsValue_error_item_posXpath = '//div[@class="importTable"]//*[@class="{}"]'#!!!!!!!!!!
apn_ObjectDetailPage_pleaseUpload_ok_button_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-k5thc0"]'
apn_ObjectDetailPage_pleaseUpload_posXpath = '//input[@type="file"]'
#APNs Group Object Create&Edit页
Apn_Group_exclude_add_button_posXpath = "//div[@class='apn-object-excluded_sub_object_uuids']//i[@class='iconfont icon-Create1 font-[700]']"
apn_Group_InputName_posXpath='//div[@class="MuiInput-root MuiInput-variantOutlined MuiInput-colorNeutral MuiInput-sizeMd MuiInput-formControl css-uzf287"]/input' # apn group input输入框Xpath!!!!!
APNs_Group_InputDescripton_posXpath='//textarea[@placeholder="Please enter the content"]' #apn group description输入框xpath!!!!!
APNs_Group_sub_Object_addButton_posXpath = '//i[@class="iconfont icon-Create1 font-[700]"]' # APNs_Group添加sub Object按钮!!!!!
APNs_Group_sub_Object_add_exclude_Button_posXpath='(//i[@class="iconfont icon-Create1 font-[700]"])[2]' #打开exclude 开关后添加exclude object!!!!!
APNs_Group_sub_Object_add_new_Button_posXpath = '//button[@class="MuiIconButton-root MuiIconButton-variantPlain MuiIconButton-colorNeutral MuiIconButton-sizeMd MuiMenuButton-root MuiMenuButton-variantOutlined MuiMenuButton-colorNeutral MuiMenuButton-sizeMd css-83p2rh"]/i' #侧滑新建sub_APNs按钮!!!!!
APNs_Group_sub_Object_add_new_Select_one_Button_posXpath = '//ul[@class="el-dropdown-menu el-popper el-dropdown-menu--small"][2]/li[1]' #新建选择APNs按钮
APNs_Group_sub_Object_add_new_Select_Group_Button_posXpath = '//ul[@class="el-dropdown-menu el-popper el-dropdown-menu--small"][2]/li[2]' #新建选择APNs_Group按钮
APNs_Group_sub_Object_list_Select_first_object_Button_posXpath='(//span[@class="truncate"])[1]' #Subordinate Objects列表页的第一个Object!!!!!
APNs_object_group_subobject_close_posXpath = '//i[@class="iconfont icon-Clear_aNormal close-icon"]' #侧滑close按钮!!!!!
groupObjectDetailPage_addSubObjecDrawer_close_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-5vcc8t"]' #侧滑close按钮!!!!!
#1.Sub Object为APN
APNs_Group_sub_Object_add_new_one_inputName_posXpath = '(//input[@class="MuiInput-input css-fqt4w4"])[2]' # new APNs input Name!!!!!
#APNs_Group_sub_Object_add_new_add_item_Button_posXpath = '//*[@id="temporary_form"]/i' # new APNs add items Button + /
APNs_Group_sub_Object_add_new_add_item_Button_posXpath='//div[@class="mt-[10px] flex justify-center"]//i[@class="iconfont icon-Create1 font-[700]"]' # sub apn add item按钮!!!!!
APNs_Group_sub_Object_add_new_addAPN_item_posXpath = '//input[@class="MuiInput-input css-1u0jcuo"]' # new APNs Item input!!!!!
APNs_Group_sub_Object_add_new_add_itemAPN_Save_Button_posXpath = '//div[@class="flex flex-row items-center"]//i[@class="operate-icon iconfont icon-save"]' # new apn 保存item按钮!!!!!
APNs_Group_sub_Object_add_new_one_OK1_Button_posXpath = '(//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary form-action-submit css-1djnbgz" and text()="OK"])[2]' # new APNs CreateOK1!!!!!
APNs_Group_sub_Object_add_new_one_OK1_Warning_Yes_Button_posXpath = '//*[@class="el-button el-button--default el-button--small el-button--primary operation-confirm"]' # 再次确认创建new APNs
APNs_Group_sub_Object_add_new_one_OK1_Warning_Cancel_Button_posXpath = '/html/body/div[2]/div/div[3]/button[1]' # 再次确认取消new APNs
APNs_Group_sub_Object_add_new_one_Cancel2_Button_posXpath = '(//button[@class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary form-action-cancel css-5vcc8t"])[2]' # new APNs CreateCancel 右下角!!!!!
APNs_Group_sub_Object_edit_Button_posXpath='(//i[@class="iconfont icon-Edit absolute right-[24px] cursor-pointer"])[1]' #sub object中编辑第一个Object的图标
APNs_Group_sub_Object_edit_add_Button_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary form-list-action-add css-h4tbqb"]' #apn编辑页面的添加按钮
APNs_Group_sub_Object_edit_input_Button_posXpath = APNs_Group_sub_Object_add_new_addAPN_item_posXpath #input
APNs_Group_sub_Object_edit_save_Button_posXpath = '//i[@class="operate-icon iconfont icon-save"]'#save
APNs_Group_sub_Object_edit_ok_Button_posXpath ='(//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary form-action-submit css-1djnbgz"])[2]' #OK
#APN查询页面,Object类似
listPage_objectSearch_APNs_select_Id_posXpath = '//li[@id="1-_FilteredSearch_ElRow_Objects_apn_Home_App_anonymousComponent"]' #查询ID
listPage_objectSearch_APNs_select_Name_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Name']" #查询Name
listPage_objectSearch_APNs_select_Details_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Detail']" #查询Details
listPage_objectSearch_APNs_select_Description_posXpath = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Description']" #查询Description
listPage_objectSearch_APNs_select_all_posXpath = '//*[@id="1-_FilteredSearch_ElRow_Objects_apn_Home_App_anonymousComponent"]/preceding-sibling::li[1]' #查询所有
listPage_objectSearch_APNs_buttonSearch_posId = "searchQuery" #查询按钮id
listPage_objectSearch_APNs_buttonClear_posId = "searchClear" #清空查询按钮id
listPage_objectSearch_APNs_All_Button_posxpath='//span[@class="MuiCheckbox-root MuiCheckbox-variantOutlined MuiCheckbox-colorNeutral MuiCheckbox-sizeMd mr-[10px] css-q3lb41"]//input' #列表页ALL Button!!!!!
#Object Tunnel===================Tunnel====================Tunnel=================Tunnel=======================Tunnel=================Tunnel================Tunnel================Tunnel================APN
#Tunnel列表页
listPage_object_Tunnels_createButton_posXpath = "//span[@class='action-create inline-flex mr-[8px] ']/button" #create按钮id
listPage_object_Tunnels_editButton_posId = "appEdit-_OperateBtns_ElRow_Objects_tunnel_Home_App_anonymousComponent" #edit按钮id #todo 改为id
listPage_object_Tunnels_editButton_posXPATH='//span[@class="action-edit inline-flex mr-[8px] "]/button'
listPage_object_Tunnels_exportButton_posXPATH='//*[@class="el-button importAndExport el-button--default el-button--small"]' #export按钮
listPage_object_Tunnels_delButton_posXpath = '//span[@class="action-delete inline-flex mr-[8px] "]/button' #del按钮id
listPage_object_Tunnels_delButton_posXPATH='//*[@id="appDel-_OperateBtns_ElRow_Objects_tunnel_Home_App_anonymousComponent"]'
listPage_object_Tunnels_del_yes_Button_posXpath = '//div[@class="MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation24 MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm css-xguxzj"]//button[contains(text(),"Yes")]' #del_yes按钮
listPage_objectSearch_Tunnels_selectLabel_posId="select-label" #查询框id
listPage_objectSearch_Tunnels_buttonSearch_posId = "searchQuery" #查询按钮id
listPage_objectSearch_Tunnels_buttonClear_posId = "searchClear" #清空查询按钮id
listPage_objectSearch_Tunnels_AllButton_posxpath = listPage_objectSearch_APNs_All_Button_posxpath #列表的All按钮
listPage_objectSearch_Tunnels_Total_posxpath = "(//div[@class='flex-1']//span[@class='text-textColor'])[1]" #列表的总条数total
listPage_object_tunnel_type_Button_posXpath="//span[text()='Type']" #Colum-Type Button
listPage_object_Tunnels_select_First_object_posXpath = listPage_object_APNs_select_First_object_posXpath #列表中第一行数据前的复选框
listPage_object_Tunnels_select_second_object_posXpath=listPage_object_APNs_select_Second_object_posXpath #列表中第二行数据前的复选框
tunnel_export_pop_window_master_select_button_xpath="//div[@class='MuiDialogContent-root css-1ty026z']//div[@class='MuiDataGrid-topContainer MuiDataGrid-container--top css-1oudwrl']//span[@class='MuiCheckbox-checkbox css-n110n']" #导出object的弹窗中选择总按钮
tunnel_export_pop_window_first_checkbox_button_xpath="//div[@class='MuiDialogContent-root css-1ty026z']//div[@class='MuiDataGrid-virtualScrollerRenderZone css-1inm7gi']/div[1]//span[@class='MuiCheckbox-checkbox css-n110n']" #导出object的弹窗列表中第一条数据
tunnel_export_pop_window_export_num_button_xpath= "//div[@class='text-center color-[--color-text] mt-[12px] MuiBox-root css-0']" #计算导出弹窗中导出的个数是多少
tunnel_export_pop_no= "//button[@class='MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-ki6aok']"#导出弹窗中No
#Tunnel Create&Edit页
Tunnel_ObjectPage_InputName_posXpath="//div[@class='tunnel-object-name']//input"#输入名字#
Tunnel_ObjectPage_NameLength_posXpath="//div[@class='MuiInput-endDecorator css-tob0ta']/span" #name超过32后,只截取32个字母,name输入框尾部为32/32
Tunnel_ObjectPage_ChangeColor_posid="swatches_btn-_Swatches_ElFormItem_ElForm_VPanel_VEditPanel_tunnelAdd_Home_App_anonymousComponent" # Color Change button
Tunnel_ObjectPage_YellowColor_posid="switchColor#FFC425" #switch color button
Tunnel_ObjectPage_inputItem_posXpath = "//div[@class='tunnel-object-endpointA']//i[@class='iconfont icon-Create1 font-[700]']" #输入item内容
Tunnel_Edit_Page_Type="tunnelType"
Tunnel_Edit_Page_Type_posXpath="//div[@class='tunnel-object-type']//button[@class='MuiSelect-button css-1qmzz5g']"
Tunnel_Type_GRE="//ul[@class='base-Popper-root MuiSelect-listbox Mui-expanded css-icfck1']//*[normalize-space(text())='GRE']"
Tunnel_Type_IP="//ul[@class='base-Popper-root MuiSelect-listbox Mui-expanded css-icfck1']//*[normalize-space(text())='IPv4/IPv6']"
Tunnel_add_item_button="//div[@class='tunnel-object-endpointA']//i[@class='iconfont icon-Create1 font-[700]']"
tunnel_ip_list_first = "//div[@class='pt-[2px] overflow-hidden flex-1']//ul/li[1]//div[@class='flex h-[22px] leading-[22px] MuiBox-root css-14di81r']"
tunnel_add_endpoint_b= "//div[@class='tunnel-object-endpointB']"
tunnel_add_item_2="//div[@class='tunnel-object-endpointB']//i[@class='iconfont icon-Create1 font-[700]']"
tunnel_end_point_b_frame = 'v[@class="tunnel-object-endpointB"]//div[@class="MuiBox-root css-kh10be"]'
tunnel_ip_list_fourth="//div[@class='pt-[2px] overflow-hidden flex-1']//ul/li[2]//div[@class='flex h-[22px] leading-[22px] MuiBox-root css-14di81r']"
tunnel_page_description="//div[@class='tunnel-object-description']//textarea[1]"
tunnel_ip_list_close="//button[@class='MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-zcc2bs']"
tunnel_ip_list_close2 = "(//button[@class='MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-zcc2bs'])[2]"
tunnel_ip_list_add_button='//i[@class="iconfont icon-Create1"]'
tunnel_ip_list_select_ip='//li[normalize-space(text())="Address"]'
tunnel_ip_list_select_ip_group='//li[normalize-space(text())="Address Group"]'
tunnel_ip_group_add_subobject="//div[@class='ip-object-included_sub_object_uuids']"
tunnel_slide_ip_name="(//input[@class='MuiInput-input css-fqt4w4'])[2]"
tunnel_slide_ip_item_add="(//i[@class='iconfont icon-Create1 font-[700]'])[3]"
tunnel_slide_ip_item_input="(//input[@class='MuiAutocomplete-input css-1lv7pyi'])"
tunnel_slide_ip_item_save="//i[@class='operate-icon iconfont icon-save']"
tunnel_slide_ip_ok="(//button[@class='MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary form-action-submit css-1djnbgz'])[2]"
tunnel_slide_ip_confirm_ok='//*[@class="el-button el-button--default el-button--small el-button--primary operation-confirm"]'
tunnel_item_search_frame = "//div[@class='tunnel-object-endpointA']//input[@placeholder='Search For']"
tunnel_first_row_item = '//div[@class="flex h-[22px] leading-[22px] MuiBox-root css-j0s0fv"]//span'
tunnel_ip_group_first_row="(//div[@class='pt-[2px] overflow-hidden flex-1'])[2]//ul//li[1]"
tunnel_edit_endpointa_posXpath = '//*[@id="tunnelOperateItem-_EndpointAList_ElFormItem_ElForm_VPanel_VEditPanel_tunnelAdd_Home_App_anonymousComponent"]/i'
tunnel_edit_endpointa_item_posXpath ='//*[@id="router-view-container"]//div[@class="IconBtn"]/i[@class="operate-icon iconfont icon-Edit"]'
tunnel_item_input_posXpath = '//*[@id="router-view-container"]//input[@popperclass="ip-expr-popper"]'
tunnel_item_save_posXath = '//*[@id="router-view-container"]//i[@class="operate-icon iconfont icon-save check"]'
TunnelsObjectPage_button_SaveYes_posId = "OK-_tunnelAdd_Home_App_anonymousComponent"# OK按钮
TunnelsObjectPage_button_SaveYes_posXpath = "//button[@class='MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary form-action-submit css-1djnbgz']"
TunnelsObjectPage_button_cancel_posXpath = "//div[@class=' tunnel-object-page MuiBox-root css-o7xelj']//button[text()='Cancel']"
TunnelsObjectPage_button_warningSaveYes_posSelector = 'body > div.el-message-box__wrapper > div > div.el-message-box__btns > button.el-button.el-button--default.el-button--small.el-button--primary.operation-confirm > span' #提示保存Yes按钮警告框
#Tunnel查询页面,Object类似
listPage_objectSearch_Tunnels_select_all_xpath= "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//li[1]"
listPage_objectSearch_Tunnels_select_Id_posId = "1-_FilteredSearch_ElRow_Objects_tunnel_Home_App_anonymousComponent" #查询ID
listPage_objectSearch_Tunnels_select_Name_posId ="//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='Name']" #查询Name
listPage_objectSearch_Tunnels_select_IP_posId = "//ul[@class='base-Popper-root MuiAutocomplete-listbox css-18r31z0']//span[text()='IP']" #查询IP
#Object Attributes===================Attributes====================Attributes=================Attributes=======================Attributes=================Attributes================
# Attributes 列表页
listPage_object_Attributes_createButton_posId = "app_create-_OperateBtns_ElCol_ElRow_Application_customizedAttr_Home_App_anonymousComponent" # create按钮id
listPage_object_Attributes_createButton_posXpath = '//span[@class="action-create inline-flex mr-[8px] "]/button' #create按钮Xpath!!!!!
listPage_object_Attributes_editButton_posId = "appEdit-_OperateBtns_ElCol_ElRow_Application_customizedAttr_Home_App_anonymousComponent" # edit按钮id #todo 改为id
listPage_object_Attributes_editButton_posXpath = '//span[@class="action-edit inline-flex mr-[8px] "]/button' #edit按钮xpath!!!!!
listPage_object_Attributes_delButton_posId = "appDel-_OperateBtns_ElCol_ElRow_Application_customizedAttr_Home_App_anonymousComponent" # del按钮id
listPage_object_Attributes_delButton_posXpath = '//span[@class="action-delete inline-flex mr-[8px] "]/button' # delete按钮Xpath!!!!!
listPage_object_Attributes_del_yes_Button_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary css-1aub58j"]' # delete yes按钮xpath!!!!!
listPage_object_First_Attributes_object_ID_posXpath = '//*[@id="app-table"]//tr[1]/td[1]//div[@class="table-status-item-id"]/span'
listPage_object_Second_Attributes_object_ID_posXpath = '//*[@id="app-table"]//tr[2]/td[1]//div[@class="table-status-item-id"]/span'
listPage_objectSearch_Attributes_selectLabel_posId = "select-label" # 查询框id
listPage_objectSearch_Attributes_selectLabel_posXpath = '//input[@class="MuiAutocomplete-input css-qdyksh"]' # 查询框xpaht!!!!!
listPage_objectSearch_Attributes_buttonSearch_posId = "searchQuery" # 查询按钮id
listPage_objectSearch_Attributes_buttonSearch_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-1afa66w"]/i' # 查询按钮xpath !!!!!
listPage_objectSearch_Attributes_buttonClear_posId = "searchClear" # 清空查询按钮id
listPage_objectSearch_Attributes_buttonClear_posXpath = '//button[@class="MuiAutocomplete-clearIndicator css-25qtv2"]' #清空查询按钮xpath!!!!!
listPage_object_Attributes_select_First_object_posXpath = listPage_object_APNs_select_First_object_posXpath # 列表中第一行数据前的复选框
listPage_object_Attributes_del_after_ele_posXpath='//div[@class="MuiDataGrid-overlay css-14349d1"]' #No data数据!!!!!
# Attributes 查询页面,Object类似
listPage_objectSearch_Attributes_select_Id_posXpath = '//*[@id="1-_FilteredSearch_ElCol_ElRow_Application_customizedAttr_Home_App_anonymousComponent"]' # 查询ID #todo 都改为id
listPage_objectSearch_Attributes_select_Name_posId = "2-_FilteredSearch_ElCol_ElRow_Application_customizedAttr_Home_App_anonymousComponent" # 查询Name
listPage_objectSearch_Attributes_input_Name_posXpath ='//div[@id="profileName"]//input[@placeholder="Please enter search value"]' #输入Name
listPage_objectSearch_Attributes_input_Id_posXpath ='//div[@id="profileId"]//input[@placeholder="Please enter search value"]' #输入Id
# Attributes Create&Edit页
Attributes_ObjectPage_InputName_posXpath = '//input[@class="MuiInput-input css-fqt4w4"]' # 输入名字!!!!!
Attributes_ObjectPage_InputName_posId = "application_name1"
Attributes_ObjectPage_inputParentAttribute_posId = 'attr_parentadd-_Attribute_Home_App_anonymousComponent' # 选择Parent Attribute +
Attributes_ObjectPage_inputParentAttribute_posXpath = '//div[@class="traffic-attribute-object-fast_pattern"]//i' # 选择Parent Attribute!!!!!
AttributesObjectPage_UploadedFile_posXpath = '//input[@type="file"]' # 上传文件!!!!!
Attributes_Max_Packets_posXpath = '//div[@class="traffic-attribute-object-max_packets_per_session"]//input'
Attributes_ExecutionTime_posXpath = '//input[@class="MuiInputBase-input MuiOutlinedInput-input MuiInputBase-inputSizeSmall MuiInputBase-inputAdornedEnd css-f8h3ui"]' # 最大执行时间!!!!!
AttributeValueType_Bool="radio_method0-_Attribute_Home_App_anonymousComponent" #选择类型为布尔值
AttributeValueType_Bool_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeSmall MuiButton-outlinedSizeSmall MuiButton-colorPrimary MuiButtonGroup-grouped MuiButtonGroup-groupedHorizontal MuiButtonGroup-groupedOutlined MuiButtonGroup-groupedOutlinedHorizontal MuiButtonGroup-groupedOutlinedPrimary MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeSmall MuiButton-outlinedSizeSmall MuiButton-colorPrimary btn-active MuiButtonGroup-firstButton css-5ve3fi"]' #bool!!!!!
AttributeValueType_Numerical="radio_method1-_Attribute_Home_App_anonymousComponent" #选择类型Numerical
AttributeValueType_Numerical_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeSmall MuiButton-outlinedSizeSmall MuiButton-colorPrimary MuiButtonGroup-grouped MuiButtonGroup-groupedHorizontal MuiButtonGroup-groupedOutlined MuiButtonGroup-groupedOutlinedHorizontal MuiButtonGroup-groupedOutlinedPrimary MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeSmall MuiButton-outlinedSizeSmall MuiButton-colorPrimary MuiButtonGroup-middleButton css-5ve3fi"]' # numerical!!!!!
AttributeValueType_String="radio_method2-_Attribute_Home_App_anonymousComponent" #选择类型为String
AttributeValueType_String_posXpath = '//button[text()="String"]' #string!!!!!
Attributes_Select_inputParentAttribute_tcppayload='//li[@id=":ru8:-ATTR_TCP_PAYLOAD"]/div'#ATTR_TCP_PAYLOAD!!!!!
Attributes_Select_ParentAttribute_tcp='//div[normalize-space(text())="tcp"]' #定位方式
Attributes_Select_ParentAttribute_tcp_payload_c2s_first_data_xpath='//li[@id=":ru8:-ATTR_TCP_PAYLOAD_C2S_FIRST_DATA"]/div' #!!!!!
AttributesObjectPage_button_SaveYes_posId = "attrAdd_ok-_Attribute_Home_App_anonymousComponent" # OK按钮
AttributesObjectPage_button_SaveYes_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary form-action-submit css-1djnbgz"]' # !!!!!
AttributesObjectPage_button_cancel_posId = "attrAdd_cancel-_Attribute_Home_App_anonymousComponent" # Cancel按钮#todo 改为id
AttributesObjectPage_button_cancel_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary form-action-cancel css-5vcc8t"]' # Cancel按钮!!!!!
AttributesObjectPage_button_warningSaveYes_posXpath = '//button[@class="el-button el-button--default el-button--small el-button--primary operation-confirm"]' # 提示保存Yes按钮警告框
AttributesObjectPage_button_warningSaveCancel_posId = '//button[@class="el-button el-button--default el-button--small operation-cancel"]' # 提示保存取消按钮警告框#todo 改为id
#Attributes模块栏目查询
##Object模块查询栏
Userdefined_first_row_first_column_posXpath = '//th[1]//*[normalize-space(text())="ID"]' # 第一行、第一列
Userdefined_second_row_first_column_posXpath = '//tr[1]/td[1]/div//div[4]/span' # 第二行、第一列
Userdefined_first_row_second_column_posXpath = '//th[2]//*[normalize-space(text())="Vsys ID"]' # 第一行、第二列
Userdefined_second_row_second_column_posXpath = '//*[@id="app-table"]/div[3]/table/tbody/tr[1]/td[2]/div | //div[3]/table/tbody/tr[1]/td[2]/div/div/span' # 第二行、第二列
Userdefined_first_row_third_column_posXpath = '//div[normalize-space(text())="Attribute Name" or normalize-space(text())="Name"]' # 第一行、第三列
Userdefined_second_row_third_column_posXpath = '//div[@aria-rowindex="2"]//div[@data-field="name"]' # 第二行、第三列
#Object Signatures===================Signatures====================Signatures=================Signatures=======================Signatures=================Signatures================
#Signatures列表页的公共元素和Attribute相同,可以复用。
listPage_object_signature_createButton_posId = "app_create-_OperateBtns_ElCol_ElRow_Application_appSignatures_Home_App_anonymousComponent" # create按钮id
listPage_object_signature_createButton_posXpath = '//span[@class="action-create inline-flex mr-[8px] "]/button' # 列表页create 按钮!!!!!
listPage_object_signature_editButton_posId = "appEdit-_OperateBtns_ElCol_ElRow_Application_appSignatures_Home_App_anonymousComponent" # edit按钮id #todo 改为id
listPage_object_signature_editButton_posXpath = '//span[@class="action-edit inline-flex mr-[8px] "]/button' # 列表页 Edit 按钮!!!!!
listPage_object_signature_delButton_posId = "appDel-_OperateBtns_ElCol_ElRow_Application_appSignatures_Home_App_anonymousComponent" # del按钮id
listPage_object_signature_delButton_posXpath = '//span[@class="action-delete inline-flex mr-[8px] "]/button' # 列表页 Delete 按钮!!!!!
listPage_object_signature_del_yes_Button_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary css-1aub58j"]' # delete yes按钮xpath!!!!!
listPage_objectSearch_signature_select_Id_posXpath = '//*[@id="1-_FilteredSearch_ElCol_ElRow_Application_appSignatures_Home_App_anonymousComponent"]' # 查询ID #todo 都改为id
listPage_objectSearch_signature_select_Name_posId = "2-_FilteredSearch_ElCol_ElRow_Application_appSignatures_Home_App_anonymousComponent" # 查询Name
listPage_objectSearch_signature_input_Name_posXpath ='//input[@class="MuiAutocomplete-input css-qdyksh"]' #输入Name!!!!!
Signatures_built_arrtribute_icon_pasXpath ='//*[contains(@class, "icon svg-icon")]' #通过内置图标获取所有内置特征
Signatures_built_arrtribute_pasXpath = '//div[@class = "el-collapse"]//div[@class = "el-collapse-item"]' #获取内置特征
list_page_no_data = listPage_object_APNs_No_Data_posXpath #No Data
listPage_signature_first_condition_all_button='(//span[@class="action-all-list cursor-pointer text-textColor"])[1]'
listPage_condition_slide_search_frame='//input[@class="MuiInput-input css-za5rna"]'
#Create Signature按钮,Attribute选择general.session.analysis.ap……,Application选择http
Signatures_ObjectPage_InputName_posId = "ApplicationSignaturesAdd_signatureName1" #输入名字
Signatures_ObjectPage_InputName_posXpath = '//input[@class="MuiInput-input css-fqt4w4"]' # Name输入框Xpath!!!!!
Signatures_ObjectPage_inputParentSignature_posId = 'openSideslipOrCondition'
Signatures_ObjectPage_inputParentSignature_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-mihucx"]/i'
plus_button='//*[@id="openSideslipOrCondition"]'
addto_condition_button_xpath = '//button[@class="MuiSelect-button css-1qmzz5g"]' # 选择Add按钮的XPath路径
new_condition_button_xpath = '//li[@class="MuiOption-root 0 css-1fryf7q"]' # 选择New Condition按钮的XPath路径
new_not_condition_button_xpath = '//li[@class="MuiOption-root 1 css-2lupvy"]' # 选择New Not Condition按钮的XPath路径
attribute_name_input_id = "Attribute_Name" # 选择Attribite Name输入框的ID
attribute_name_input_posXapth = '//div[@class="flex flex-col items-center px-[4px] select-picker"]/button'
general_dropdown_xpath = '//*[text()="tcp"]' # 选择general下拉框的XPath路径
general_session_analysis_app_id_xpath = '//*[normalize-space(text())="tcp.payload"]' # 选中general.session.analysis.app_id
select_application_condition_xpath = '//div[@class="app-signature-object-object_uuids"]/div' # 选择Application+的ID
first_http_checkbox_xpath = '//li[@class="MuiListItem-root MuiListItem-colorNeutral MuiListItem-variantPlain css-1linw58"]' # 选择第一个keyword的XPath路径
second_http_checkbox_xpath='//ul[@class="MuiList-root MuiList-vertical MuiList-variantPlain MuiList-colorNeutral MuiList-sizeMd css-1cklc3"]/li[2]'
#first_ssl_checkbox_xpath='//*[@id="router-view-container"]//span[@class="ellipsis list-popover-click" and normalize-space(text())="ssl"]'
second_item_checkbox_xpath = '(//li[@class="MuiListItem-root MuiListItem-colorNeutral MuiListItem-variantPlain css-pm2p17"])[1]' # 选择第一个keyword的XPath路径
ok_button_id = "ApplicationSignaturesAdd_ok" # OK按钮的ID
ok_button_posXpath = '(//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary form-action-submit css-1djnbgz"])[2]'
ok_component_id = "ApplicationSignaturesAdd_ok_component" # Object界面的OK按钮的ID(Condition界面)
ok_component_posXpath = '(//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary form-action-submit css-1djnbgz"])[1]'
cancel_component_id = "ApplicationSignaturesAdd_cancel_component" # Object界面的Cancel按钮的ID
cancel_component_posXpath = '(//button[@class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary form-action-cancel css-5vcc8t"])[1]'
cancel_confirm_yes_button='//button[@class="el-button el-button--default el-button--small el-button--primary operation-confirm-Leave"]'
confirm_yes_button_xpath = '(//*[normalize-space(text())="Yes"])[2]' # 弹窗再次确认保存Yes按钮的XPath路径
signature_page_total_item='//*[@id="router-view-container"]//div[@class="conditionTotal"]'
signature_edit_page_add_attribute_button='//button[@class="el-button el-button--default el-button--mini"]' #signature edit page add attribute button
signature_Attributes_ObjectPage_InputName_posId = "application_name1"
signature_Attributes_ObjectPage_InputName_posXpath = '//*[@id="application_name1"]'
signature_Attributes_ObjectPage_inputParentAttribute_posId = "attr_parentadd-_Attribute_anonymousComponent_VDraswer_ApplicationSignaturesAdd_Home_App_anonymousComponent" # 选择Parent Attribute +
signature_attr_search = '(//*[@class="inline el-input__inner"])[2]'#搜索框
signature_attribute_tcp_payload = '(//div[normalize-space(text())="tcp.payload"])[2]'
signature_AttributesObjectPage_UploadedFile_posXpath = '//*[@id="upload_file-_Attribute_anonymousComponent_VDraswer_ApplicationSignaturesAdd_Home_App_anonymousComponent"]/div/div/div/div/input' # 上传文件
signature_Attributes_ExecutionTime_posXpath = '//*[@id="attr_time-_Attribute_anonymousComponent_VDraswer_ApplicationSignaturesAdd_Home_App_anonymousComponent"]/div/div/div/input' # 最大执行时间
signature_AttributeValueType_Bool="radio_method0-_Attribute_anonymousComponent_VDraswer_ApplicationSignaturesAdd_Home_App_anonymousComponent" #选择类型为Numerical
ok1 = '//*[@id="attrAdd_ok-_Attribute_anonymousComponent_VDraswer_ApplicationSignaturesAdd_Home_App_anonymousComponent"]' #ok
ok2 = '//*[@class="el-button el-button--default el-button--small el-button--primary operation-confirm"]' #confirm yes
#Object appgroup===================appgroup====================appgroup=================appgroup=======================appgroup=================appgroup================
#app group列表頁的公共元素的和Attribute相同,可以復用
listPage_object_app_group_createButton_posId = "app_create-_OperateBtns_ElCol_ElRow_Application_appGroups_Home_App_anonymousComponent" # create按钮id
listPage_object_app_group_createButton_posXpath = '//span[@class="action-create inline-flex mr-[8px] "]/button' #create按钮Xpath!!!!!
listPage_object_app_group_editButton_posId ="appEdit-_OperateBtns_ElCol_ElRow_Application_appGroups_Home_App_anonymousComponent" # edit按钮id #todo 改为id
listPage_object_app_group_editButton_posXpath = '//span[@class="action-edit inline-flex mr-[8px] "]/button' #edit按钮xpath!!!!!
listPage_object_app_group_delButton_posId = "appDel-_OperateBtns_ElCol_ElRow_Application_appGroups_Home_App_anonymousComponent" # del按钮id
listPage_object_app_group_delButton_posXpath = '//span[@class="action-delete inline-flex mr-[8px] "]/button' # delete按钮Xpath!!!!!
listPage_object_app_group_del_yes_Button_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeSmall MuiButton-containedSizeSmall MuiButton-colorPrimary css-1aub58j"]' # delete yes按钮xpath!!!!!
listPage_First_app_group_object_ID_posXpath = '//*[@id="ly-table1-groupTable"]//tr[1]/td[1]//div[@class="table-status-item-id"]/span'
listPage_Second_app_group_object_ID_posXpath = '//*[@id="ly-table1-groupTable"]//tr[2]/td[1]//div[@class="table-status-item-id"]/span'
listPage_object_app_group_select_First_object_posXpath =listPage_object_APNs_select_First_object_posXpath #signature列表页第一行数据
listPage_objectSearch_app_group_select_Id_posXpath = '//*[@id="1-_FilteredSearch_ElCol_ElRow_Application_appGroups_Home_App_anonymousComponent"]' # 查询ID #todo 都改为id
listPage_objectSearch_app_group_select_Name_posId = "2-_FilteredSearch_ElCol_ElRow_Application_appGroups_Home_App_anonymousComponent" # 查询Name
listPage_objectSearch_app_group_input_Name_posXpath ='//*[@id="profileName"]/div[3]/div/input' #输入Name
list_page_no_data_app_group= listPage_object_APNs_No_Data_posXpath #No Data
#app group列表頁
# listPage_object_appgroup_createButton_posId = "app_create-_OperateBtns_ElCol_ElRow_Application_Home_App_anonymousComponent" # create按钮id
# listPage_object_appgroup_editButton_posId = "appEdit-_OperateBtns_ElCol_ElRow_Application_Home_App_anonymousComponent" # edit按钮id #todo 改为id
# listPage_object_appgroup_delButton_posId = "appDel-_OperateBtns_ElCol_ElRow_Application_Home_App_anonymousComponent" # del按钮id
# listPage_object_appgroup_del_yes_Button_posXpath = '//div[@class="el-dialog__wrapper"]/div/div[3]/span/button[1]/span' # del_yes按钮
listPage_objectSearch_appgroup_selectLabel_posId = "select-label" # 查询框id
listPage_objectSearch_appgroup_selectLabel_posXpath = '//div[@class="MuiAutocomplete-wrapper MuiAutocomplete-multiple css-1h1ala5"]/input' #查询框!!!!!
listPage_objectSearch_appgroup_buttonSearch_posId = "searchQuery" # 查询按钮id
listPage_objectSearch_appgroup_buttonClear_posId = "searchClear" # 清空查询按钮id
# listPage_first_appgroup_checkbox_xpath = '//*[@id="ly-table1-groupTable"]//tbody/tr[1]/td[1]/div//div/label' # 列表页第一个数据的复选框
#listPage_no_appgroup_xpath = '//*[@id="ly-table1-groupTable"]//span[@class="el-table__empty-text"]' # No data数据
#apn group create
appgroupObjectDetailPage_excludeObjects_search_posXpath = '//div[@class="app-group-excluded_sub_object_uuids"]//input'
appgroupObjectDetailPage_subordinateObjects_search_posXpath = '//div[@class="app-group-included_sub_object_uuids"]//input'
listPage_object_app_group_exclude_add_button_posXpath = "//div[@class='app-group-excluded_sub_object_uuids']//i[@class='iconfont icon-Create1 font-[700]']"
listPage_object_app_group_include_add_button_posXpath = "//div[@class='app-group-included_sub_object_uuids']//i[@class='iconfont icon-Create1 font-[700]']"
appgroup_inputname_xpath = '//input[@class="MuiInput-input css-fqt4w4"]' # Name输入框Xpath!!!!!
application_select_box_xpath = '//div[@class="app-group-included_sub_object_uuids"]//button' # Application选择框大➕!!!!!
application_select_little_plus_xpath='(//*[@id="router-view-container"]//div[@class="object-item-add"])[1]'
http_selection_xpath = '//li[@data-id="1005"]' # 选择http!!!!!
appgroup_exclude_app_switch_xpath = '//input[@class="PrivateSwitchBase-input MuiSwitch-input css-1m9pwf3"]' # Exclude App开启框!!!!!
appgroup_exclude_app_selection_xpath = '//div[@class="app-group-excluded_sub_object_uuids"]//button' # 选择Exclude App!!!!!
ssl_selection_xpath = '//li[@data-id="1032"]' # 选择ssl!!!!!
ftp_selection_xpath='(//*[@id="router-view-container"]//*[normalize-space(text())="ftp"])[2]'
appgroup_description_input_xpath = '//textarea[@placeholder="Please enter the content"]' # description输入框!!!!!
appgroup_object_group_subobject_close_posXpath = '//i[@class="iconfont icon-Clear_aNormal close-icon"]'
appgroup_ok_button_posId = "OK-_AppGroupDetail_Home_App_anonymousComponent" # OK
appgroup_ok_button_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary form-action-submit css-1djnbgz"]'
appgroup_confirm_ok_button_xpath = '//*[@class="el-button el-button--default el-button--small el-button--primary operation-confirm"]' # confirm ok
appgroup_cancel_button_posId = "Cancle-_AppGroupDetail_Home_App_anonymousComponent" # cancel
appgroup_cancel_button_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary form-action-cancel css-5vcc8t"]'
appgroup_confirm_appgroup_cancel_button_xpath = '//*[@class="el-button el-button--default el-button--small el-button--primary operation-confirm"]' # confirm cancel
appgroup_object_group_subobject_fist_posXpath = '//li[@data-id="1005"]//span'
appgroup_object_group_subobject_second_posXpath = '//li[@data-id="1032"]//span[@class="truncate"]'
appgroup_slide_app_ok='(//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary form-action-submit css-1djnbgz"])[2]'
appgroup_slide_app_confirm_ok='//button[@class="el-button el-button--default el-button--small el-button--primary operation-confirm"]'
appgroup_slide_app_add_signature_button='//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeSmall MuiButton-outlinedSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeSmall MuiButton-outlinedSizeSmall MuiButton-colorPrimary css-soyppl"]'
appgroup_slide_app_list_first_one='(//*[@class="white-space"])[1]'
appgroup_slide_app_name='(//input[@class="MuiInput-input css-fqt4w4"])[2]'
appgroup_slide_risk='//ul[@class="base-Popper-root MuiSelect-listbox Mui-expanded css-icfck1"]/li[@class="MuiOption-root css-1fryf7q"]'
appgroup_total_1='(//*[@id="router-view-container"]//div[@class="total textRight"])[1]'
appgroup_total_2='(//*[@id="router-view-container"]//div[@class="total textRight"])[2]'
appgroup_first_row_item_in_app='(//*[@id="router-view-container"]//div[@class="row-content-cell"])[1]'
appgroup_slide_create_app_button_posXpath = '//button[@class="MuiIconButton-root MuiIconButton-variantPlain MuiIconButton-colorNeutral MuiIconButton-sizeMd action-create css-mqmbcw"]'
appgroup_item_search_frame = '//div[@class="app-group-included_sub_object_uuids"]//input[@class="MuiInput-input css-za5rna"]'
#Object application===================application====================application=================application=======================application=================application================
#app group列表頁的公共元素的和Attribute相同,可以復用
#app group列表頁
listPage_object_application_createButton_posId = "app_create-_OperateBtns_ElCol_ElRow_Application_Home_App_anonymousComponent" # create按钮id
listPage_object_application_editButton_posId = "appEdit-_OperateBtns_ElCol_ElRow_Application_Home_App_anonymousComponent" # edit按钮id #todo 改为id
listPage_object_application_delButton_posId = "appDel-_OperateBtns_ElCol_ElRow_Application_Home_App_anonymousComponent" # del按钮id
listPage_object_application_del_yes_Button_posXpath = listPage_object_Tunnels_del_yes_Button_posXpath # del_yes按钮
listPage_object_application_first_row_posXpath = '//*[@id="app-table-_AppTable_Application_Home_App_anonymousComponent"]/div[3]/table/tbody/tr[1]' #第一行元素
listPage_object_application_total_value_posXpath = '//*[@id="pagination-_pagination_AppTable_Application_Home_App_anonymousComponent"]/span'
listPage_objectSearch_application_selectLabel_posId = "select-label" # 查询框id
listPage_objectSearch_application_buttonSearch_posId = "searchQuery" # 查询按钮id
listPage_objectSearch_application_buttonClear_posId = "searchClear" # 清空查询按钮id
listPage_object_application_first_row_id_posXpath = "//div[contains(@class,'el-table__body-wrapper')]//tr[1]//td[count(//div[@class='el-table__header-wrapper']//span[text()='ID']/../../../preceding-sibling::th)+1]//div[@class='cursor limit bfId positionRelative none-line']/div"
listPage_first_application_checkbox_xpath = listPage_object_APNs_select_First_object_posXpath # 列表页第一个数据的复选框
listPage_no_application_xpath = '//div[@class="MuiDataGrid-overlay css-14349d1"]' # No data数据
application_listPage_All_id="appAll0" #All按鈕
application_listPage_builtin_id="appAll1" #Buit-in按鈕
application_listPage_imported_id="appAll2" #imported按鈕
#app create&modify
application_inputname_xpath='//input[@placeholder="Please enter the content"]'#name输入框
application_input_longname_xpath='//input[@placeholder="Long Name"]'#long name输入框
application_description_input_xpath = '//textarea[@placeholder="Please enter the content"]' # description输入框
application_select_category_dropwmn_id = "application_eventkeying1" # Category select
application_select_category_dropwmn_posXpath = '//div[@class="application-object-category"]'
application_select_subcategory_dropwmn_id = "application_eventkeying2" # Subcategory select
application_select_subcategory_dropwmn_posXpath = '//div[@class="application-object-subcategory"]'
application_select_content_dropwmn_id = "application_eventkeying3" # Content select
application_select_content_dropwmn_posXpath = '//div[@class="application-object-content"]'
application_select_risk_dropwmn_id = "application_eventkeying4" # Risk select
application_select_risk_dropwmn_posXpath = '//div[@class="application-object-risk"]'
application_select_signature_dropwmn_id="application_signature"#signature dropdown
application_ok_button_posId = "application_sub-_AppOperate_Home_App_anonymousComponent" # OK
application_ok_button_posXpath = '//button[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary form-action-submit css-1djnbgz"]'
application_confirm_ok_button_xpath = appgroup_confirm_ok_button_xpath # confirm ok
application_cancel_button_posId = "application_back-_AppOperate_Home_App_anonymousComponent" # cancel
application_confirm_application_cancel_button_xpath = appgroup_confirm_appgroup_cancel_button_xpath # confirm cancel'
application_category_businesystem_xpath='//*[(normalize-space(text())="business-systems")]'
application_subcategory_authservice_xpath='//*[(normalize-space(text())="auth-service")]'
application_content_voicecall_xpath='//*[(normalize-space(text())="voice-call")]'
application_risk_is0_xpath='//ul[@class="base-Popper-root MuiSelect-listbox Mui-expanded css-icfck1"]/li[1]'#risk為0時則subcategory0,risk為1則是subcategory1
app_category_xpath='//ul[@class="base-Popper-root MuiSelect-listbox Mui-expanded css-icfck1"]/li[{}]' #0-4
app_sub_category_xpath='//ul[@class="base-Popper-root MuiSelect-listbox Mui-expanded css-icfck1"]/li[{}]' #0-3
app_content_xpath='//ul[@class="base-Popper-root MuiSelect-listbox Mui-expanded css-icfck1"]/li[{}]' #0-3
app_risk_xpath='//ul[@class="base-Popper-root MuiSelect-listbox Mui-expanded css-icfck1"]/li[{}]' #0-3
app_characteristics_xpath='(//input[@class="MuiCheckbox-input css-1jj0cvj"])[{}]' #1-9
Object_Application_set_button = '//button[@class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-1vzxql1"]/i'
Object_Application_select_cancel = '//button[@id="dropColALlFalse-_ElementSet_AppTable_Application_Home_App_anonymousComponent"]'
Object_Application_select_Ok = '//button[@id="dropColOK-_ElementSet_AppTable_Application_Home_App_anonymousComponent"]/span'
Object_Application_column_default = '//*[@id="root"]/div/div/main/div[1]/div[3]/div[2]/div[1]/div[1]/div/div/div[{}]/div[1]/div/div/div'
Object_Application_select_All = '//button[@id="dropColAll-_ElementSet_AppTable_Application_Home_App_anonymousComponent"]'
Object_Application_import_button_xpath = '(//button[@class="el-button importAndExport el-button--default el-button--small"]/i)[1]'
Object_Application_upload_button_xpath = '//input[@class="el-upload__input"]'
Object_Application_file_ok = '(//button[@class="el-button right-menu-button-close el-button--info el-button--small"])[4]'
Object_Application_success_detail_css = '.el-message__content'
Object_Application_Name_column = '//table/tbody/tr[{}]/td[4]/div/div[1]'
Object_Application_page_number = '//ul[@class="MuiPagination-ul css-nhb8h9"]/li[{}]/button'
Object_Application_next_page = '//button[@class="MuiButtonBase-root MuiPaginationItem-root MuiPaginationItem-sizeMedium MuiPaginationItem-text MuiPaginationItem-rounded MuiPaginationItem-colorPrimary MuiPaginationItem-textPrimary MuiPaginationItem-previousNext css-x4rueb"]'
Object_Application_page_input_xpath = '//input[@type="number"]'
Object_Application_Audit_Logs_xpath ='//i[@class="iconfont icon-a-Adminlogs icon-style"]'
Object_Application_Audit_Logs_page_xpath = '//div[@class="LocalationDraswer lstsub right-show-edit right-show-edit-other"]/div/div/div[@class="rm-top"]/span[1]'
Object_Application_create_cancel = '//button[@class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary form-action-cancel css-5vcc8t"]'
Object_Application_first_column = '//*[@id="root"]/div/div/main/div[1]/div[3]/div[2]/div[1]/div[2]/div/div[1]/div[{}]'
Object_Application_create_Category_first = '(//ul[@class="base-Popper-root MuiSelect-listbox css-icfck1"]/li[@aria-selected="true"])[1]'
Object_Application_create_blank = '//*[text()="Properties"]'
Object_Application_create_Subcategory_first = '(//ul[@class="base-Popper-root MuiSelect-listbox css-icfck1"]/li[@aria-selected="true"])[2]'
Object_Application_create_Content_first = '(//ul[@class="base-Popper-root MuiSelect-listbox css-icfck1"]/li[@aria-selected="true"])[3]'
Object_Application_create_Risk_first = '(//ul[@class="base-Popper-root MuiSelect-listbox css-icfck1"]/li[@aria-selected="true"])[4]'
Object_Application_input_error_name = '//div[@class="application-object-app_name"]/div[2]'
Object_Application_upload_error_detail_xpath = '//div[@class="importTips"]/p'
Object_Application_properties_error_xpath = '(//div[@class="MuiFormHelperText-root css-1y20gt9"])[{}]'
Object_Application_upload_repeat_error_xpath = '(//div[@class="el-table__body-wrapper is-scrolling-none"]/table[@class="el-table__body"]/tbody/tr[@class="el-table__row"]/td[3]/div[@class="cell"])[3]'
Object_Application_upload_cancel = '(//button[@class="el-button right-menu-button-close el-button--info el-button--small"])[4]'
Object_Application_clear_search_input = '//*[@id="searchClear"]'
Object_Application_create_drop_input_xpath = '//input[@class="MuiInputBase-input MuiOutlinedInput-input MuiInputBase-inputSizeSmall css-yush35"]'
Object_Application_create_drop_input_error = '//div[@class="application-object-after_n_packets"]/div[2]'
Object_Application_create_limit_error = '//div[@class="application-object-bps"]/div[2]'
Object_Application_create_first_signature_edit = '(//i[@id="application_proadd10"])[1]' #编辑Application页面Signature的按钮
Object_Application_create_signature_name_input = '(//input[@class="MuiInput-input css-fqt4w4"])[3]'
Object_Application_create_edit_signature_add_condition_button = '//div[@id="openSideslipOrCondition"]/i'
#Object_Application_create_edit_signature_add_to_input = '(//form/div[1]/div/div/div/input)[2]'
#Object_Application_create_edit_signature_add_to_Condition1_selector ='//ul[@class="el-scrollbar__view el-select-dropdown__list"]/li/span[text()="New Condition"]' #Add to下拉框的Condition1的xpath路径
#Object_Application_create_edit_signature_Attribute_name_input = '//div[@id="Attribute_Name"]' #edit_signature模块下Condition中Attribute添加按钮xpath路径
Edit_signature_Condition_Attribute_ip = '//div[text()="ip"]' #Traffic Attribute下的ip项路径
Edit_signature_Condition_Attribute_ip_src = '//span[text()="ip.src"]' #ip.src项
Edit_signature_Condition_Add_IP_button = '//div[@class="app-signature-object-object_uuids"]//button' #添加IP按钮
Edit_signature_Condition_Add_IP_choose = '(//div[@class="el-checkbox-group"]/ul/li/label[1]/span/div/span/div/span)[{}]'
Edit_signature_Condition_OK_button = '(//button[text()="OK"])[3]'
Edit_signature_OK_button = '(//button[text()="OK"])[2]'
Edit_signature_OK_button_confirm_yes = '//div[@class="el-message-box__btns"]/button[2]'
Edit_signature_Create_ip_OK = '//*[@id="OK-_IpDetail_orConditionSideslip_ElFormItem_AttributeType_ElForm_anonymousComponent_VDraswer_ApplicationSignaturesAdd_AppOperate_Home_App_anonymousComponent"]'
Edit_signature_Create_FQND_ok = '//*[@id="OK-_FqdnDetail_orConditionSideslip_ElFormItem_AttributeType_ElForm_anonymousComponent_VDraswer_ApplicationSignaturesAdd_AppOperate_Home_App_anonymousComponent"]'
Edit_signature_Create_FQND_confirm_yes = '//*[@class="el-button el-button--default el-button--small el-button--primary operation-confirm"]'
User_defined_search_type_name = '//ul[@class="el-scrollbar__view el-select-dropdown__list"]/li/span[text()="Name"]'
User_defined_search_type_name_input = listPage_objectSearch_Attributes_input_Name_posXpath
User_defined_search_type_delete = '//*[@class="el-tooltip tooltip"]/p[contains(text(),"Delete")]'
User_defined_search_type_delete_confirm_yes = '//*[@class="el-button delComponents-ok role-disconnect-btn el-button--default el-button--small"]'
Edit_signature_Condition_edit_button = '//div[@id="hijackAddContentType"]//i[@class="iconfont icon-Edit edit conditionEdit"]'
edit_signature_condition_attribute_name_button='//*[@id="Attribute_Name"]//span[@class="float-left addspanover bifang-obj-content-objectName-fields-new"]'
Edit_signature_Condition_clear_attribute = '(//i[@class="iconfont icon-Delete_X float-right"])[1]'
#Edit_signature_Condition_active_second = '//div[@class="el-collapse-item is-active"]/div[@class="el-collapse-item__wrap"]/div/div[2]'
Edit_signature_Condition_active_first = '(//div[@class="el-collapse-item is-active"]//*[@class="el-tooltip el-dropdown-menu__item relative-item cursorPointer item"])[1]'
Edit_signature_Condition_add_FQDN = '//div[@id="orCondition_id"]/i'
Edit_signature_Condition_add_items = '//div[@class="css-103las5"]//i[@class="iconfont icon-Create1 font-[700]"]'
User_defined_search_result_first =listPage_object_APNs_select_First_object_posXpath
User_defined_edit_button = listPage_object_signature_editButton_posId
#Edit_signature_remove_first_condition = '//div[@id="hijackAddContentType"]/div[2]/div/div[2]/div/div[2]/i[2]' #Edit Signature页面移除第一行condition按钮xpath路径
User_defined_edit_signature_create_ip_ok = '//*[@id="OK-_IpDetail_orConditionSideslip_ElFormItem_AttributeType_ElForm_anonymousComponent_VDraswer_ApplicationSignaturesAdd_Home_App_anonymousComponent"]' #user_define页面的创建ip时的保存ok按钮路径
User_defined_edit_signature_create_fqdn_ok = '//*[@id="OK-_FqdnDetail_orConditionSideslip_ElFormItem_attribute-type_ElForm_anonymousComponent_VDraswer_ApplicationSignaturesAdd_Home_App_anonymousComponent"]'#user_define页面的创建fqdn时的保存ok按钮路径
Edit_Ip_input = '//input[@class="MuiAutocomplete-input css-1lv7pyi"]'
Edit_Ip_input_save_xpath = '//i[@class="operate-icon iconfont icon-save"]'
Edit_Ip_OK = '//*[@class="MuiButtonBase-root MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiLoadingButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary form-action-submit css-1djnbgz"]'
Edit_Ip_OK_confirm_yes = '(//div[@class="el-message-box__btns"]/button)[2]'
Edit_fqdn_button = '//*[@id="appEdit-_OperateBtns_ElRow_Objects_fqdn_Home_App_anonymousComponent"]//p[@class="text-content text"]'
Edit_fqdn_clear_first_condition = '//*[@class="operate-icon iconfont icon-Delete_X del"]'
Edit_fqdn_items_input = '//input[@id="onlyMarvel"]'
Edit_fqdn_items_input_save = '//*[@id="router-view-container"]//i[@class="operate-icon iconfont icon-save save-color"]' #输入item后保存按钮xpath路径
Edit_fqdn_Ok_button = '//*[@id="OK-_FqdnDetail_Home_App_anonymousComponent"]'
Fqdns_first_details = '(//*[@id="multilineItemDetails-_MultilineTableCell_ElTableBody_ElTable_Objects_fqdn_Home_App_anonymousComponent"]//span[@class="el-tooltip tsg_ellipsis mouse-hover-click"])[1]' #fqdn下第一行的details内容xpath路径
Applications_create_signature_input = '//*[@id="objectName_seach-_checkList_component_Surrogate_component_ElForm_AppOperate_Home_App_anonymousComponent"]'
Applications_vote_signature_first_view = '(//*[@class="iconfont icon-View"])[1]'
app_signature_attribute_new_fqdn_add_button= '(//*[@id="proxy-_AppOperate_Home_App_anonymousComponent"]//*[@class="iconfont icon-Create1"])[5]'
app_signature_attribute_new_fqdn_select_fqdn_button='(//*[@class="el-dropdown-menu__item"])[1]'
app_signature_attribute_new_fqdn_name_button='(//*[@class="el-form-item__content"]//input[@placeholder="Please enter the content"])[3] '
app_signature_attribute_new_fqdn_item_content_button=Edit_fqdn_items_input
Applications_create_check_send_Tcp_reset = '//div[@class="application-object-send_tcp_reset"]//input'
Applications_create_default_packet = Object_Application_create_drop_input_xpath
Applications_create_check_send_ICMP_reset ='//div[@class="application-object-send_icmp_unreachable"]//input'
Applications_create_rate_limiting = '//button[@class="MuiButtonBase-root MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeSmall MuiButton-outlinedSizeSmall MuiButton-colorPrimary MuiButtonGroup-grouped MuiButtonGroup-groupedHorizontal MuiButtonGroup-groupedOutlined MuiButtonGroup-groupedOutlinedHorizontal MuiButtonGroup-groupedOutlinedPrimary MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary MuiButton-sizeSmall MuiButton-outlinedSizeSmall MuiButton-colorPrimary MuiButtonGroup-lastButton css-5ve3fi"]'
Applications_create_rate_limiting_input = Object_Application_create_drop_input_xpath
Applications_create_Drop_button = '//*[text()="Drop"]'
Admin_application = '//*[@id="Application_applications"]/a'
Admin_application_edit_button = '//*[@id="appEdit-_OperateBtns_ElCol_ElRow_Application_Home_App_anonymousComponent"]//p[@class="text-content text"]'
Applications_total_page = '(//div[@class="flex-1"]//span[@class="text-textColor"])[1]'
Applications_category_collaboration = '//div[@data-viewport-type="element"]//span[text()="business-systems"]'
Applications_clear_filters = '//span[@class="action-refresh inline-flex mr-[8px] "]/button'
Applications_row = '//table/tbody/tr[{}]/td[2]/div/div' #application主页面各行xpath路径
Applications_export_button = '//*[@class="iconfont icon-export"]' #Applications主页面导出按钮xpath路径
Applications_export_select_box = '(//*[@class="el-dialog__body"]//span[@class="el-checkbox__input is-checked"]/span)[{}]' #导出页面勾选框xpath路径
Applications_create_properties = '//form/div[1]/div[2]/div[{}]/label'
Applications_create_properties_subcategory = '//li[contains(text(),"{}")]'
application_search_by_name="2-_FilteredSearch_ElCol_ElRow_Application_Home_App_anonymousComponent"
application_search_by_id="1-_FilteredSearch_ElCol_ElRow_Application_Home_App_anonymousComponent"
application_search_by_id_posXpath = "//*[@id='1-_FilteredSearch_ElCol_ElRow_Application_Home_App_anonymousComponent']"
application_search_id_xpath = '//ul[@class="el-scrollbar__view el-select-dropdown__list"]/li/span[text()="ID"]'
Application_create_ip = '(//i[@class="iconfont icon-Create1"])[2]'
Application_create_ip_address = '//ul[@class="base-Popper-root MuiMenu-root Mui-expanded MuiMenu-variantOutlined MuiMenu-colorNeutral MuiMenu-sizeMd css-131n2dh"]/li[1]'
#application 新建页或编辑页添加parent app
application_select_parentapp_dropdown_xpath = '//*[@id="application_parentApp"]' # Parent App下拉框
application_slide_frame_add_parent_app_button_xpath='//button[@id="Radio_list_proaddadd-_RadioList_component_AppOperate_Home_App_anonymousComponent"]' #侧滑框加号
parent_application_input_name_xpath = '//*[@id="application_name-_AppOperate_VDraswer_AppOperate_Home_App_anonymousComponent"]/input'
parent_application_input_description_xpath = '(//*[@id="application_description"])[last()]'
parent_application_select_category_dropwmn_xpath = "(//*[@id='application_eventkeying1'])[last()]" # Category select
parent_application_select_subcategory_dropwmn_xpath = "(//*[@id='application_eventkeying2'])[last()]" # Subcategory select
parent_application_select_content_dropwmn_xpath = "(//*[@id='application_eventkeying3'])[last()]" # Content select
parent_application_select_risk_dropwmn_xpath = "(//*[@id='application_eventkeying4'])[last()]" # Risk select
parent_application_category_first_row_xpath = '//*[@id="application_category0-_AppOperate_VDraswer_AppOperate_Home_App_anonymousComponent"]'
parent_application_subcategory_first_row_xpath = '(//*[@id="application_subcategory0-_AppOperate_VDraswer_AppOperate_Home_App_anonymousComponent"])[last()]'
parent_application_content_first_row_xpath = '(//*[@id="application_subcategory0-_AppOperate_VDraswer_AppOperate_Home_App_anonymousComponent"])[last()]'
parent_application_risk_first_row_xpath = parent_application_content_first_row_xpath
parent_application_ok_button_xpath = '//*[@id="application_sub-_AppOperate_VDraswer_AppOperate_Home_App_anonymousComponent"]'
parent_application_confirm_ok_button_xpath='//button[@class="el-button el-button--default el-button--small el-button--primary operation-confirm"]'
list_page_parent_app_expand_or_close_button = '(//*[@id="app-table-_AppTable_Application_Home_App_anonymousComponent"]//div[@class="el-table__expand-icon el-table__expand-icon--expanded"])[1]'#列表页parent app折叠或展开Parent app的按钮
# app link页
app_listpage_linkButton_posId = "btnCopy-_OperateBtns_ElCol_ElRow_Application_Home_App_anonymousComponent" #link按钮ID
app_listpage_linkSave_posXpath = '//*[@id="clusterSave-_ClusterTable_ElDialog_copyComponents_Application_Home_App_anonymousComponent"]' # Cluster和Vsys保存按钮ID
app_listpage_linkAdd_posXpath = '//*[@id="temporary_form-_ClusterTable_ElDialog_copyComponents_Application_Home_App_anonymousComponent"]' # 添加新的Cluster和Vsys按钮ID
app_listpage_linkOk_posXpath = '//*[@id="copyOk-_copyComponents_Application_Home_App_anonymousComponent"]'
# app attributes link页
attr_listpage_linkButton_posId = "btnCopy-_OperateBtns_ElCol_ElRow_Application_customizedAttr_Home_App_anonymousComponent" #link按钮ID
attr_listpage_linkSave_posXpath = '//*[@id="clusterSave-_ClusterTable_ElDialog_copyComponents_Application_customizedAttr_Home_App_anonymousComponent"]' # Cluster和Vsys保存按钮ID
attr_listpage_linkAdd_posXpath = '//*[@id="temporary_form-_ClusterTable_ElDialog_copyComponents_Application_customizedAttr_Home_App_anonymousComponent"]' # 添加新的Cluster和Vsys按钮ID
attr_listpage_linkOk_posXpath = '//*[@id="copyOk-_copyComponents_Application_customizedAttr_Home_App_anonymousComponent"]'
# app signatures link页
app_signature_listpage_linkButton_posId = "btnCopy-_OperateBtns_ElCol_ElRow_Application_appSignatures_Home_App_anonymousComponent" #link按钮ID
app_signature_listpage_linkSave_posXpath = '//*[@id="clusterSave-_ClusterTable_ElDialog_copyComponents_Application_appSignatures_Home_App_anonymousComponent"]' # Cluster和Vsys保存按钮ID
app_signature_listpage_linkAdd_posXpath = '//*[@id="temporary_form-_ClusterTable_ElDialog_copyComponents_Application_appSignatures_Home_App_anonymousComponent"]' # 添加新的Cluster和Vsys按钮ID
app_signature_listpage_linkOk_posXpath = '//*[@id="copyOk-_copyComponents_Application_appSignatures_Home_App_anonymousComponent"]'
# app group link页
app_group_listpage_linkButton_posId = "btnCopy-_OperateBtns_ElCol_ElRow_Application_appGroups_Home_App_anonymousComponent" #link按钮ID
app_group_listpage_linkSave_posXpath = '//*[@id="clusterSave-_ClusterTable_ElDialog_copyComponents_Application_appGroups_Home_App_anonymousComponent"]' # Cluster和Vsys保存按钮ID
app_group_listpage_linkAdd_posXpath = '//*[@id="temporary_form-_ClusterTable_ElDialog_copyComponents_Application_appGroups_Home_App_anonymousComponent"]' # 添加新的Cluster和Vsys按钮ID
app_group_listpage_linkOk_posXpath = '//*[@id="copyOk-_copyComponents_Application_appGroups_Home_App_anonymousComponent"]'
# apn link页
APNs_listpage_linkButton_posId = "btnCopy-_OperateBtns_ElRow_Objects_apn_Home_App_anonymousComponent" #link按钮ID
APNs_listpage_linkSave_posXpath = '//*[@id="clusterSave-_ClusterTable_ElDialog_copyComponents_Objects_apn_Home_App_anonymousComponent"]' # Cluster和Vsys保存按钮ID
APNs_listpage_linkAdd_posXpath = '//*[@id="temporary_form-_ClusterTable_ElDialog_copyComponents_Objects_apn_Home_App_anonymousComponent"]' # 添加新的Cluster和Vsys按钮ID
APNs_listpage_linkOk_posXpath = '//*[@id="copyOk-_copyComponents_Objects_apn_Home_App_anonymousComponent"]'
# tunnel link页
tunnel_listpage_linkButton_posId = "btnCopy-_OperateBtns_ElRow_Objects_tunnel_Home_App_anonymousComponent" #link按钮ID
tunnel_listpage_linkSave_posXpath = '//*[@id="clusterSave-_ClusterTable_ElDialog_copyComponents_Objects_tunnel_Home_App_anonymousComponent"]' # Cluster和Vsys保存按钮ID
tunnel_listpage_linkAdd_posXpath = '//*[@id="temporary_form-_ClusterTable_ElDialog_copyComponents_Objects_tunnel_Home_App_anonymousComponent"]' # 添加新的Cluster和Vsys按钮ID
tunnel_listpage_linkOk_posXpath = '//*[@id="copyOk-_copyComponents_Objects_tunnel_Home_App_anonymousComponent"]'
|