*** Settings *** Resource ElementPath.robot Library SSHLibrary Resource ../RE0_Common/KeyWord.robot Library DatabaseLibrary Library String *** Keywords *** CNware备份 [Arguments] ${agent} ${bk_type} ${mds_name} ${encryption_attr} ${compress_attr} ${dedup_attr} ${CNware_backup_name} 元素点击 ${Timed_DataProtect} 点击进入定时数据保护页面 定位定时数据保护失败 ${date} Evaluate time.strftime('%Y%m%d%H%M%S',time.localtime()) time ${random_strategyName}= Catenate SEPARATOR=_ ${bk_type} ${date} ${createpolicy} Catenate SEPARATOR= 新建了策略[ ${random_strategyName} ] Set Suite Variable ${random_strategyName} Set Suite Variable ${createpolicy} Sleep 5s 元素点击 xpath=//span[text()="${agent}"] 点击选择代理 定位代理所在位置失败 元素点击 ${dpm_Protection strategy} 点击进入保护策略页面 定位保护策略按钮失败 CNware策略清理 元素点击 ${Add_H3C_Policy} 点击添加策略按钮 定位添加策略按钮失败 元素输入 ${Set_PolicyName} ${random_strategyName} 定位策略名输入框失败 Comment 元素点击 ${H3C_Virtual} 点击选择虚拟机选项 定位虚拟机选项失败 Comment sleep 5s 元素输入 ${Input_SearchVM_H3C} ${CNware_backup_name} 定位虚拟机名称输入框失败 元素点击 ${Button_SearchVM_H3C} 点击搜索选项 定位搜索虚拟机选项失败 元素点击 xpath=//span[text()="${CNware_backup_name}"]/../../td[2] 点击勾选虚拟机 定位虚拟机失败 元素点击 ${Add_Bk_List_FusionSphere} 点击添加到右侧备份虚拟机框 定位添加到已选列表框失败 元素点击 ${Add_CNware_NextStep} 点击下一步按钮进入备份高级选项页面 点击下一步按钮进入备份高级选项页面失败 元素点击 ${Select_CNware_Use_logical} 选择逻辑备份方式成功 选择逻辑备份方式失败 元素点击 ${CNware_NextStep} 点击下一步进入备份集存储设置界面 定位下一步失败 元素点击 ${Manual_ChooseMDS} 点击勾选手动选择介质 定位选择介质失败 元素点击 ${Select_MDS_DM} 点击介质选择按钮 定位介质选择按钮失败 元素点击 xpath=//select[@id="dialogues_addCycleStorage_storagePath_selectMedia_selectedMdsIP_select"]/option[@label="${mds_name}"] 点击选择指定介质 定位指定介质失败 Run Keyword If ${dedup_attr}==1 重删 元素点击 ${CNware_Storage_NextStep} 点击下一步进入到任务周期 定位下一步失败 元素点击 ${Add_taskcycle} 点击添加任务周期 定位添加任务周期按钮失败 Run Keyword If "${bk_type}"=="完全" 完全备份 ... ELSE IF "${bk_type}"=="差量" 差量备份 Sleep 2s 元素点击 ${Cycle_Once} 设置任务仅执行一次 定位仅执行一次失败 元素点击 ${Cycle_Confirm} 确定任务周期设置完毕 定位任务周期设置失败 Comment Run Keyword If ${encryption_attr}==1 加密 Comment Run Keyword If ${compress_attr}==1 压缩 ... ELSE IF ${compress_attr}==0 取消压缩 Sleep 2s 元素点击 ${Complete_CreatePolicy} 点击确定按钮完成策略创建 定位确定按钮失败 元素点击 ${Success_Confirm} 确定策略创建成功 策略创建失败 元素点击 ${BackupSet} 点击进入备份集一栏 定位备份集栏失败 元素输入 ${Input_Policy_Name} ${random_strategyName} 定位策略搜索框失败 Log 输入策略名进行搜索 Sleep 15s FOR ${n} IN RANGE 20 Click Element ${Button_Searchbk} ${bk_status} Run Keyword And Return Status Wait Until Element Is Visible xpath=//*[@id="backupSetTable"]//tr[2]/td[text()="已完成"] Run Keyword If "${bk_status}"=="True" Exit For Loop ... ELSE Log 备份未完成 Sleep 30s END Run Keyword If ${bk_status}==False Fail ... ELSE Log 备份成功 Sleep 15s CNware策略清理 Sleep 2s FOR ${n} IN RANGE 3 ${policy_status} Run Keyword And Return Status Wait Until Element Is Visible xpath=//tr[@class=" ev_dhx_web"] Run Keyword If ${policy_status}==True 策略删除_CNware ... ELSE log 无残留策略 sleep 5s END Log 环境清理完毕 策略删除_CNware 循环点击 ${Cycle_H3C_Police_Delete} ${Cycle_H3C_Policy_Delete_Confirm} 元素点击 ${Cycle_H3C_Policy_Delete_Confirm} 点击确认删除成功 定位确认按钮失败 元素点击 ${Delete_succeeded_OK} 点击删除成功 定位删除成功按钮失败 完全备份 Sleep 2s Click Element ${Full_Backup} Log 勾选完全备份 差量备份 Sleep 2s Click Element ${Divergence_Backup} Log 勾选差量备份 加密 Sleep 2s 元素点击 ${H3C_Encryption} 勾选加密 定位选项选项失败 Sleep 2s 压缩 Log 点击压缩 取消压缩 Log 点击压缩 元素点击 ${Option_Compress} 取消加密 定位选项失败 sleep 2s 重删 Sleep 2s 元素点击 ${Option_Dedup} 勾选重删 定位重删选项失败 Log 点击重删 Sleep 2s 备份集属性校验 [Arguments] ${encryption} ${compress} ${deduped} ${cache} sleep 10s 循环点击 ${BackupSet} ${BK_Details} sleep 2s 元素点击 ${BK_Details} 点击进入备份集详情 定位备份集详情失败 Sleep 10s Run Keyword If ${encryption}==1 加密属性校验 ... ELSE Log 属性不校验 Run Keyword If ${compress}==1 压缩属性校验 ... ELSE Log 属性不校验 Run Keyword If ${deduped}==1 重删属性校验 ... ELSE Log 属性不校验 Run Keyword If ${cache}==1 缓存属性校验 ... ELSE Log 属性不校验 元素点击 ${Attr_Cancel} 点击取消关闭备份集详情弹窗 定位取消按钮失败 Log 备份集属性确认完毕 Sleep 2s 加密属性校验 Element Should Contain xpath=//*[@id="dpm_backupset_backUpSetInfo_encryption_state_td"] 是 Log 加密属性校验完毕 压缩属性校验 Element Should Contain ${Compress_Attr} 是 Log 压缩属性校验完毕 重删属性校验 Element Should Contain ${CNware_Deduped_Attr} 是 Log 重删属性校验完毕 缓存属性校验 Element Should Contain ${Cache_Attr} 是 Log 缓存属性校验完毕 CNware恢复 循环点击 ${BackupSet} ${Click_recover} 元素点击 ${Click_recover} 点击恢复按钮 定位恢复按钮失败 Sleep 2s ${date} Evaluate time.strftime('%Y%m%d%H%M%S',time.localtime()) time ${name}= Catenate SEPARATOR=_ ${CNware_backup_name} ${date} 元素输入 ${Restore_Name} ${name} 输入名称失败 元素输入 ${Restore_cpu} 2 输入cpu为2失败 元素输入 ${Restore_Memory} 2 输入内存为2 元素点击 ${CnwareStoragePool} 选择存储池成功 选择存储池失败 元素点击 ${CNware_Recover_finish} 点击下一步进入到恢复高级选项内 定位下一步恢复按钮失败 元素点击 ${CNware_Recover_Confirm} 点击完成恢复策略创建 定位恢复确定按钮失败 Sleep 5s 元素点击 ${confirm_restore} 点击确定恢复确认按钮成功 点击确定恢复确认按钮失败 Sleep 5s 元素点击 ${Success_Confirm} 恢复策略确定创建成功 恢复作业创建成功弹窗定位失败 元素点击 ${Policy_Work} 点击进入作业栏 定位作业栏失败 FOR ${n} IN RANGE 20 ${work_status} Run Keyword And Return Status Wait Until Element Is Visible Xpath=//table[@lay-size="sm"]//tr[1]//div[text()="本次恢复成功 "] Run Keyword If ${work_status}==False Log 恢复未完成 ... ELSE Exit For Loop Sleep 60s END ${work_status} Run Keyword And Return Status Wait Until Element Is Visible Xpath=//table[@lay-size="sm"]//tr[1]//div[text()="本次恢复成功 "] Run Keyword If ${work_status}==False Fail ... ELSE Log 恢复成功 Sleep 15s CNware_立即执行 [Arguments] ${bk_type} 元素点击 ${Timed_DataProtect} 点击进入定时数据保护页面 定位定时数据保护失败 元素点击 ${dpm_Protection strategy} 切换到定时保护策略栏 定位定时保护策略功能栏失败 Sleep 2s 元素点击 xpath=//td[text()="${random_strategyName}"]/..//span[text()="立即执行"] 点击策略立即执行 定位立即执行失败 元素点击 ${Exe_CNware_Bk} 点击展开立即执行下拉框 定位立即执行备份类型失败 Run Keyword If "${bk_type}"=="完全" 立即执行_完全备份 ... ELSE IF "${bk_type}"=="增量" 立即执行_增量备份 Sleep 2s 元素点击 ${Complie_confirm_CNware} 点击确定按钮 定位确定按钮失败 元素点击 ${Success_Confirm} 点击添加成功确定按钮 定位添加成功确定按钮失败 元素点击 ${BackupSet} 点击进入备份集一栏 定位备份集栏失败 元素输入 ${Input_Policy_Name} ${random_strategyName} 输入策略名 FOR ${n} IN RANGE 10 Click Element ${Button_Searchbk} ${bk_status} Run Keyword And Return Status Wait Until Element Is Visible Xpath=//*[@id="backupSetTable"]/div[2]/table/tbody/tr[2]/td[text()="已完成"] Run Keyword If "${bk_status}"=="True" Exit For Loop ... ELSE Log 备份未完成 Sleep 60s END Run Keyword If ${bk_status}==False Fail ... ELSE Log 备份成功 Sleep 15s [Teardown] #立即备份执行备份类型 立即执行_完全备份 Sleep 2s Click Element ${Now Full_Bacup_CNware} Log 勾选完全备份 立即执行_增量备份 Sleep 2s Click Element ${Add_Backup_CNware} Log 勾选增量备份