221 lines
12 KiB
Plaintext
221 lines
12 KiB
Plaintext
*** Settings ***
|
|
Resource ../RE0_Common/KeyWord.robot # 公共关键字
|
|
Resource ../RE0_Common/ElementPath.robot # 公共元素
|
|
Resource ElementPathXC.robot # CDM元素
|
|
Library Selenium2Library
|
|
Library string
|
|
Library DateTime
|
|
Library DatabaseLibrary
|
|
|
|
*** Keywords ***
|
|
Kingbase备份
|
|
[Arguments] ${kingbase_agent} ${Kingbase_User} ${Kingbase_PWD} ${mds_name} ${encryption_attr} ${compress_attr} ${dedup_attr} ${installuser} ${binpath} ${datapath} ${archivepath}
|
|
元素点击 ${CDM_dataProtect} 点击副本数据保护成功 定位副本数据保护定位失败
|
|
${date} Evaluate time.strftime('%Y%m%d%H%M%S',time.localtime()) time
|
|
${random_strategyName}= Catenate SEPARATOR=_ Kingbase ${date}
|
|
${createpolicy} Catenate SEPARATOR= 新建了策略[ ${random_strategyName}
|
|
Set Suite Variable ${random_strategyName}
|
|
Set Suite Variable ${createpolicy}
|
|
Sleep 5s
|
|
元素点击 xpath=//span[text()="${kingbase_agent}"] 点击选择代理 定位代理所在位置失败
|
|
sleep 2s
|
|
元素点击 ${Add_CDM_BK_Policy} 点击添加策略 点击添加策略定位失败
|
|
元素点击 ${Select_Kingbase} 选择Kingbase数据库 定位选择Kingbase数据库类型失败
|
|
元素输入 ${Input_celuename} ${random_strategyName} 定位策略名输入框失败
|
|
元素输入 ${Input_kingbase_user} ${Kingbase_User} 定位用户名失败
|
|
元素输入 ${Input_kingbase_Pwd} ${Kingbase_PWD} 定位密码失败
|
|
元素点击 ${kingbase_setting} 点击高级设置 定位高级设置失败
|
|
元素输入 ${kingbase_installer} ${installuser} 定位安装用户失败
|
|
元素输入 ${kingbase_bin} ${binpath} 定位安装路径的bin目录失败
|
|
元素输入 ${kingbase_Data} ${datapath} 定位安装路径的data目录失败
|
|
元素输入 ${kingbase_archive} ${archivepath} 定位安装路径的archive目录失败
|
|
元素点击 ${kingbase_fwstep2} 点击下一步 定位连接凭据下一步失败
|
|
sleep 5s
|
|
元素点击 ${kingbase_fwstep3} 点击下一步 定位目标数据库下一步失败
|
|
元素点击 ${AddTaskCycle} 点击添加任务周期 定位添加任务周期按钮失败
|
|
元素点击 ${Cycle_Onetime} 选择仅备份一次 定位一次循环模式定位失败
|
|
元素点击 ${Cycle_Confirm} 点击确定完成任务周期设置 定位搜索确定按钮失败
|
|
元素点击 ${Cycle_Nextstep} 点击下一步 定位搜索下一步按钮失败
|
|
元素点击 ${Input_Choose_MDS} 选择手动指定MDS介质 定位手动选择MDS介质选项失败
|
|
元素点击 ${Select_MDS_CDM} 点击展开介质选项下拉框 定位介质下拉框失败
|
|
元素点击 xpath=//select[@id="dialogues_addCycleStorage_storagePath_selectMedia_selectedMdsIP_select"]/option[@label="${mds_name}"] 点击选择指定介质 定位指定介质失败
|
|
元素点击 ${Storage_Nextstep} 点击下一步进入备份高级选项 定位备份集存储下一部失败
|
|
Run Keyword If ${encryption_attr}==1 加密
|
|
... ELSE Log 不勾选加密
|
|
Run Keyword If ${compress_attr}==1 压缩
|
|
... ELSE Log 不勾选压缩
|
|
Run Keyword If ${dedup_attr}==1 重删
|
|
... ELSE Log 不勾选重删
|
|
sleep 2s
|
|
元素点击 ${Complete_Add_Policy} 点击完成策略创建 定位策略完成失败
|
|
Sleep 2s
|
|
元素点击 ${Add_Confirm} 策略确定创建完毕 定位策略创建成功弹窗失败
|
|
sleep 5s
|
|
元素点击 ${CDM_BK} 点击进入副本数据一栏 定位备份集栏失败
|
|
元素输入 ${Input_Policy_Name} ${random_strategyName} 定位策略搜索框失败
|
|
Log 输入策略名进行搜索
|
|
Sleep 15s
|
|
FOR ${n} IN RANGE 100
|
|
Click Element ${Button_Searchbk}
|
|
${bk_status} Run Keyword And Return Status Wait Until Element Is Visible xpath=//tr[1]/td[12]/div[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
|
|
|
|
Kingbase恢复
|
|
[Arguments] ${DB_User} ${DB_PWD} ${installuser} ${binpath} ${datapath} ${archivepath}
|
|
元素点击 ${CDM_BK} 点击副本数据成功 定位副本数据界面失败
|
|
sleep 2
|
|
元素点击 ${Select_Restore_Option} 点击操作成功 定位操作按钮失败
|
|
元素点击 ${Select_Restore} 点击恢复按钮成功 定位恢复按钮失败
|
|
sleep 10
|
|
元素输入 ${kingbase_Recory_Username} ${DB_User} 定位用户名失败
|
|
元素输入 ${kingbase_Recovry_Pwd} ${DB_PWD} 定位密码失败
|
|
元素点击 ${kingbase_recovery_setting} 点击高级设置 定位高级设置失败
|
|
元素输入 ${kingbase_recovery_User} ${installuser} 定位安装用户失败
|
|
元素输入 ${kingbase_recovery_Path} ${binpath} 定位安装路径的bin目录失败
|
|
元素输入 ${kingbase_recovery_DataPath} ${datapath} 定位安装路径的data目录失败
|
|
元素输入 ${kingbase_recovery_archivePath} ${archivepath} 定位安装路径的archive目录失败
|
|
元素点击 ${kingbase_recovery_fwstep1} 点击下一步进入目标数据库选择界面 定位下一步按钮失败
|
|
元素点击 ${kingbase_recovery_finish} 点击执行按钮成功 定位执行按钮失败
|
|
元素点击 ${confirm_restore} 点击确认恢复按钮成功 点击确认恢复按钮失败
|
|
sleep 5
|
|
元素点击 ${Add_Confirm} 恢复任务添加完成 定位添加恢复任务成功按钮失败
|
|
Log 开始恢复......
|
|
元素点击 ${Select_JobHtml} 点击作业界面成功 定位作业界面失败
|
|
sleep 30s
|
|
Wait Until Page Contains Element ${Search_Status_Sessuss} 300s 恢复未完成
|
|
Log 恢复成功
|
|
|
|
立刻执行
|
|
元素点击 ${cdm_tab_policy} 切换到副本保护策略栏 定位副本保护策略功能栏失败
|
|
元素点击 ${Complie_execute} 点击策略立即执行 定位立即执行失败
|
|
元素点击 ${Now_Run_Type} 点击展开立即执行下拉框 定位立即执行备份类型失败
|
|
元素点击 ${Incremental_Backup} 点击选择永久增量备份 定位永久增量备份失败
|
|
元素点击 ${Confirm_Exec} 点击确定按钮 点击确定按钮
|
|
Sleep 5s
|
|
元素点击 ${Add_Confirm} 点击确定按钮 定位确定按钮失败
|
|
元素点击 ${CDM_BK} 点击进入备份集一栏 定位备份集栏失败
|
|
Sleep 600s
|
|
Wait Until Page Contains Element xpath=//tr[1]/td[12]/div[text()="已完成"] 180s 备份未完成
|
|
Log 备份完成
|
|
|
|
Kingbase挂载
|
|
[Arguments] ${binpath} ${archivepath}
|
|
元素点击 ${CDM_BK} 点击副本数据成功 定位副本数据界面失败
|
|
sleep 2
|
|
元素点击 ${Select_Restore_Option} 点击操作成功 定位操作按钮失败
|
|
元素点击 ${Backups_Mount} 点击挂载按钮成功 定位挂载按钮失败
|
|
元素输入 ${mount_kingbasearchivePath} ${archivepath} 定位安装路径的archive目录失败
|
|
元素输入 ${mount_kingbaseBinPath} ${binpath} 定位安装路径的bin目录失败
|
|
元素点击 ${kingbase_recovery_finish} 点击执行成功 定位执行按钮失败
|
|
元素点击 ${mount_finish} 点击完成成功 定位完成按钮失败
|
|
元素点击 ${Add_Confirm} 点击添加成功确定按钮成功 点击添加成功确定按钮失败
|
|
元素点击 ${Select_JobHtml} 点击作业界面成功 定位作业界面失败
|
|
sleep 60s
|
|
Wait Until Page Contains Element ${Search_Status_Sessuss} 300s 挂载未完成
|
|
Log 挂载99%成功
|
|
|
|
Kingbase停止挂载
|
|
元素点击 ${CDM_mount} 点击副本应用成功 点击副本应用失败
|
|
元素点击 ${CDM_umount} 点击卸载按钮成功 定位卸载按钮失败
|
|
元素点击 ${umount_sure} 点击完成成功 定位完成失败
|
|
元素点击 ${Add_Confirm} 点击卸载成功按钮成功 定位卸载成功按钮失败
|
|
Log 卸载挂载成功
|
|
|
|
Kingbase建表
|
|
[Arguments] ${Host_IP} ${Host_User} ${Host_PWD}
|
|
Open Connection ${Host_IP} 22
|
|
log kingbase用户登录远程测试机器
|
|
SSHLibrary.Login ${Host_User} ${Host_PWD}
|
|
Execute Command rm -rf /opt/agent/ubackup/uagent/lib/VolumeCopy/diskMutex/#*
|
|
log 执行脚本和sql删除语句
|
|
${out} Run Keyword And Ignore Error Execute Command sh /home/kingbase/kingbaseDB/kingbaseV8DB.sh drop TEST
|
|
log 执行脚本和sql语句建表
|
|
${out1}= Execute Command sh /home/kingbase/kingbaseDB/kingbaseV8DB.sh create TEST
|
|
log ${out1}
|
|
Should Contain ${out1} CREATE TABLE
|
|
sleep 2s
|
|
log 执行脚本和sql语句
|
|
${out2}= Execute Command sh /home/kingbase/kingbaseDB/kingbaseV8DB.sh insert TEST
|
|
log ${out2}
|
|
Close Connection
|
|
Should Contain ${out2} INSERT
|
|
|
|
Kingbase插入数据
|
|
[Arguments] ${Host_IP} ${Host_User} ${Host_PWD}
|
|
Open Connection ${Host_IP} 22
|
|
log kingbase用户登录远程测试机器
|
|
SSHLibrary.Login ${Host_User} ${Host_PWD}
|
|
log 执行脚本和sql语句
|
|
${out}= Execute Command sh /home/kingbase/kingbaseDB/kingbaseV8DB.sh insert TEST
|
|
log ${out}
|
|
Close Connection
|
|
Should Contain ${out} INSERT
|
|
|
|
Kingbase表删除
|
|
[Arguments] ${Host_IP} ${Host_User} ${Host_PWD}
|
|
Open Connection ${Host_IP} 22
|
|
log kingbase用户登录远程测试机器
|
|
SSHLibrary.Login ${Host_User} ${Host_PWD}
|
|
log 执行脚本和sql语句并赋值给全局变量
|
|
${Insertdata}= Execute Command sh /home/kingbase/kingbaseDB/kingbaseV8DB.sh query TEST
|
|
Set Global Variable ${Insertdata}
|
|
log 执行脚本和sql语句
|
|
${out} Run Keyword And Ignore Error Execute Command sh /home/kingbase/kingbaseDB/kingbaseV8DB.sh drop TEST
|
|
log ${out}
|
|
Close Connection
|
|
Should Contain ${out} DROP TABLE
|
|
|
|
Kingbase数据校验
|
|
[Arguments] ${Host_IP} ${Host_User} ${Host_PWD}
|
|
Open Connection ${Host_IP} 22
|
|
log kingbase用户登录远程测试机器
|
|
SSHLibrary.Login ${Host_User} ${Host_PWD}
|
|
log 执行脚本和sql语句
|
|
Execute Command rm -rf /opt/Kingbase/ES/V8/archive/*
|
|
${RecoveryCheckOut}= Execute Command sh /home/kingbase/kingbaseDB/kingbaseV8DB.sh query TEST
|
|
Close Connection
|
|
Run Keyword IF ${RecoveryCheckOut} == None Return From Keyword ${False}
|
|
Run Keyword IF ${RecoveryCheckOut} > 0 log 存在表
|
|
Should Contain ${RecoveryCheckOut} ${Insertdata}
|
|
Return From Keyword ${True}
|
|
|
|
Kingbase策略删除
|
|
元素点击 ${cdm_tab_policy} 切换到副本保护策略栏 定位副本保护策略功能栏失败
|
|
元素点击 ${Cycle_Police_Delete} 点击删除 点击删除成功
|
|
元素点击 ${CDM_Police_Delete} 点击确认删除成功 定位确认按钮失败
|
|
元素点击 ${Success_Confirm} 点击删除成功 定位删除成功按钮失败
|
|
Log 环境清理完毕
|
|
|
|
重删
|
|
元素点击 ${Select_dedup} 点击数据重删 定位数据重删失败
|
|
|
|
加密
|
|
元素点击 ${Pipeline_Encryption} 点击加密 定位数据加密失败
|
|
|
|
压缩
|
|
元素点击 ${Pipeline_Compress} 点击数据压缩 定位数据压缩失败
|
|
|
|
Kingbase停库
|
|
[Arguments] ${Host_IP} ${Host_User} ${Host_PWD}
|
|
Open Connection ${Host_IP} 22
|
|
log kingbase用户登录远程测试机器
|
|
SSHLibrary.Login ${Host_User} ${Host_PWD}
|
|
log 停止Kingbase数据库
|
|
Execute Command /etc/init.d/kingbase8d stop
|
|
Close Connection
|
|
|
|
Kingbase启库
|
|
[Arguments] ${Host_IP} ${Host_User} ${Host_PWD}
|
|
Open Connection ${Host_IP} 22
|
|
log kingbase用户登录远程测试机器
|
|
SSHLibrary.Login ${Host_User} ${Host_PWD}
|
|
log 启动Kingbase数据库
|
|
Execute Command /etc/init.d/kingbase8d start
|
|
Close Connection
|