188 lines
11 KiB
Plaintext
188 lines
11 KiB
Plaintext
*** Settings ***
|
|
Resource ../RE0_Common/KeyWord.robot
|
|
Resource ../RE0_Common/ElementPath.robot
|
|
Resource ElementPath.robot
|
|
Library Selenium2Library
|
|
Library string
|
|
Library DateTime
|
|
Library DatabaseLibrary
|
|
|
|
*** Keywords ***
|
|
Oracle插入当前时间点
|
|
[Arguments] ${IP} ${USER} ${PASSWD}
|
|
Open Connection ${IP} 22
|
|
log 用户登录远程测试机器
|
|
SSHLibrary.Login ${USER} ${PASSWD}
|
|
Execute Command ./start_insertSQL.sh
|
|
Close Connection
|
|
|
|
OracleClp备份
|
|
[Arguments] ${Agent_Name}
|
|
元素点击 ${CDP_function} 点击实时数据保护成功 点击实时数据保护失败
|
|
元素输入 ${Input_CDP_SearchName} ${Agent_Name} 定位搜索输入框失败
|
|
sleep 2s
|
|
元素点击 xpath=//span[text()="${Agent_Name}"] 选择Oracle代理机器 定位Oracle代理机节点失败
|
|
Mouse Out xpath=//span[text()="${Agent_Name}"]
|
|
环境清理
|
|
元素点击 ${Add_CDP_BK_Policy} 点击添加策略 点击添加策略定位失败
|
|
元素点击 ${Select_OracleCLP_Type} 选择oracle数据库 定位选择oracle数据库类型失败
|
|
${date} Evaluate time.strftime('%Y%m%d%H%M%S',time.localtime()) time
|
|
${random_strategyName}= Catenate ${date}
|
|
Set Suite Variable ${random_strategyName}
|
|
Log 切换为全局变量
|
|
元素输入 ${Input_Oracle_PolicyName} ${random_strategyName} 定位策略名输入框失败
|
|
元素输入 ${Input_ORACLE_SID} ${Backup_OracleclpInstanceName} 定位搜索实例名输入框失败
|
|
元素点击 ${Cycle_OracleSID_Nextstep} 点击下一步 定位目标数据库下一步失败
|
|
Log 刷新加载数据库实例信息
|
|
sleep 5s
|
|
元素点击 ${Select_Oracle_InstanceSID} 选择Oracle实例 定位oracle数据库实例失败
|
|
元素点击 ${Cycle_Oracle_Select_SID_Next} 点击下一步进入Oracle选项页面 定位搜索下一步按钮失败
|
|
元素点击 ${Add_Credentials} 点击添加连接凭证 定位添加连接凭证失败
|
|
元素输入 ${OracleCLP_ipaddress} ${OracleCLP_DBHostIP_Lin} 定位IP地址输入框失败
|
|
元素输入 ${OracleCLP_port} 1521 定位端口输入框失败
|
|
元素输入 ${OracleCLP_sys_PWD} ${Oracle_DB_PASSWORD} 定位密码输入框失败
|
|
元素点击 ${Click_Sure} 点击确定完成连接 定位确定按钮失败
|
|
sleep 5s
|
|
元素点击 ${OracleCLP_NextStep3} 点击下一步进入到备份集存储页面 定位Oracle选项下一步失败
|
|
元素点击 ${OracleCLP_NextStep4} 点击下一步进入到备份高级选项 定位备份集存储下一步失败
|
|
元素点击 ${OracleCLP_NextStep5} 点击下一步进入到任务周期 定位备份高级选项下一步失败
|
|
获取初始快照时间
|
|
元素输入 ${Input_start_Time} ${time2} 定位初始快照开始时间输入框失败
|
|
元素点击 ${OracleCLP_NextStep6} 点击完成保护策略的创建 定位完成按钮失败
|
|
元素点击 ${Add_succeeded_OK} 点击确定按钮成功 点击确定按钮失败
|
|
FOR ${n} IN RANGE 10
|
|
Click Element ${OracleCLP_Policy_Refresh}
|
|
Sleep 10s
|
|
${bk_status} Run Keyword And Return Status Wait Until Element Is Visible Xpath=//*[@id="cdpContent"]//div[text()="保护中"]
|
|
Run Keyword If "${bk_status}"=="True" Exit For Loop
|
|
... ELSE Log 备份未完成
|
|
Sleep 60s
|
|
END
|
|
${bk_status} Run Keyword And Return Status Wait Until Element Is Visible Xpath=//*[@id="cdpContent"]//div[text()="保护中"]
|
|
Run Keyword If "${bk_status}"=="True" Log 备份成功
|
|
... ELSE Fail 备份失败
|
|
|
|
获取初始快照时间
|
|
${date} Get Current Date result_format=%Y-%m-%d
|
|
${time} Get Current Date result_format=%H:%M:%S
|
|
${time1}= Add Time To Time 1 minute ${time} timer exclude_millis=yes
|
|
${time2}= Catenate ${date} ${time1}
|
|
Set Suite Variable ${time2}
|
|
Log 切换为全局变量
|
|
|
|
环境清理
|
|
元素点击 ${OracleCLP_Policy} 切换到基本信息页面 定位基本信息页面失败
|
|
Sleep 2s
|
|
FOR ${n} IN RANGE 3
|
|
${policy_status} Run Keyword And Return Status Wait Until Element Is Visible ${OracleCLP_Police_Details}
|
|
Run Keyword If ${policy_status}==True 策略删除_OracleCLP
|
|
... ELSE Exit For Loop
|
|
END
|
|
Log 环境清理完毕
|
|
|
|
策略删除_OracleCLP
|
|
元素点击 ${OracleCLP_Snapshot} 进入快照数据页面成功 进入快照数据页面失败
|
|
sleep 15s
|
|
元素点击 ${OracleCLP_Bk_Refresh} 点击刷新按钮成功 点击刷新按钮失败
|
|
FOR ${n} IN RANGE 20
|
|
Click Element ${OracleCLP_Bk_Refresh}
|
|
${work_status} Run Keyword And Return Status Wait Until Element Is Visible ${OracleCLP_Snapshot_Fir_DEL}
|
|
Run Keyword If ${work_status}==True 删除快照数据
|
|
... ELSE Exit For Loop
|
|
Sleep 15s
|
|
END
|
|
Comment 元素点击 ${OracleCLP_Snapshot_Fir_DEL} 点击删除快照数据成功 点击删除快照数据失败
|
|
Comment 元素点击 ${Click_Sure} 点击确定删除按钮成功 点击确定删除按钮失败
|
|
元素点击 ${OracleCLP_Policy} 进入基本信息页面成功 进入基本信息页面失败
|
|
元素点击 ${OracleCLP_Police_Del} 点击确认删除策略成功 点击确认删除策略失败
|
|
元素点击 ${Click_Sure} 点击删除策略确定按钮成功 点击删除策略确定按钮失败
|
|
|
|
Oracle停止插入当前时间点
|
|
[Arguments] ${IP} ${USER} ${PASSWD}
|
|
Open Connection ${IP} 22
|
|
log 用户登录远程测试机器
|
|
SSHLibrary.Login ${USER} ${PASSWD}
|
|
Execute Command ./stop_insertSQL.sh
|
|
Close Connection
|
|
|
|
Oracle获取当前行数
|
|
[Arguments] ${CDM_Backup_Username} ${CDM_Backup_Password} ${CDM_Oracle_HostIP} ${Backup_OracleInstanceName}
|
|
sleep 30s
|
|
log 连接数据库
|
|
Connect To Database Using Custom Params cx_Oracle '${CDM_Backup_Username}','${CDM_Backup_Password}','${CDM_Oracle_HostIP}:1521/${Backup_OracleInstanceName}'
|
|
log 获取行数
|
|
${result} Row Count select * from time1
|
|
Disconnect From Database
|
|
|
|
Oracle删除表
|
|
[Arguments] ${CDM_Backup_Username} ${CDM_Backup_Password} ${CDM_Oracle_HostIP} ${Backup_OracleInstanceName}
|
|
log 连接数据库
|
|
Connect To Database Using Custom Params cx_Oracle '${CDM_Backup_Username}','${CDM_Backup_Password}','${CDM_Oracle_HostIP}:1521/${Backup_OracleInstanceName}'
|
|
${rowcount} Row Count select * from time1
|
|
Set Suite Variable ${rowcount}
|
|
Run Keyword If ${rowcount} >= 1 Execute Sql String drop table time1
|
|
Execute Sql String commit
|
|
Log 删除表成功
|
|
Disconnect From Database
|
|
|
|
OracleClp恢复
|
|
元素点击 ${OracleCLP_Police_Rec} 点击策略中的恢复按钮成功 点击策略中的恢复按钮失败
|
|
sleep 2
|
|
元素点击 ${OracleCLP_Bk_Rec} 点击恢复成功 定位恢复按钮失败
|
|
sleep 2
|
|
元素点击 ${OracleCLP_RecoveryPolicy_1} 点击基本信息页面的下一步按钮成功 点击基本信息页面的下一步按钮失败
|
|
元素输入 ${OracleCLP_RecPolicy_Instance} ${Backup_OracleclpInstanceName} 输入实例名失败
|
|
元素点击 ${OracleCLP_RecoveryPolicy_2} 点击恢复目标页面的下一步按钮成功 点击恢复目标页面的下一步按钮失败
|
|
元素点击 ${OracleCLP_RecoveryPolicy_3} 点击Oracle选项页面的下一步按钮成功 点击Oracle选项页面的下一步按钮失败
|
|
元素点击 ${Click_Time_Range} 点击恢复选项页面下的选择之间范围成功 点击Oracle选项页面的下一步按钮失败
|
|
元素点击 ${Select_Time_Range} 点击时间范围成功 点击时间范围失败
|
|
${get_attr}= Get Text xpath=//*[@id="timeFrame"]/xm-select/div[1]/div/div
|
|
Open Connection 10.18.32.93 22
|
|
log 用户登录远程测试机器
|
|
SSHLibrary.Login root unary@2008
|
|
Execute Command echo ${get_attr} >1.txt
|
|
${log}= Execute Command cat 1.txt | cut -d ' ' -f 4-
|
|
Close Connection
|
|
元素输入 xpath=//*[@id="BeginTime"] ${log} 输入时间点失败
|
|
元素点击 xpath=//*[@id="BackupDialog"]//div[text()="选择时间点:"] 点击选择时间点成功 点击选择时间点失败
|
|
元素点击 xpath=//*[@id="BeginTime"] 点击时间点输入框成功 点击时间点输入框失败
|
|
元素点击 xpath=//span[text()="确定" and @lay-type="confirm"] 点击确定按钮成功 点击确定按钮失败
|
|
元素点击 ${OracleCLP_RecoveryPolicy_4} 点击恢复选项页面的下一步按钮成功 点击恢复选项页面的下一步按钮失败
|
|
元素点击 ${OracleCLP_RecoveryPolicy_5} 点击高级选项页面的下一步按钮成功 点击高级选项页面的下一步按钮失败
|
|
元素点击 ${Confim_Delete_Bk} 点击恢复确认按钮成功 点击恢复确认按钮失败
|
|
元素点击 ${Add_succeeded_OK} 点击添加成功确认按钮 点击添加成功确认失败
|
|
元素点击 ${Job_Information} 点击作业信息页面成功 点击作业信息页面失败
|
|
元素点击 ${Job_Type_Rec} 选择恢复作业成功 选择恢复作业失败
|
|
元素点击 ${Job_Query} 点击作业信息页面的查询成功 点击作业信息页面的查询失败
|
|
FOR ${n} IN RANGE 20
|
|
Click Element ${Job_Query}
|
|
${work_status} Run Keyword And Return Status Wait Until Element Is Visible Xpath=//*[@id="jobtableContent"]//tr[@data-index="0"]//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=//*[@id="jobtableContent"]//tr[@data-index="0"]//div[text()="本次恢复成功 "]
|
|
Run Keyword If ${work_status}==False Fail
|
|
... ELSE Log 恢复成功
|
|
Sleep 15s
|
|
|
|
OracleClp禁用
|
|
元素点击 ${OracleCLP_Police_Disable} 点击策略禁用成功 点击策略禁用失败
|
|
元素点击 ${Click_Sure} 点击策略禁用确定按钮成功 点击策略禁用确定按钮失败
|
|
sleep 10s
|
|
|
|
Oracle校验表
|
|
[Arguments] ${CDM_Backup_Username} ${CDM_Backup_Password} ${CDM_Oracle_HostIP} ${Backup_OracleInstanceName}
|
|
sleep 30s
|
|
log 连接数据库
|
|
Connect To Database Using Custom Params cx_Oracle '${CDM_Backup_Username}','${CDM_Backup_Password}','${CDM_Oracle_HostIP}:1521/${Backup_OracleInstanceName}'
|
|
log 获取行数
|
|
${result} Row Count select * from time1
|
|
Disconnect From Database
|
|
Run Keyword If {result}<=${rowcount} log 数据校验一致,恢复成功
|
|
... ELSE Fail 数据校验不一致,恢复失败
|
|
|
|
删除快照数据
|
|
元素点击 ${OracleCLP_Snapshot_Fir_DEL} 点击删除快照数据成功 点击删除连续日志的快照数据失败
|
|
元素点击 ${Click_Sure} 点击确定删除按钮成功 点击确定删除按钮失败
|