robotframework-demo/Project/task4/Resource/RE2_CDM/ElementPath.robot

424 lines
55 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

*** Settings ***
Library Selenium2Library
*** Variables ***
${CDM_dataProtect} id=sideNav_cdm # 黑方主界面—副本数据保护栏
${CDP_function} xpath=//*[@id="sideNav_cdp"]/div/div[2] # 黑方主界面—持续数据保护栏
${Add_VM_Policy} id=hostVM_tab_policy_addWorkVM_btn # 副本数据保护界面—添加策略
${Input_Vmname} id=treeSearchInputVm # 添加策略界面—数据源—虚拟机名称输入框
${Search_Vmname} xpath=//input[@id="treeSearchInputVm"]/..//button # 添加策略界面—数据源—虚拟机名称搜索按钮
${Add_Vmname} xpath=//button[@ng-click="addSelectedAll('add')"] # 添加策略界面—数据源—添加到已选列表按钮
${Add_Vm_Policy_Nextstep} xpath=//span[@ng-click="fw_step_2()"] # 添加策略界面—数据源—下一步
${Add_Credentials} xpath=//button[@id="clp_addPolicy_openOracleClp"] # 添加策略界面—OracleCLP数据源—Oracle选项-添加链接凭证
${OracleCLP_ipaddress} xpath=//input[@id="colony_orcip_clp"] # 添加策略界面—OracleCLP数据源—Oracle选项-IP地址
${OracleCLP_port} xpath=//input[@id="colony_orcport_clp"] # 添加策略界面—OracleCLP数据源—Oracle选项-端口
${OracleCLP_sys_PWD} xpath=//input[@id="colony_orcpwd_clp"] # 添加策略界面—OracleCLP数据源—Oracle选项-sys用户密码
${AddTaskCycle} Xpath=//button[@id="AddTaskCycle"] # 添加策略—任务周期—添加任务周期
${Cycle_Onetime} xpath=//input[@id="promptly"] # 添加策略界面—任务周期—设置任务周期—仅一次
${Cycle_Confirm} xpath=//button[@ng-click="BackStep4()"] # 添加策略界面—任务周期—设置任务周期—确定按钮
${Cycle_Nextstep} xpath=//button[@ng-click="NetStep3()"] # 添加策略界面—任务周期—下一步按钮
${Advance_Nextstep} xpath=//span[@id="addPolicyMaskVm"]/..//span[@ng-click="fw_step_4()"] # 添加策略界面—高级选项—下一步按钮
${Vm_PolicyName} id=survey_taskname # 添加策略界面—概览—策略名称输入框
${Complete_policy} xpath=//span[@ng-click="AddPolicyFinish()"] # 添加策略界面—概览—完成按钮
${Success_Confirm} xpath=//a[@id="unnamed_module_layerCancel"] # 策略操作成功弹窗—确定按钮
${tab_backupset} xpath=//li[@ng-class="{active:policyShow_backupsVm}"] # 副本数据保护界面—备份集栏
${Input_Policy_Name} id=backupPolicyName_VM # 副本数据保护界面—备份集—策略名称输入框
${Button_Searchbk} xpath=//span[@ng-click="searchBackupSourceName_VM()"] # 副本数据保护界面—备份集—查找备份集按钮
${Full_Backup} xpath=//*[@id="fullBackup"] # 添加策略界面—任务周期—设置任务周期—完全备份
${Incremental_Backup} id=incrementalBackup # 添加策略界面—任务周期—设置任务周期—增量备份
${Oracle_Incremental_Backup} xpath=//select[@ng-model="selectedSrctype"]/option[text()="增量备份"] # 添加策略界面—任务周期—设置任务周期—增量备份
${Pipeline_Encryption} id=pipelineEncryptionVm # 添加策略界面—高级选项—管道加密
${Pipeline_Compress} id=pipelineCompressVm # 添加策略界面—高级选项—管道压缩
${Pipeline_Dedup} id=pipelineDedupVm # 添加策略界面—高级选项—管道重删
${Recover_Vmname} xpath=//*[@id="nameAfterRecovery"] # 恢复界面—恢复后的名称
${Choose_Storage} xpath=//*[@id="restoreStorage"] # 恢复界面—请选择存储
${Datastore} xpath=//option[contains(text(),"datastore(")] # 恢复界面—请选择存储—datastore1
${Complete_Recover_Policy} xpath=//span[@ng-click="backupSetSure()"] # 恢复界面—确定按钮
${Tab_Work} xpath=//li[@ng-class="{active:policyShow_workVm}"] # 副本数据保护界面—作业栏
${Button_Searchwork} xpath=//span[@ng-click="clickWorkPolicyName_VM()"] # 副本数据保护界面—作业栏—查找按钮
${Tab_Policy} xpath=//li[@ng-class="{active:policyShowVm}"] # 副本数据保护界面—策略栏
${Policy_Delete} xpath=//table/tbody/tr[1]//a[text()="删除"] # 副本数据管理界面—策略栏—策略删除按钮
${Confirm_Delete} xpath=//div[text()="确定要删除该策略吗?"]/../div[3]/a[1] # 删除策略弹窗—确认按钮
${Select_Bk_Type} xpath=//select[@ng-model="selectedSrctype"] # 副本数据保护界面—策略栏—立即执行策略—请选择备份类型
${Option_Fullbk} xpath=//option[@label="完全备份"] # 副本数据保护界面—策略栏—立即执行策略—完全备份
${Option_VMIncrebk} xpath=//option[@label="增量备份"] # VMware副本数据保护界面—策略栏—立即执行策略—增量备份
${Option_Increbk} xpath=//option[@label="永久增量备份"] # 副本数据保护界面—策略栏—立即执行策略—永久增量备份
${Option_Permanent_increment} xpath=//option[@label="永久增量备份"] # 副本数据保护界面—策略栏—立即执行策略—增量备份
${Confirm_Exec} xpath=//button[@ng-click="executePolicy_execute()"] # 副本数据保护界面—策略栏—立即执行—确定按钮
${Bk_More} xpath=//a[@id="backupAction_VM_1"] # 副本数据保护界面—备份集栏—备份集—更多
${Bk_More_Delete} xpath=//a[text()=" 删除"] # 副本数据保护界面—备份集栏—更多—删除
${Confim_Delete_Bk} xpath=//a[text()="确认"] # 副本数据保护界面—删除备份集弹窗—确定
${Virtual_Manage} xpath=//span[@ng-disabled="!hostmgr"] # 黑方主界面—副本数据管理栏—主机管理按钮
${Add_New_VM} xpath=//span[@ng-click="newVMware(1)"] # 黑方主界面—副本数据保护栏—主机添加—添加VM3.0
${Add_ESXI_Name} id=hostName_vm # 副本数据保护栏—添加Vm弹窗—输入备注主机名输入框
${Add_ESXI_User} id=userName_vm # 副本数据保护栏—添加VM平台—用户名输入框
${Add_ESXI_PWD} xpath=//h4[text()="设置虚拟化管理主机-VMware"]/../..//input[@type="password"] # 副本数据保护栏—添加VM平台—密码输入框
${Add_ESXI_IP} id=IPAddress_vm # 副本数据保护栏—添加VM平台—IP输入框
${ESXI_Info_Nextstep} xpath=//span[@ng-click="fw_step_3()"] # 添加VM平台弹窗—设置虚拟化管理主机-VMware—下一步
${Exec_Point} xpath=//span[text()="执行节点"]/../../td[2]/div # 添加VM平台弹窗—设置虚拟化管理主机—执行节点勾选框
${Exec_Point_Nextstep} xpath=//span[@ng-click="fw_step_4()"] # 添加VM平台弹窗—设置虚拟化管理主机—执行节点—下一步
${Add_BC} xpath=//span[text()="添加"] # 添加VM平台弹窗—设置虚拟化管理主机—添加黑方
${Confirm_Add_BC} xpath=//span[@ng-click="addConfigurationSure()"] # 添加VM平台弹窗—设置虚拟化管理主机—添加黑方弹窗—确定
${Add_BC_Nextstep} xpath=//span[@ng-click="fw_step_5()"] # 添加VM平台弹窗—设置虚拟化管理主机—添加黑方—下一步
${Add_ESXI_Finish} xpath=//div[@ng-show="step_5_show"]/button[@ng-click="finishAdd()"] # 添加VM平台弹窗—设置虚拟化管理主机—Esxi信息确认—完成
${Select_BC_MDS} id=storageMediumVm # 添加VM平台—配置主机信息—存储介质选框
${Input_Oracle_SearchName} xpath=//input[@ng-model="searchHostName"] # 副本管理-搜索主机名
${Input_CDP_SearchName} xpath=//input[@id="cdp_searchTree_input"] # 持续数据保护-搜索主机名
${Add_CDM_BK_Policy} xpath=//span[text()="新建备份策略"] # 副本管理-添加任务-添加策略
${Add_CDP_BK_Policy} xpath=//span[text()="添加策略"] # 持续数据保护-基本信息-添加策略
${Add_RACCDM_BK_Policy} xpath=//button[@ng-show="cluster"and text()="添加策略"] # 副本管理-添加任务-添加策略
${Input_ORACLE_SID} xpath=//*[@id="alone_instance"] # 副本管理-添加任务-实例名
${Select_Oracle_Linktype} xpath=//*[@id="alone_linktype"] # 副本管理-添加策略-选择连接方式
${Input_Oracle_Username} xpath=//input[@id="alone_username"] # 副本管理-添加策略-Oracle用户名
${Input_Oracle_Passwd} xpath=//input[@id="alone_orcpwd"] # 副本管理-添加策略-Oracle密码
${Cycle_OracleSID_Nextstep} xpath=//div[@ng-show="step_1_show"]/button[@ng-click="fw_step_2()"] # 副本管理-添加策略-Oracle连接凭据-下一步
${Select_Oracle_InstanceSID} xpath=//*[@id="addPolicyOracleTree"]/div/table/tbody/tr[2]/td[2]/table/tbody/tr[1]/td[2]/div # 副本管理-添加策略-Oracle选择目录实例
${Cycle_Oracle_Select_SID_Next} xpath=//button[@ng-click="fw_step_3()"] # 副本管理-添加策略-数据库实例名-下一步
${Cycle_Add_Task} id=AddTaskCycle # 副本管理-添加策略-添加周期任务
${Select_Task_fullBackup} id=fullBackup # 副本管理-添加策略-周期策略-完全备份Option_NextStep
${Select_Fullbaskup_Onetime} xpath=//input[@id="promptly"] # 副本管理-添加策略-周期-仅一次
${Cycle_Oracle_Task_Commit} xpath=//button[@ng-click="BackStep4()"] # 副本管理-添加策略-仅一次完全-完成
${Cycle_Oracle_Task_Next} xpath=//button[@ng-click="NetStep3()"] # 副本管理-添加策略-周期任务-下一步
${Cycle_Oracle_Disk_Next} xpath=//div/button[@id="dialogues_addCycleStorage_step3_4_nodb2_next_btn"] # 副本管理-添加策略-设置存储-下一步
${Select_Oracle_BCT} xpath=//*[@id="bctOption"] # 副本管理-添加策略-高级选项-BCT
${Cycle_Oracle_Finish_Commit} xpath=//div[@ng-show="step_last && !edit_mode && !oracle_clpVal"]/button[@class="btn btn-primary" and text()="完成"] # 副本管理-添加策略-完成
${Cycle_Oracle_NoTaskname} xpath=//button[@class="btn btn-primary ok"] # 副本管理-添加策略-未输入任务名称
${Input_Oracle_PolicyName} xpath=//input[@id="PolicyName"] # 副本管理-添加策略-任务名
${Backup_html} xpath=//li[@ng-class="{active:policyShow_backups}"] # 副本管理-副本管理(备份集)
${Status_Oracle_Backup} xpath=//tr[1]/td[8] # 副本管理-备份状态
${Select_Oracle_Role} id=alone_orcrole_os # 副本管理-添加策略-Oracle角色
${Cycle_Oracle_OK} xpath=//button[@class="btn btn-primary ok"] # 副本管理-添加任务-任务添加成功
${Select_Oracle_Restore_Option} xpath=//tr[@data-index="0"]/td/div/div/button[contains(@id,"backup")] # 副本管理-备份集-操作
${Select_Oracle_Restore} xpath=//ul[@class="urp-dropdown-menu-table "]/li[2] # 副本管理-备份集-恢复
${Input_Oracle_Restore_SID} xpath=//*[@id="instance"] # 副本管理-恢复-实例名
${Cycle_Oracle_Restore_Next} xpath=//button[@ng-click="fw_1_2()"] # 副本管理-恢复-连接凭据-下一步
${Select_JobHtml} xpath=//li[@ng-class="{active:policyShow_work}"] # 副本管理-作业界面
${Cycle_Restore_Finish_OK} xpath=//button[@class="btn btn-primary ok"] # 副本管理-恢复-完成
${Oracle_StopMount_Confirm} xpath=//button[@id="cdm_stopWork_finish_btn"] # 副本管理-恢复-完成
${Search_Status_Sessuss} xpath=//tbody/tr[1]/td/div[text()="成功"] # 副本管理-作业-恢复成功
${Input_Oracle_Backups_Policy_Name} xpath=//input[@ng-keypress="enterPolicyName($event)"] # 副本管理-备份集-策略名查找
${Cycle_Search_PolicyName} id=cdm_tab_backupset_searchfilter_span # 副本管理-备份集-策略名查找按钮
${Cycle_CDM_Policy} xpath=//*[@id="tab_policy"]/span[text()="定时保护策略"] # 副本管理-定时保护策略
${Input_Policy_MaskName} xpath=//*[@id="backupNameSearch"] # 副本管理-定时策略-策略名
${Run_Now} xpath=//*[@id="compileButton0"]/span[text()="立即执行"] # 副本管理-定时策略-立即执行
${Now_Run_Type} xpath=//select[@ng-change="chooseSrctype(selectedSrctype)"] # 副本管理-定时策略-立即执行-选择类型
${Cycle_Run_Now_Finish} xpath=//button[@ng-click="executePolicy_execute()"] # 副本管理-定时策略-立即执行-完成
${Oracle_Backups_Mount} xpath=//ul[@class="urp-dropdown-menu-table "]/li[3] # 副本管理-备份集-挂载
${Select_Oracle_hosts} xpath=//div[@id="host_wrapper"]/select [@ng-options="host.name for host in hosts"] # 副本管理-挂载-主机列表
${Input_Oracle_Mount_NewSID} xpath=//*[@id="instance"] # 副本管理-挂载-新实例名
${Cycle_Oracle_Mount_Next} id=cdm_oracle_addRecoveryPolicy_next23_btn # 副本管理-挂载-下一步
${Cycle_Oracle_Mount_Finish} id=cdm_oracle_addRecoveryPolicy_finish_btn # 副本管理-挂载-完成
${Cycle_Oracle_Make} xpath=//tbody//tr[1]/td/button[text()="停止"] # 副本管理-作业-停止
${Cycle_Oracle_StopJob} xpath=//ul[@class="urp-dropdown-menu-table "]/li[3]/a # 副本管理-作业-停止作业
${Cycle_Oracle_Relocation} xpath=//ul[@class="urp-dropdown-menu-table "]/li[2]/a # 副本管理-作业-回迁
${Select_Oracle_Relocation_Host} xpath=//div[@ng-controller="relocationDialogCtrl_CDM"]//select[@ng-model="selectedHost"] # 副本管理-回迁-选择主机
${Input_Oracle_Relocation_Passwd} xpath=//h4[text()="数据回迁"]/../..//div[@id="password_wrapper"]//input[@type="password"] # 副本管理-回迁-密码
${Select_Oracle_Relocation_Role} xpath=//select[@id="orcrole_os"] # 副本管理-回迁-角色
${Cycle_Oracle_Relocation_Next} xpath=//button[@ng-click="fw_1_3()"] # 副本管理-回迁-下一步
${Cycle_Oracle_Relocation_Finish} xpath=//div[@ng-show="step_2_show"]/button[@ng-click="finish()"] # 副本管理-回迁-完成
${Cycle_Oracle_Relocation_Stop} xpath=//a[contains(text(),"停止")] # 副本管理-回迁-完成回迁
${Cycle_Oracle_Relocation_Finesh_Commit} id=cdm_stopWork_finish_btn # 副本管理-回迁-完成回迁-确定
${Confirm_Quick_Mount} xpath=//span[text()="确定" and @ng-click="backupSetSure()"] # 副本数据保护界面—备份集—快速挂载弹窗—确定按钮
${Vm_Recover_File} xpath=//a[text()=" 恢复文件"] # 备份集栏—更多—恢复文件
${Vm_Recover_File_NextStep} xpath=//button[@ng-click="recoveryVol.fw_1_2()"] # 副本数据保护栏—备份集—恢复文件弹窗—下一步
${Vm_Recover_File_Complete} xpath=//button[@ng-click="recoveryVol.finish()"] # 副本数据保护栏—备份集—恢复文件弹窗—完成
${BC_Agent} xpath=//span[text()="localhost.localdomain"] # 黑方代理
${Quick_Mount_Complete} xpath=//span[text()="99"] # 副本数据管理栏—作业栏—集成代理浏览挂载成功状态
${Common_Tab_Work} xpath=//li[@ng-class="{active:policyShow_work}"] # 副本数据保护栏—普通代理—作业栏
${First_Line_Exe} xpath=//button[@id="taskAction_0"] # 副本数据管理—作业—第一行作业操作按钮
${fuben_yingyong} xpath=//ul[@class='main_tab']/li[@id="cdm_tab_backupset_application_li"]/span[text()="副本应用"] # 副本数据管理—副本应用
${sqlserver_umount} xpath=//span[@lay-event="uninstall"] # 副本数据管理—副本应用-卸载
${umount_sure} xpath=//a[@id="unnamed_module_layerOK"] # 副本数据管理—副本应用-卸载-确定
${Stop_Mount} xpath=//button[text()="停止"] # 副本数据保护界面—作业—操作—停止按钮
${Stop_Work_Confirm} xpath=//button[@ng-click="confirmStopWork()"] # 副本数据保护界面—停止作业弹窗—停止按钮
${Input_Oracle_SearchName} xpath=//input[@ng-model="searchHostName"] # 副本管理-搜索主机名
${Add_Oracle_Police} xpath=//span[@ng-click="showAddDialog()"] # 副本管理-添加任务-添加策略
${Select_Oracle_Type} xpath=//span[@ng-click="setpolicy('oracle_cdm')"] # 副本管理-添加策略-Oracle
${Select_OracleCLP_Type} xpath=//span[@ng-click="setpolicy('oracle_clp')"] # 持续数据保护-添加策略-OracleCLP
${Input_ORACLE_SID} xpath=//*[@id="alone_instance"] # 副本管理-添加任务-实例名
${Select_Oracle_Linktype} xpath=//*[@id="alone_linktype"] # 副本管理-添加策略-选择连接方式
${Input_Oracle_Username} xpath=//input[@id="alone_username"] # 副本管理-添加策略-Oracle用户名
${Input_Oracle_Passwd} xpath=//input[@id="alone_orcpwd"] # 副本管理-添加策略-Oracle密码
${Cycle_OracleSID_Nextstep} xpath=//div[@ng-show="step_1_show"]/button[@ng-click="fw_step_2()"] # 副本管理-添加策略-Oracle连接凭据-下一步
${Cycle_Oracle_Select_SID_Next} xpath=//button[@ng-click="fw_step_3()"] # 副本管理-添加策略-数据库实例名-下一步
${Select_Task_fullBackup} id=fullBackup # 副本管理-添加策略-周期策略-完全备份
${Select_Fullbaskup_Onetime} xpath=//input[@id="promptly"] # 副本管理-添加策略-周期-仅一次
${Select_Oracle_BCT} xpath=//*[@id="bctOption"] # 副本管理-添加策略-高级选项-BCT
${Cycle_Oracle_Finesh_Commit} xpath=//div[@ng-show="step_last && !edit_mode"]//button[@ng-click="finish()"] # 副本管理-添加策略-完成
${Cycle_Oracle_NoTaskname} xpath=//button[@class="btn btn-primary ok"] # 副本管理-添加策略-未输入任务名称
${Status_Oracle_Backup} xpath=//tr[1]/td[8] # 副本管理-备份状态
${Select_Oracle_Role} id=alone_orcrole_os # 副本管理-添加策略-Oracle角色
${Cycle_Oracle_OK} xpath=//button[@class="btn btn-primary ok"] # 副本管理-添加任务-任务添加成功
${Cycle_Oracle_Restore_Finish} xpath=//button[@id="cdm_oracle_addRecoveryPolicy_finish_btn"] # 副本管理-恢复-完成
${Input_Oracle_Backups_Policy_Name} xpath=//input[@ng-keypress="enterPolicyName($event)"] # 副本管理-备份集-策略名查找
${Bk_Search_PolicyName} id=cdm_tab_policy_backContent_search_btn # 副本管理-备份集-策略名查找按钮
${Cycle_CDM_Policy} xpath=//*[@id="tab_policy"]/span[text()="定时保护策略"] # 副本管理-定时保护策略
${Input_Policy_MaskName} xpath=//*[@id="backupNameSearch"] # 副本管理-定时策略-策略名
${Run_Now} xpath=//*[@id="compileButton0"]/span[text()="立即执行"] # 副本管理-定时策略-立即执行
${Now_Run_Type} xpath=//select[@ng-change="chooseSrctype(selectedSrctype)"] # 副本管理-定时策略-立即执行-选择类型
${Cycle_Run_Now_Finish} xpath=//button[@ng-click="executePolicy_execute()"] # 副本管理-定时策略-立即执行-完成
${Select_Oracle_hosts} xpath=//div[@id="host_wrapper"]/select [@ng-options="host.name for host in hosts"] # 副本管理-挂载-主机列表
${Search_Mount_JobStatus} xpath=//tbody/tr[1]/td/div[@class="layui-table-cell padding-0"]/span[text()="99"] # 副本数据-作业-挂载进度
${SQLServer_Mount_JobStatus} xpath=//tbody/tr[1]/td/div[text()="成功"] # 副本数据-作业-挂载进度
${Cycle_Oracle_StopJob} xpath=//*[@id="app"]/ul/li[3]/a # 副本管理-作业-停止作业
${Cycle_Oracle_Relocation} xpath=//ul[@class="urp-dropdown-menu-table "]/li[2]/a # 副本管理-作业-回迁
${Select_Oracle_Relocation_Host} xpath=//div[@ng-controller="relocationDialogCtrl_CDM"]//select[@ng-model="selectedHost"] # 副本管理-回迁-选择主机
${Input_Oracle_Relocation_UserName} xpath=//h4[text()="数据回迁"]/../..//div[@id="normal"]//input[@id="userName"] # 副本管理-回迁-用户名
${Cycle_Oracle_Relocation_Next} xpath=//button[@ng-click="fw_1_3()"] # 副本管理-回迁-下一步
${Cycle_Oracle_Relocation_Finish} xpath=.//*[@id="relocationDialog"]/div/div/ng-include/div/div[1]/div[2]/div[5]/button[3] # 副本管理-回迁-完成
${Cycle_Oracle_Relocation_Stop} xpath=//ul[@class="urp-dropdown-menu-table "]/li[2]/a # 副本管理-回迁-完成回迁
${Cycle_Oracle_Relocation_Finesh_Commit} xpath=//div[@class="layui-layer-content"]//button[@ng-click="finish()"] # 副本管理-回迁-完成回迁-确定
${Search_Cycle_Task_Oracle} xpath=//*[@id="backupNameSearch"]/..//span[@ng-click="searchInPolicyPage()"] # 副本管理-任务-策略名-查找
${Cycle_Oracle_Backups_Delete} xpath=//ul[@class="urp-dropdown-menu-table "]//a[contains(text(),"删除")] # 副本管理-副本数据-删除
${Cycle_Oracle_Delete_Cocfirm} xpath=//span[@ng-click="confirmDeleteCom()"] # 副本管理-副本数据-删除-确定
${Cycle_Oracle_Police_Delete} xpath=//*[@id="compileButton0"]/span[text()="删除"] # 副本管理-策略-删除
${OracleCDM_Police_Delete} xpath=//a[text()="确认"] # 副本管理-策略-删除
${Cycle_Oracle_Policy_Delete_Confirm} xpath=//button[@ng-click="deletePolicy()"] # 副本管理-策略-删除-确认
${Cycle_Oracle_StopMount_Confirm} xpath=//button[@ng-click="confirmStopWork()"] # 副本管理-挂载-停止挂载-确定
${StopMount_Confirm} xpath=//button[@id="cdm_cancelWork_finish_btn"] # 副本管理-挂载-停止挂载-确定
${Html_Oracle_Policy} id=cdm_tab_policy_li # 副本管理-定时策略界面
${OracleCLP_Policy} xpath=//*[@id="cdpContent"]/div[2]/div[2]/div[1]/div[1]/ul/li[1]/span # 持续数据保护-基本信息界面
${OracleCLP_Policy_Refresh} xpath=//*[@id="cdp_database_diskInfoRefresh_span"]/span[3] # 持续数据保护-基本信息界面-刷新
${OracleCLP_Bk_Refresh} xpath=//*[@id="cdp_tab_snap_refreshWork_span"] # 持续数据保护-快照数据-刷新
${OracleCLP_Snapshot} xpath=//*[@id="cdpContent"]//span[text()="快照数据"] # 持续数据保护-快照数据
${OracleCLP_Snapshot_Fir_DEL} xpath=//*[@id="snaptableContent"]//tr[@data-index="0"]//button[text()="删除"] # 持续数据保护-快照数据-第一行删除
${OracleCLP_Snapshot_Sec_DEL} xpath=//*[@id="snaptableContent"]//tr[@data-index="1"]//button[text()="删除"] # 持续数据保护-快照数据-第二行删除
${OracleCLP_Police_Details} xpath=//*[@id="cdpContent"]/div[2]/div[2]/div[1]/div[2]/div/div/div[1]/div[2]/div[1]/div/div[2]/table/tbody/tr/td[6]/div/button[1] # 持续数据保护-基本信息界面-详情
${OracleCLP_Police_Disable} xpath=//*[@id="cdpContent"]/div[2]/div[2]/div[1]/div[2]/div/div/div[1]/div[2]/div[1]/div/div[2]/table/tbody/tr/td[6]/div/button[3] # 持续数据保护-基本信息界面-禁用
${OracleCLP_Police_Del} xpath=//*[@id="cdpContent"]/div[2]/div[2]/div[1]/div[2]/div/div/div[1]/div[2]/div[1]/div/div[2]/table/tbody/tr/td[6]/div/button[6] # 持续数据保护-基本信息界面-删除
${OracleCLP_Police_Rec} xpath=//*[@id="cdpContent"]/div[2]/div[2]/div[1]/div[2]/div/div/div[1]/div[2]/div[1]/div/div[2]/table/tbody/tr/td[6]/div/button[2] # 持续数据保护-基本信息界面-恢复
${OracleCLP_Bk_Rec} xpath=//*[@id="snaptableContent"]//tr[@data-index="0"]//button[text()="恢复"] # 持续数据保护-快照数据-恢复
${OracleCLP_RecoveryPolicy_1} xpath=//*[@id="clp_addRecoveryPolicy_next12_btn"] # 持续数据保护-快照数据-恢复策略-基本信息-下一步
${OracleCLP_RecPolicy_Instance} xpath=//*[@id="instance"] # 持续数据保护-快照数据-恢复策略-实例名
${OracleCLP_RecoveryPolicy_2} xpath=//*[@id="clp_addRecoveryPolicy_next23_btn"] # 持续数据保护-快照数据-恢复策略-恢复目标-下一步
${OracleCLP_RecoveryPolicy_3} xpath=//*[@id="clp_addRecoveryPolicy_nextStep34_btn"] # 持续数据保护-快照数据-恢复策略-Oracle选项-下一步
${OracleCLP_RecoveryPolicy_4} xpath=//*[@id="clp_addRecoveryPolicy_nextStep45_btn"] # 持续数据保护-快照数据-恢复策略-恢复选项-下一步
${OracleCLP_RecoveryPolicy_5} xpath=//*[@id="clp_addRecoveryPolicy_finish_btn"] # 持续数据保护-快照数据-恢复策略-高级选项-完成
${Click_Time_Range} xpath=//*[@id="timeFrame"]/xm-select/div[2] # 持续数据保护-快照数据-恢复策略-恢复选项-时间范围
${Select_Time_Range} xpath=//*[@id="timeFrame"]//div[@class="xm-option-content"] # 持续数据保护-快照数据-恢复策略-恢复选项-时间范围选择
${Stop_Mount_Confirm} xpath=//a[@class="layui-layer-btn0"] # 副本数据保护—作业—停止挂载—停止挂载确定按钮
${Cycle_Oracle_Delete_Confirm} id=cdm_tab_work_delBackupSetCom_finsih_span # 副本管理-备份管理-删除-删除备份集-确定
${Add_Sqlserver_Policy} xpath=//span[@ng-click="showAddDialog()"] # 副本数据保护策略—添加策略sqlserver
${Module_Sqlserver} xpath=//span[@ng-click="setpolicy('sqlserver_cdm')" and @class="item ng-scope"] # 添加策略—sqlserver模块
${Policy_Name} xpath=//input[@ng-model="PolicyName"] # 添加策略—连接凭据—策略名
${Add_Policy_NextStep} xpath=//div[@ng-show="step_1_show"]/button[@ng-click="fw_step_2()"] # 添加策略—连接凭据—下一步按钮
${Instance_Nextstep} xpath=//div[@ng-show="step_2_show"]/button[@ng-click="fw_step_3()"] # 添加策略—实例选择—下一步按钮
${Select_Bk_DB} xpath=//span[contains(text(),"unary(")]/../../td[2] # 添加策略—目标数据库—名为unary的数据库实例
${Select_DB_Nextstep} xpath=//div[@ng-show="step_3_show"]/button[@ng-click="fw_step_4()"] # 添加策略—目标数据库—下一步按钮
${Input_Choose_MDS} id=backupStorageType2 # 添加策略—备份集存储—手动指定选择框
${Select_MDS_CDM} id=dialogues_addCycleStorage_storagePath_selectMedia_selectedMdsIP_select # 添加策略—备份集存储—手动指定—介质选择下拉框
${Storage_Nextstep} xpath=//button[@id="dialogues_addCycleStorage_step3_4_nodb2_next_btn"] # 添加策略—备份集存储—下一步按钮
${Complete_Add_Policy} xpath=//div[@ng-show="has_info_commit"]/button[@ng-click="finish()"] # 添加策略—备份高级选项—完成按钮
${CDM_BK} id=cdm_tab_backupset_li # 副本数据保护栏—副本数据功能栏
${CDM_BK_Del} xpath=//a[text()=" 删除"] # 副本数据—操作—删除按钮
${Total_Del_BK} xpath=//div[@class="col-md-12"]//input[@name="delAll"] # 删除副本备份集弹框—完全删除选项
${Button_Confirm_Del} xpath=//a[text()="确认"] # 删除副本数据弹框—确定删除按钮
${Button_Del_Policy} xpath=//a[text()="确认"] # 副本数据保护栏—删除—删除确认弹窗—确定按钮
${CDM_BK_Recover} xpath=//a[text()=" 恢复"] # 副本数据—操作—恢复按钮
${Recover_Nextstep} xpath=//button[@ng-click="fw_1_2()"] # 副本数据恢复—恢复目标—下一步按钮
${Recover_Instance_Select_Nextstep} xpath=//button[@ng-click="fw_2_3()"] # 副本数据恢复—实例选择—下一步按钮
${Recover_Target} xpath=//span[text()="unary"]/../../td[2] # 副本数据恢复—目标数据库—unary数据库勾选框
${SqlServer_Recover_Target_Nextstep} xpath=//button[@ng-click="to_stepFour()"] # 副本数据恢复—目标数据库—下一步按钮
${Diff_Name_Recover} xpath=//input[@id="differentName"] # 副本数据恢复—高级选项—异名恢复选项
${Input_NewDB_Name} xpath=//input[@id="unary"] # 副本数据恢复—高级选项—异名恢复弹窗—新数据库名
${Recover_New_DB_Comfirm} xpath=//div[@id="nameRecoveryModal"]//button[@ng-click="finish()"] # 副本数据恢复—高级选项—异名恢复弹窗—确定按钮
${Recover_xpath} xpath=//input[@id="recTargetPath"] # 副本数据恢复—高级选项—恢复的路径
${Recover_Complete} xpath=//div[@ng-show="step_5_show"]/button[text()="完成"] # 副本数据恢复—高级选项—完成按钮
${Recover_Status} xpath=//table/tbody/tr[1]/td/div[text()="成功"] # 副本数据管理—作业栏—第一行恢复结果
${Normal_Tab_Work} xpath=//li[@ng-class="{active:policyShow_work}"] # 副本数据保护—作业栏
${Origin_Name_Recover} xpath=//input[@id="originalName"] # 副本数据恢复—高级选项—原名恢复选项
${Select_bk_SQLDB} xpath=//span[contains(text(),"mssqldb(")]/../../td[2] # 副本数据恢复—目标数据库—mssqldb数据库勾选框
${Pipeline_Encryption_SQLServer} id=pipelineEncryption # 添加策略界面—高级选项—管道加密—SQLServer
${Pipeline_Compress_SQLServer} id=pipelineCompress # 添加策略界面—高级选项—管道压缩—SQLServer
${Pipeline_Dedup_SQLServer} xpath=//div[@ng-show="clusterType!='2'"]/label/span[text()="数据重删"] # 添加策略界面—高级选项—管道重删—SQLServer
${Recover_Target_mssqldb} xpath=//span[text()="mssqldb"]/../../td[2] # 副本数据恢复—目标数据库—mssqldb数据库勾选框
${Cycle_SQLServer_Mount_Next} xpath=//button[@ng-click="fw_2_3()"] # 副本管理-挂载-实例选择-下一步-SQLServer
${Select_SQLServer_hosts} xpath=//div[@class="form-group policy_heading"]/select[@ng-options="host.name for host in hosts"] # 副本管理-挂载-主机列表-SQLServer
${Recover_Nextstep_SQLServer} xpath=//*[@id="BackupDialog"]//button[@ng-click="fw_1_2()"] # 副本数据恢复—恢复目标—下一步按钮—SQLServer
${Select_DB_Nextstep1} xpath=//button[@ng-click="to_stepFour()"] # 添加恢复策略—目标数据库—下一步按钮
${Del_All_Bk} xpath=//div[@id="delBackupSetCom"]//input[@id="delAll"] # 副本数据保护界面—备份集栏—删除备份集弹窗—完全删除选项
${Complete_Mssql_Rec} xpath=//ng-include[@src="addRecoveryPolicy"]//button[text()="完成"] # 副本数据保护栏—备份集栏—恢复策略—恢复策略完成按钮
${Del_Local_Bk} xpath=//div[@id="delBackupSet"]//input[@value="delLocal"] # 删除备份集—仅删除本地备份集
${Load_Confirm} xpath=//button[@id="dpm_tab_backupset_loadWin_artype_define_btn"] # 加载备份集弹窗—确定按钮
${List_All_Work} xpath=//button[@id="hostVM_tab_work_workTableContentVM_topHideBtn_btn"] # VM作业—向上展开所有作业
${Load_Confirm_CDM} xpath=//div[@id="loadWin_CDM_arType"]//button[@ng-click="loadSure()"] # 备份集加载确定按钮(副本)
${Sqlserver_Bk_More} xpath=//a[contains(text(),"详情")] # sqlserver备份集详情
${Archpath} xpath=//div[text()="已归档"]/..//span[text()="归档位置查询"] # 副本备份集详情—归档路径查询按钮
${Recover_Target_sqltest} xpath=//span[text()="test"]/../../td[2] # 副本数据恢复—目标数据库—test数据库勾选框
${Select_bk_SQLDB_test} xpath=//span[contains(text(),"test(")]/../../td[2] # 副本数据备份—目标数据库—test数据库勾选框
${Button_RecoveryIdentifyVarification_CDM} xpath=//*[@aria-expanded="true"]/../button[@id="dropdownMenu1"] # 副本数据恢复—SQLServer恢复页面身份验证下拉框
${Span_RecoveryIdentifyVarification_CDM} xpath=//*[@aria-expanded="true"]/..//a[@ng-click="identityVerHf('SQL Server 身份验证')"] # 副本数据恢复—SQLServer恢复页面身份验证
${SQLServer_Recory_InputPwd_CDM} xpath=//*[@id="BackupDialog"]/..//input[@ng-model="password"][2] # 副本数据恢复—SQLServer恢复页面输入密码
${CDM_Complete_Del} xpath=//div[@class="col-md-12"]/label[@class="radio"]/input[@id="delAll"] # 副本数据恢复—SQLServer完全删除备份集
${Cycle_SQL_Mount_Next} xpath=//*[@id="BackupDialog"]//div[@ng-show="step_3_show"]/button[text()="下一步"] # 副本数据挂载—SQLServer—目标数据库—下一步
${DelBackupSet_VM} id=hostVM_tab_backupSet_delBackupSetVM_define_btn # 删除副本备份集—确定弹窗—确定按钮
${CDM_Sqlserver_NextStep_6} xpath=//button[@ng-click="goInfoCommit()"] # 新建备份策略弹窗—高级备份选项—下一步
${Sqlserver_Select_Agent} xpath=//h4[text()="恢复"]/../..//input[@placeholder="请选择"] # sqlserver副本恢复弹窗—代理选择框
${Sqlserver_Rec_NextStep_1} id=cdm_sqlServer_addRecoveryPolicy_nextStep12_btn # 副本数据恢复弹窗—恢复目标—下一步
${Sqlserver_Rec_NextStep_2} id=cdm_sqlServer_addRecoveryPolicy_backStep23_btn # 副本数据恢复弹窗—实例选择—下一步
${Sqlserver_Rec_NextStep_3} id=cdm_sqlServer_addRecoveryPolicy_backStep4_btn # 副本数据恢复弹窗—目标数据库—下一步
${Sqlserver_Rec_NextStep_4} id=cdm_sqlServer_addRecoveryPolicy_backStep45_btn # 副本数据恢复弹窗—高级选项—下一步
${Sqlserver_Rec_Complete} id=cdm_sqlServer_addRecoveryPolicy_finish_btn # 副本数据恢复弹窗—确认恢复—完成
${Option_NextStep} id=cdm_oracle_addPolicy_nextStep33_btn # 新建副本备份策略—oracle选项—下一步
${OracleCLP_NextStep3} xpath=//button[@id="clp_addPolicy_nextStep33_btn"] # 新建OracleCLP保护策略—oracle选项—下一步
${OracleCLP_NextStep4} xpath=//button[@id="dialogues_addCycleStorage_step3_4_OracleCDP_next_btn"] # 新建OracleCLP保护策略—备份集存储—下一步
${OracleCLP_NextStep5} xpath=//*[@id="speSelectAdd"]/div[2]/div[3]/button[3] # 新建OracleCLP保护策略—备份集高级选项—下一步
${OracleCLP_NextStep6} xpath=//*[@id="speSelectAdd"]/div[2]/div[2]/button[3] # 新建OracleCLP保护策略—任务周期—完成
${Input_start_Time} xpath=//input[@id="taskCycleInitBeginTime"] # OracleCLP新建备份策略-初始快照开始时间输入框
${Info_NextStep} id=cdm_oracle_addRecoveryPolicy_next12_btn # 副本数据恢复弹窗—备份内容页面—下一步按钮
${Rec_OracleOption_NextStep} id=cdm_oracle_addRecoveryPolicy_nextStep34_btn # 副本数据恢复弹窗—Oracle选项—下一步
${Rec_Option_NextStep} id=cdm_oracle_addRecoveryPolicy_nextStep45_btn # 副本数据恢复弹窗—恢复选项—下一步
${Oracle_Mount_NextStep} id=cdm_oracle_addRecoveryPolicy_nextStep45_btn # 副本数据挂载—挂载选项—下一步按钮
${HQ_Oracle_Role} xpath=//h4[text()="数据回迁"]/../..//select[@id="orcrole_os"]//option[@label="SYSDBA"] # 数据回迁弹窗—回迁目标—角色
${VMSave_time} xpath=//div[@ng-show="add_mode"] # VM添加策略—备份集存储—备份集保留时间
${VMSave_by_geshu} //div[@ng-show="add_mode"]//option[text()='按个数'] # VM添加策略—备份集存储—备份集保留时间—按个数
${VMSave_by_day} //div[@ng-show="add_mode"]//option[text()='按日'] # VM添加策略—备份集存储—备份集保留时间—按日
${Find_Policy} //input[@placeholder='按策略名查找' and @id='backupPolicyName_VM'] #副本备份集—按策略名查找
${Button_Searchbutton} //span[@ng-click="searchBackupSourceName_VM()"] #VMware备份集—查找按钮
${Policy_show} //li[@ng-class="{active:policyShow_workVm}" and @id="hostVM_tab_work_li"] #副本VMware—作业列表
${PolicySearch} //span[@ng-click="clickWorkPolicyName_VM()" and @id="hostVM_tab_work_workPolicyNameVM_search_input"] #副本VM作用栏—搜索按钮
${VMPolicyDelete} xpath=//a[@lay-event="delete_VM"] #副本VM策略栏—删除按钮
${Confirm_Delete2} //div[text()="确定要删除该策略吗?"]/../div[3]/a[text()="确认"] #确认删除确认按钮
${RecoverPolicyname} //input[@id="workPolicyName_VM" and @placeholder="所有策略名"] #VM作业栏—策略名输入框
${Senior_Nextstep} xpath=//div[@id="speSelectAdd"]/div[@class="modal-footer"]/button[text()="下一步"] # 添加策略—备份高级选项—下一步按钮
${SQLserver_Policy_Delete} xpath=//span[text()="删除"] # 副本数据管理界面—SQLserver策略栏—策略删除按钮
${SQLserver_Policy_Delete_Confirm} xpath=//div//a[text()="确认"] # 副本数据管理-删除策略-确定按钮
${Delete_succeeded_OK} xpath=//button[@id="tipsPop_define_btn"] # 副本数据管理-删除策略-确定-删除成功按钮
${Add_succeeded_OK} xpath=//button[@id="tipsPop_define_btn"] # 副本数据管理-删除策略-确定-删除成功按钮
${Job_Information} xpath=//*[@id="cdpContent"]//span[text()="作业信息"] # 持续数据保护-作业信息
${Job_Type_Rec} xpath=//*[@id="work_worktype_selected"]/option[text()="恢复"] # 持续数据保护-作业信息
${Job_Query} xpath=//*[@id="cdp_tab_job_searchWork_span"] # 持续数据保护-作业信息-查询
${Cycle_SQLserver_Mount_Next1} xpath=//button[@ng-click="fw_1_2()"] # 副本管理-挂载目标-下一步
${input_SQLserver_password} xpath=//div[@ng-show="sqlserverIdentity"]/div[@class="input-group hide-password-plaintext"]/input[@type="password"] # 副本数据挂载-SQLserver身份验证-下一步-密码输入框
${input_Diff_Name} //input[@ng-model="item.newName"] # 副本数据恢复—高级选项—异名恢复选项—异名
${Cycle_SQLserver_Mount_Next4} xpath=//button[@ng-click="fw_4_5()"] # 副本数据挂载-高级选项-下一步
${Policy_Delete_VM} xpath=//table/tbody/tr[1]//a[text()="删除"] # 副本数据管理—VM保护策略策略—备份策略删除按钮
${Btn_Finish_Sqlserver} xpath=//button[@ng-click="NetStep7_to_3()"]/../button[@ng-click="finish()"] # 副本数据管理—创建SqlServer组件备份策略—备份高级选项—完成按钮
${Btn_Second_Define} xpath=//a[@class='layui-layer-btn0'] # 副本数据管理—创建Sqlserver组件恢复策略—二次确认按钮
${SQLServer_PolicyComplete} xpath=//div[@ng-show="step_last && !edit_mode && !oracle_clpVal"]//button[@class="btn btn-primary" and @type="button" and text()="完成"] #副本数据管理—Sqlserver--添加策略确定按钮
${confirm_restore} xpath=//a[@class="layui-layer-btn0" and text()="确认"] # 备份集恢复-确认恢复-确认
${SQLServer_BackupComplete} xpath=//button[@id="cdm_sqlServer_addRecoveryPolicy_finish_btn"] #副本数据管理—Sqlserver--恢复确定按钮
${Select_Backup_source1} xpath=//select[@id="dialogues_postPoliceCluster_forPolicy_host_select"] #新建OracleRAC备份策略-下发策略-选择浏览备份源节点
${Select_Node} xpath=//select[@id="dialogues_postPoliceCluster_forPolicy_host_select"]/option[text()="racnode1-p"] #新建OracleRAC备份策略-下发策略-选择浏览备份源节点-选择racnode1-p节点
${Click_Next} xpath=//button[@id="dialogues_postPoliceCluster_forPolicy_nextStep0_btn"] #新建OracleRAC备份策略-下发策略-点击下一步
${Add_Instance} xpath=//button[text()="添加实例"] #新建OracleRAC备份策略-下发策略-点击下一步-点击添加实例
${Select_Node1} xpath=//select[@id="oracleChoice"]/option[text()="racnode1-p"] #新建OracleRAC备份策略-连接凭据-添加实例-选择代理节点1
${Input_Oracleinstance} xpath=//input[@id="colony_instance"] #新建OracleRAC备份策略-连接凭据-添加实例-选择代理节点1-输入实例名
${Click_Sure} xpath=//a[text()="确定"] #新建OracleRAC备份策略-连接凭据-添加实例-选择代理节点1-点击确定
${Select_Node2} xpath=//select[@id="oracleChoice"]/option[text()="racnode2-p"] #新建OracleRAC备份策略-连接凭据-添加实例-选择代理节点2
${Input_Oracleinstance2} xpath=//input[@id="colony_instance"] #新建OracleRAC备份策略-连接凭据-添加实例-选择代理节点2-输入实例名
${Click_Next1} xpath=//button[@id="cdm_oracle_addPolicy_nextStep2_btn"] #新建OracleRAC备份策略-连接凭据-点击下一步
${Click_Next2} xpath=//button[@id="cdm_oracle_addPolicy_nextStep3_btn"] #新建OracleRAC备份策略-连接凭据-点击下一步
${Click_ASMRecoveryMode} xpath=//input[@name="chooseRecoveryMode"and@value="2"] #新建OracleRAC备份策略-连接凭据-点击下一步
${Select_recovery_host} xpath=/html/body/div[3]/div/div/div[2]/div[2]/div/ng-include[2]/div/div/div/div/ng-include/div/div[1]/div[2]/div[1]/div/div/div/input[@placeholder="请选择"] #OracleRA恢复—选择主机
${Select_recovery_RAC1} xpath=//dd[text()="racnode1-p (10.10.31.180)" and @lay-value="c5d8ddc4c6a83f3e4803fc48805e783c"] #OracleRA恢复—选择主机—节点1
${Recover_RACinstancename} xpath=//div[@ng-show="(itsrecovery && chooseRecoveryMode == '2') || (!itsrecovery && isClusterMount)"]/div[2]/div[1]/button[text()="添加实例"] #OracleRAC备份集恢复—添加实例信息
${Recover_Select_Node1} xpath=//select[@id="oracleChoice"]/option[@label="racnode1-p (10.10.31.180)"] #OracleRAC备份集恢复—添加实例信息—RAC1
${Recover_RAC1InstanceName} xpath=/html/body/div[3]/div/div/div[2]/div[2]/div/ng-include[2]/div/div/div/div/ng-include/div/div[5]/div/div[2]/div/div[2]/div/div[1]/div[1]/div/input[@id="colony_instance"] #OracleRAC备份集恢复—添加实例信息—RAC1—实例名
${Recover_RAC1_User_Name} xpath=/html/body/div[3]/div/div/div[2]/div[2]/div/ng-include[2]/div/div/div/div/ng-include/div/div[5]/div/div[2]/div/div[2]/div/div[1]/div[4]/div/input[@id="colony_orcusername"] #OracleRAC备份集恢复—添加实例信息—RAC1—用户名
${Host_Search} xpath=//input[@id="inputSuccess2"] #主机搜索框
${Conne_type} xpath=//select[@id="colony_orcattend"]/option[@label="OS"] #OracleRAC备份集恢复—添加实例信息-选择连接方式
${SQLServer_CDM_Module} xpath=//span[@ng-click="setpolicy('sqlserver_cdm')"] # 副本数据管理—新建备份策略—SQLServer组件
${Expand_VM_Tree} xpath=//h4[text()="立即执行策略"]/../..//span[contains(text(),"localhost.")]/../..//td[1] # VM—立即执行策略—立即执行策略弹窗—展开按钮展开虚拟机列表
${VM_CDM_RESExpand} xpath=//*[@id="executeVM_bksource"]//span[contains(text(),"esxi11.149")]/../../td[1] #副本VMware-立即执行备份-展开备份虚拟机
${CDM_Speed_Control} xpath=//input[@id="applySpeedLimit"] # 创建sqlserver副本备份策略—备份高级选项—限速选项
${CDM_Input_Speed} xpath=//input[@id="speedLimitValue"] # 创建sqlserver副本备份策略—备份高级选项—限速输入框
${VMCDM_application} xpath=//*[@id="hostVM_tab_backupset_application_li"] #VMCDM副本应用界面
${VMCDM_Unload} xpath=//span[text()="卸载"] #VMCDM副本应用--卸载
${VMCDM_UnloadConfirm} xpath=//*[@id="vm_mysql_application_uninstall_btn_confirm"] # VMCDM副本应用--卸载—卸载确定按钮
${VMCDM_Refresh} xpath=//span[@id="hostVM_tab_work_refreshTable_btn"] #VMCDM副本--作业-刷新
${Sqlserver_CDM_NextStep_1} xpath=//button[@id="cdm_sqlServer_addPolicyGuide_nextStep2_btn"] # 创建sqlserver副本备份策略—策略创建弹窗—第一个下一步按钮
${Sqlserver_CDM_NextStep_2} xpath=//button[@id="cdm_sqlServer_addPolicyGuide_backStep3_btn"] # 创建sqlserver副本备份策略—策略创建弹窗—第二个下一步按钮
${Sqlserver_CDM_NextStep_3} xpath=//button[@id="cdm_sqlServer_addPolicyGuide_backStep4_btn"] # 创建sqlserver副本备份策略—策略创建弹窗—第三个下一步按钮
${Sqlserver_CDM_NextStep_4} xpath=//button[@id="dialogues_addCycleStorage_step3_2_next_btn"] # 创建sqlserver副本备份策略—策略创建弹窗—第四个下一步按钮
${Sqlserver_CDM_NextStep_5} xpath=//button[@id="dialogues_addCycleStorage_step3_4_nodb2_next_btn"] # 创建sqlserver副本备份策略—策略创建弹窗—第五个下一步按钮
${MysqlCDM_tappolicy} xpath=//*[@id="cdm_tab_policy_li"]/span #MySQLCDM副本数据管理--保护策略
${Module_MySQL} xpath=//span[@ng-click="setpolicy('mysql_cdm')"] #副本数据管理-新建策略-MySQLCDM
${MySQLCDM_PolicyName} xpath=//*[@id="addMysqlCDM_policy_name"] # 添加策略—连接凭据—策略名
${MySQLCDM_InstanceName} xpath=//input[@ng-model="addMysqlCDM.conn.instanceName"] #MySQLCDM备份策略--自定义实例名
${MySQLCDM_UserName} xpath=//input[@ng-model="addMysqlCDM.conn.userName"] #MySQLCDM备份策略--用户名输入框
${MySQLCDMBK_Pwd} xpath=//input[@id="addMysqlCDM_conn_password"] #MySQLCDM备份策略--密码输入框
${MySQLCDMBK_Protocol} xpath=//*[@id="addMysqlCDM_conn_protocol"] #MySQLCDM备份策略--连接协议
${MySQLCDMBK_Proto1} xpath=//*[@id="addMysqlCDM_conn_protocol"]/option[text()="常规"] #MySQLCDM备份策略--连接协议--常规连接
${MySQLCDMBK_Proto2} xpath=//*[@id="addMysqlCDM_conn_protocol"]/option[text()="socket"] #MySQLCDM备份策略--连接协议--socket连接
${MySQLCDMBK_Port} xpath=//*[@id="addMysqlCDM_conn_port"] #MySQLCDM备份策略--常规连接--端口号
${MySQLCDMBK_IP} xpath=//*[@id="addMysqlCDM_conn_ipAddress"] #MySQLCDM备份策略--常规连接--IP地址
${MySQLCDM_socketPath} xpath=//*[@id="addMysqlCDM_conn_socketPath"] #MySQLCDM备份策略--socket连接--socket地址
${MySQLCDM_BKset} xpath=//li[@ng-click="addMysqlCDM.conn.tabName = 'advanced'"] #MySQLCDM备份策略--高级设置
${MysqlCDM_dbConfPath} xpath=//*[@id="addMysqlCDM_advConn_dbConfPath"] #MySQLCDM备份策略--高级设置--数据库配置文件
${MysqlCDM_binPath} xpath=//*[@id="addMysqlCDM_advConn_binPath"] #MySQLCDM备份策略--高级设置--数据库bin目录
${MysqlCDM_nextstep3} xpath=//*[@id="addMysqlCDM_next_step_to_3"] #MySQLCDM备份策略--连接凭据-下一步
${MysqlCDM_nextstep4} xpath=//*[@id="addMysqlCDM_next_step_to_4"] #MySQLCDM备份策略--目标数据库-下一步
${MysqlCDM_Dedup} xpath=//*[@id="addMysqlCDM_advanced_options_add"]//*[@id="pipelineDedup"] #MySQLCDM备份策略--高级选项--管道重删MySQLCDM
${MysqlCDM_Encryption} xpath=//*[@id="addMysqlCDM_advanced_options_add"]//*[@id="pipelineEncryption"] #MySQLCDM备份策略--高级选项--加密MySQLCDM
${MysqlCDM_Compress} xpath=//*[@id="addMysqlCDM_advanced_options_add"]//*[@id="pipelineCompress"] #MySQLCDM备份策略--高级选项--压缩MySQLCDM
${MysqlCDM_jumpToPage} xpath=//*[@ng-click="addMysqlCDM.jumpToPage('yes',6)"] #MySQLCDM备份策略--高级选项--下一步
${MysqlCDM_Finish} xpath=//*[@id="addMysqlCDM_finish_btn"] #MySQLCDM备份策略--任务周期--完成按钮MySQLCDM
${MysqlCDM_Confirm} xpath=//a[@id="unnamed_module_layerCancel"] #MySQLCDM备份策略添加成功二次弹窗—确定按钮
${MysqlCDM_tabbackup} xpath=//*[@id="cdm_tab_backupset_li"] #MySQLCDM备份策略--副本数据列表
${MysqlCDM_BKtab} xpath=//*[@id="backTabPolicy"] #MysqlCDM备份策略--按策略名查找
${MysqlCDM_BKsearch} xpath=//*[@id="cdm_tab_backupset_searchfilter_span"] #MysqlCDM备份策略--按策略名查找--查找按钮
${MysqlCDM_PolicyDel} xpath=//*[@id="cdmPolicy_delete_test"] #MySQLCDM备份策略--删除策略
${MysqlCDM_RecUser} xpath=//*[@id="mysql_cdm_rec_conn_userName"] #MySQLCDM恢复--连接凭据--用户名
${MysqlCDM_RecPwd} xpath=//*[@id="mysql_cdm_rec_conn_password"] #MySQLCDM恢复--连接凭据--密码
${MysqlCDM_Recadvanced} xpath=//*[@ng-click="REC_MYSQL_CDM.conn.tabName = 'advanced'"] #MySQLCDM恢复--连接凭据--高级设置
${MysqlCDM_RecbinPath} xpath=//*[@id="mysql_cdm_rec_advConn_binPath"] #MySQLCDM恢复--连接凭据--高级设置--数据库bin目录
${MysqlCDM_RecbinlogPath} xpath=//*[@id="mysql_cdm_rec_advConn_binlogPath"] #MySQLCDM恢复--连接凭据--高级设置--MySQLbinlog工具目录
${MysqlCDM_Recnext2} xpath=//*[@id="mysql_cdm_rec_next_step_to_2"] #MySQLCDM恢复--连接凭据--下一步按钮
${MysqlCDM_Recnext3} xpath=//*[@id="mysql_cdm_rec_next_step_to_3"] #MySQLCDM恢复--恢复目标--下一步按钮
${MysqlCDM_RecFinish} xpath=//*[@id="rec_mysql_cdm_step_finish"] #MySQLCDM恢复--高级选项--确定按钮
${MysqlCDM_Recstop} xpath=//*[@id="rec_mysql_cdm_stop_commandline"] #MySQLCDM恢复--高级选项--停库命令
${MysqlCDM_Recstart} xpath=//*[@id="rec_mysql_cdm_start_commandline"] #MySQLCDM恢复--高级选项--启库命令
${MysqlCDM_bktype} xpath=//select[@ng-model="exeMysqlCdm.selectedBackupType"] #MySQLCDM立即执行--立即执行--选择类型
${MysqlCDM_bktype2} xpath=//select[@ng-model="exeMysqlCdm.selectedBackupType"]/option[text()="永久增量备份"] #MySQLCDM立即执行--立即执行--选择类型--永久增量备份
${MysqlCDM_bkexe} xpath=//*[@id="cdm_mysqlexecutePolicy_executePolicy_execute_btn"] #MySQLCDM立即执行--立即执行--确定按钮
${MysqlCDM_mountuser} xpath=//*[@id="mysql_cdm_mounted_conn_userName"] #MySQLCDM快速挂载--连接凭据--用户名
${MysqlCDM_mountpwd} xpath=//*[@id="mysql_cdm_mounted_conn_password"] #MySQLCDM快速挂载--连接凭据--密码
${MysqlCDM_MAdv} xpath=//*[@ng-click="MOUNTED_MYSQL_CDM.conn.tabName = 'advanced'"] #MySQLCDM快速挂载--连接凭据--高级设置
${MysqlCDM_MAdvbin} xpath=//*[@id="mysql_cdm_mounted_advConn_binPath"] #MySQLCDM快速挂载--连接凭据--高级设置--数据库bin目录
${MysqlCDM_MAdvbinlog} xpath=//*[@id="mysql_cdm_mounted_advConn_binlogPath"] #MySQLCDM快速挂载--连接凭据--高级设置--mysqlbinlog工具目录
${MysqlCDM_Mnext2} xpath=//*[@id="mysql_cdm_mounted_next_step_to_2"] #MySQLCDM快速挂载--连接凭据--高级设置--下一步
${Mysql_mountpath} xpath=//*[@id="mysql_cdm_mounted_path"] #MySQLCDM快速挂载--高级选项--挂载路径
${Mysql_DatabaseCon} xpath=//*[@id="mysql_cdm_application_database"] #MySQLCDM快速挂载--高级选项--应用数据库选项
${Mysql_mountport} xpath=//*[@id="mysql_cdm_instance_port"] #MySQLCDM快速挂载--高级选项--实例端口号配置
${Mysql_mountport2} xpath=//*[@ng-model="MOUNTED_MYSQL_CDM.mountedSetting.instancePort"] #MySQLCDM快速挂载--高级选项--实例端口号配置--输入端口号
${Mysql_mountfinish} xpath=//*[@id="mounted_mysql_cdm_step_finish"] #MySQLCDM快速挂载--高级选项--确定挂载
${Mysql_refresh} xpath=//span[@class="btn btn-primary refreshBtn"] #MySQLCDM作业--刷新按钮
${Mysql_application} xpath=//*[@id="cdm_tab_backupset_application_li"]/span #MySQLCDM副本应用界面
${Mysql_unmount} xpath=//span[text()="卸载"] #MySQLCDM副本应用界面--卸载按钮
${Mysql_execute} xpath=//*[@id="cdm_mysqlexecutePolicy_executePolicy_execute_btn"] #MysqlCDM策略--立即执行—确定按钮
${Module_FileCDM} xpath=//span[@ng-click="setpolicy('file_cdm')"] #副本数据管理-新建策略-FileCDM
${FileCDM_selectedtype} xpath=//*[@id="dpm_file_ExecutePolicyGuide_selectedSrctype_select"] #FileCDM--立即执行--选择类型
${FileCDM_bktype} xpath=//*[@id="dpm_file_ExecutePolicyGuide_selectedSrctype_select"]/option[text()="永久增量备份"] #FileCDM--立即执行--选择类型--永久增量备份
${FileCDM_nextStep1} xpath=//*[@id="dpm_file_addPolicy_nextStep1_btn"] #副本FileCDM--添加策略--目标文件--下一步
${FileCDM_nextStep2} xpath=//*[@id="dpm_file_addPolicy_nextStep4_btn"] #副本FileCDM--添加策略--文件选项--下一步
${FileCDM_Select_MDS} xpath=xpath=//*[@id="backupStorageType2"]/../../../..//*[@id="dialogues_editCycleStorage_fileVal_CDM_checkObjDedup_select"] #副本FileCDM--添加策略--备份集存储--选择介质
${FileCDM_nextStep3} xpath=//*[@id="dialogues_addCycleStorage_step3_4_fileCDM_next_btn"] #副本FileCDM--添加策略--备份集存储--下一步
${FileCDM_nextStep4} xpath=//*[@id="dialogues_backupAdvOptions_step5_5_next_btn"] #副本FileCDM--添加策略--备份高级选项--下一步
${FileCDM_LastDefine} xpath=//*[@id="dialogues_fileVal_CDM_backupAdvOptions_stepLastDefine_btn"] #副本FileCDM--添加策略--任务周期--策略完成确定按钮
${FileCDM_Recnextstep1} xpath=//*[@id="dpm_file_addRecoveryPolicy_nextStep0_btn"] #副本FileCDM--恢复备份内容--下一步
${FileCDM_RecAdress} xpath=//*[@id="oriAdress"] #副本FileCDM--恢复目标--原路径恢复
${FileCDM_Recnextstep2} xpath=//*[@id="dpm_file_addRecoveryPolicy_nextStep1_btn"] #副本FileCDM--恢复目标--下一步
${FileCDM_Recnextstep3} xpath=//*[@id="dpm_file_addRecoveryPolicy_nextStep1_2_btn"] #副本FileCDM--恢复文件选项--下一步
${FileCDM_Recfinish} xpath=//*[@id="dpm_file_addRecoveryPolicy_step2Implement_btn"] #副本FileCDM--恢复高级选项--执行按钮
${FileCDM_MountSetp1} xpath=//*[@id="dpm_file_addRecoveryPolicy_nextStep0_quickMode_btn"] #副本FileCDM--快速挂载--备份内容下一步
${FileCDM_MountFin} xpath=//*[@id="dpm_file_addRecoveryPolicy_step2Implement_quickMode_btn"] #副本FileCDM--快速挂载--高级选项--确定
#${FileCDM_Confirm} #xpath=//*[@id="layui-layer21"]//a[text()="确认"] #副本FileCDM--快速挂载--高级选项--确定--确认挂载
${FileCDM_UmountOK} xpath=//*[@id="cdm_application_system_uninstall_btn_confirm"] #副本FileCDM--副本应用--卸载--确定
# mh作业4新增的
${Select_bk_SQLDB_UNARY} xpath=//span[contains(text(),"UNARY(")]/../../td[2] # 副本数据备份—目标数据库—test数据库勾选框
${Recover_Target_UNARY} xpath=//span[text()="UNARY"]/../../td[2] # 副本数据恢复—目标数据库—test数据库勾选框
${Button_baseFilter_CDM} id=dialogues_baseFilter_filterBtn_btn # 副本数据备份-新建备份策略-目标数据库-过滤设置按钮
${Button_baseFilter_baseFilterKe_CDM} id=dialogues_baseFilter_baseFilterKey_btn # 副本数据备份-新建备份策略-过滤设置-关键字过滤
${Input_baseFilter_keyFilterCon_CDM} id=keyFilterCon # 副本数据备份-新建备份策略-过滤设置-关键字输入框
${Button_baseFilter_keyFilterCon_add} xpath=//button[@id='dialogues_baseFilter_filterModalSure_btn'][text()="添加"] # 副本数据备份-新建备份策略-过滤设置-关键字过滤-添加
${Button_baseFilter_keyFilterCon_ok} xpath=//button[@id='dialogues_baseFilter_filterModalSure_btn'][text()="确定"] # 副本数据备份-新建备份策略-过滤设置-关键字过滤-确定
${input_policy_backTabPolicy} id=backTabPolicy # 副本数据恢复-备份集-查询策略名输入框
${Count_bk_num} $(".layui-table-body.layui-table-main").find("tr").length # 副本数据恢复-备份集-备份集数据量
${input_cdm_tab_work_PolicyName} id=workPolicyName # 黑方操作页面-作业-策略名输入框
${Button_cdm_tab_work_search} id=cdm_tab_work_workPolicyName_search_span # 黑方操作页面-副本数据管理-作业页面查询
${Jquery_select_count} $("#pcWorktable_cdm_outerDiv").find("tr").length # 黑方操作页面-作业详情页面-作业个数
${Jquery_task_status} $("#pcWorktable_cdm_outerDiv").find("td").eq(-2)[0].textContent # 黑方操作页面-作业详情页面-作业状态