robotframework-demo/Project/task3/Resources/KeyWord.robot

186 lines
9.1 KiB
Plaintext
Raw Normal View History

2023-12-10 16:39:33 +00:00
*** Settings ***
Library Selenium2Library
Resource Element.robot
Resource Common.robot
Variables ../config/myConfig.py
Library DateTime
2023-12-11 12:17:26 +00:00
Library ../Script/mssqlTest.py
2023-12-10 16:39:33 +00:00
*** Keywords ***
登录黑方
Open Browser ${unbackupIP} ${browser}
Maximize Browser Window
Wait Until Element Is Visible ${login_slogan} 30s 黑方打开失败
输入文本 ${input_userName} ${login_username}
输入文本 ${input_passwd} ${login_passwd}
点击按钮 ${btn_login}
Wait Until Element Is Visible ${button_loginmessage} 30s 黑方登录失败
Log 黑方登录成功
创建Sqlserver副本备份策略
Wait Until Element Is Visible ${button_sideNav_cdm} 30s 副本数据管理模块不存在
点击按钮 ${button_sideNav_cdm}
Wait Until Element Is Visible ${cdm_sideNav_all} 30s 副本数据管理模块页面异常
# 选中SqlserverCDM代理机
输入文本 ${cdm_inputSuccess2} ${hostname}
点击按钮 xpath=//span[text()='${hostname}']
Wait Until Element Is Visible ${cdm_tab_policy_li} 10s 定时数据保护页面打开异常
# 新建策略
点击按钮 ${cdm_newpolicy}
Wait Until Element Is Visible ${mssql_newpolicy_title} 5s 新建备份策略弹窗未打开
Wait Until Element Is Visible ${mssql_newpolicy_type} 5s mssql副本组件未安装
# 点击mssql副本组件
点击按钮 ${mssql_newpolicy_type}
Wait Until Element Is Visible ${mssql_newpolicy_goStep1} 5s 连接凭据页面未发现
# 连接凭据
输入文本 ${mssql_newpolicy_goStep1_PolicyName} ${PolicyName}
点击按钮 ${mssql_newpolicy_goStep1_nextStep2_btn}
# 实例选择
Wait Until Element Is Visible ${mssql_newpolicy_goStep2} 5s 实例选择页面未发现
点击按钮 ${mssql_newpolicy_goStep2_nextStep3_btn}
# 目标数据库
Wait Until Element Is Visible ${mssql_newpolicy_goStep3} 5s 目标数据库页面未发现
点击按钮 ${mssql_newpolicy_goStep3_database_all}
# 目标数据库-过滤设置
点击按钮 ${mssql_newpolicy_goStep3_filterBtn_btn}
Wait Until Element Is Visible ${mssql_newpolicy_goStep3_baseFilterSel_btn} 5s 过滤设置-数据库过滤页面未发现
Wait Until Element Is Visible ${mssql_newpolicy_goStep3_baseFilterKey_btn} 5s 过滤设置-关键字过滤页面未发现
点击按钮 ${mssql_newpolicy_goStep3_baseFilterKey_btn}
Wait Until Element Is Visible ${mssql_newpolicy_goStep3_baseFilterKey_keyFilterCon} 5s 过滤设置-关键字过滤未打开
输入文本 ${mssql_newpolicy_goStep3_baseFilterKey_keyFilterCon} ${keyFilter}
点击按钮 ${mssql_newpolicy_goStep3_baseFilterKey_addkeyFilter}
点击按钮 ${mssql_newpolicy_goStep3_baseFilterKey_addkeyFilterSure_btn}
点击按钮 ${mssql_newpolicy_goStep3_nextStep4_btn}
# 任务周期
Wait Until Element Is Visible ${mssql_newpolicy_goStep4} 5s 目标数据库页面未发现
点击按钮 ${mssql_newpolicy_goStep4_AddTaskCycle}
点击按钮 ${mssql_newpolicy_goStep4_AddTaskCycle_sunday}
点击按钮 ${mssql_newpolicy_goStep4_AddTaskCycle_Sure_btn}
点击按钮 ${mssql_newpolicy_goStep4_nextStep5_btn}
# 备份集存储
Wait Until Element Is Visible ${mssql_newpolicy_goStep5} 5s 设置存储路径页面未发现
点击按钮 ${mssql_newpolicy_goStep5_nextStep6_btn}
# 备份高级选项
Wait Until Element Is Visible ${mssql_newpolicy_goStep6} 5s 设置存储路径页面未发现
点击按钮 ${mssql_newpolicy_goStep6_next_btn}
# 添加成功
Wait Until Element Is Visible ${mssql_newpolicy_addsucess} 10s
点击按钮 ${mssql_define_btn}
Log 已经创建备份策略:${PolicyName}
执行备份任务并校验
# 选择上面创建的策略并运行
输入文本 ${policy_input_backupNameSearch} ${PolicyName}
# 点击查询
点击按钮 ${policy_btn_backContentSearch}
Sleep 2s
Element Text Should Be ${policy_table_firstname} ${PolicyName}
点击按钮 ${policy_run}
Wait Until Element Is Visible ${policy_run_title} 5s 立即执行窗口未打开
Select From List By Label ${policy_run_select} ${policy_run_select_type}
Sleep 2s
点击按钮 ${policy_run_executePolicyExecute_btn}
Wait Until Element Is Visible ${policy_run_msg} 10s 添加成功窗口未打开
点击按钮 ${mssql_define_btn}
作业校验 ${PolicyName}
作业校验
[Arguments] ${workname}
# 切换到作业
点击按钮 ${cdm_tab_work_li}
Wait Until Element Is Visible ${cdm_tab_work_export_btn} 10s 作业页面打开异常
# 输入策略查询
输入文本 ${cdm_tab_work_PolicyName} ${workname}
点击按钮 ${cdm_tab_work_search_span}
# 确认创建成功了
FOR ${counter} IN RANGE 60
Log ${counter}
${select_text}= Execute Javascript return ${task_select_count}
Log 查询到的作业个数:${select_text}
IF '${select_text}' >= '2' BREAK
Sleep 2s
点击按钮 ${cdm_tab_work_search_span}
END
Log 作业创建成功,正在运行中
# 等待运行完成
FOR ${index} IN RANGE 300
Log 第${index}次查询作业状态
${task_run}= Execute Javascript return ${task_status}
Log 作业状态:${task_run}
Exit For Loop If '${task_run}' == '成功' or '${task_run}' == '失败'
Sleep 2s
点击按钮 ${cdm_tab_work_search_span}
END
Should Be Equal As Strings ${task_run} 成功 任务运行失败
Log 作业策略执行成功
创建恢复任务并校验
# 进入备份集页面
点击按钮 ${cdm_tab_backupset_li}
# 按照策略查询备份集
输入文本 ${policy_input_backTabPolicy} ${PolicyName}
点击按钮 ${cdm_tab_backupset_search_span}
# 点击操作
点击按钮 id=backupAction_${PolicyName}
Wait Until Element Is Visible id=cdmBkset_recovery_${PolicyName} 10s 操作按钮异常
# 恢复
点击按钮 id=cdmBkset_recovery_${PolicyName}
Wait Until Element Is Visible ${cdm_tab_recovery_step1} 10s 恢复页面未打开
# 恢复目标
点击按钮 ${cdm_tab_recovery_step1_next_btn}
# 实列选择
Wait Until Element Is Visible ${cdm_tab_recovery_step2_next_btn} 10s 实列选择页面异常
点击按钮 ${cdm_tab_recovery_step2_next_btn}
# 选择目标数据库
Wait Until Element Is Visible ${cdm_tab_recovery_step3_next_btn} 10s 选择目标数据库页面异常
点击按钮 ${mssql_recovery_goStep3_database_all}
点击按钮 ${cdm_tab_recovery_step3_next_btn}
# 高级选项
Wait Until Element Is Visible ${cdm_tab_recovery_step4_title} 10s 高级选项页面异常
输入文本 ${cdm_tab_recovery_step4_recTargetPath} ${recTargetPath}
点击按钮 ${cdm_tab_recovery_step4_next_btn}
Wait Until Element Is Visible ${cdm_tab_recovery_step4_finish_title} 10s 确认恢复页面未出现
点击按钮 ${cdm_tab_recovery_step4_finish_btn}
Wait Until Element Is Visible ${recovery_run_msg} 10s 添加成功窗口未打开
点击按钮 ${mssql_define_btn}
Log 恢复作业已经创建
${Date}= Get Current Date result_format=%Y-%m-%d %H:%M
${recoveryname}= Catenate SEPARATOR= 恢复策略 ${Date[:-1]}
Log ${recoveryname}
作业校验 ${recoveryname}
2023-12-11 12:17:26 +00:00
初始化数据库
# 创建数据库
mssqlTest.Create Database
# 创建表
mssqlTest.Create Table
# 插入数据
mssqlTest.Insert Data Table
# 查询插入的结果
${select_result}= mssqlTest.Get Insert Res
Log 查询到的结果是:${select_result}
Set Global Variable ${first_result} ${select_result}
2023-12-10 16:39:33 +00:00
2023-12-11 12:17:26 +00:00
删除表确认该表不存在
# 先确认表是否存在
${table_status1}= mssqlTest.Check Table Exists
Should Be True ${table_status1} 要删除的表不存在
Log TABLE_TEST表存在,开始做删除表操作
mssqlTest.Drop Table
# 删除后检查
${table_status2}= mssqlTest.Check Table Exists
Should Not Be True ${table_status2} 删除失败,删除的表还能查询到
Log TABLE_TEST已删除
校验恢复结果
# 先确认表是否存在
${table_status}= mssqlTest.Check Table Exists
Should Be True ${table_status} 要检查的表不存在,请确认恢复结果
Log 表已经恢复成功,开始检查表结果
# 查询插入的结果
${select_result}= mssqlTest.Get Insert Res
Log 查询到的结果是:${select_result}
# 将其与之前的结果做对比
Should Be Equal As Strings ${first_result} ${select_result} 恢复前后的结果不匹配
Log 恢复成功,恢复结果与预期一致