269 lines
15 KiB
Plaintext
269 lines
15 KiB
Plaintext
*** Settings ***
|
|
Resource ../RE0_Common/KeyWord.robot
|
|
Resource ElementPath.robot
|
|
Library DatabaseLibrary
|
|
Library Selenium2Library
|
|
Library DateTime
|
|
Library String
|
|
Library SSHLibrary
|
|
|
|
*** Keywords ***
|
|
创建数据表
|
|
[Arguments] ${ip} ${user} ${pwd} ${port} # 数据库ip地址|用户名称|密码|端口号
|
|
Connect To Database Using Custom Params pymysql host='${ip}', port=${port}, user='${user}', passwd='${pwd}', db='test', charset= 'utf8'
|
|
Execute Sql String use test; #执行SQL语句
|
|
Execute Sql String drop table if exists unary; #执行SQL语句
|
|
Execute Sql String create table unary(worker int);
|
|
Execute Sql String insert into unary(worker) values (2008);
|
|
${query_result} query select worker from unary;
|
|
Log ${query_result}
|
|
Disconnect From Database
|
|
Log 断开数据库连接
|
|
|
|
MySQLCDM备份
|
|
[Arguments] ${HostName} ${protocol} ${port} ${ip} ${sockpath} ${user} ${pwd} ${confpath} ${binpath} ${mds_name} ${encryption} ${compression} ${dedup} #代理名称、连接协议、端口号、IP、socket路径、数据库用户、密码、配置文件路径、bin目录、介质\加密、压缩、重删
|
|
元素点击 ${CDM_dataProtect} 点击副本数据保护成功 定位副本数据保护定位失败
|
|
元素输入 ${Input_Oracle_SearchName} ${HostName} 定位搜索输入框失败
|
|
sleep 10s
|
|
元素点击 xpath=//span[text()="${HostName}"] 选择备份代理 定位备份代理失败
|
|
sleep 5s
|
|
MySQLCDM策略清理
|
|
元素点击 ${Add_Sqlserver_Policy} 点击添加策略按钮 定位策略添加按钮失败
|
|
元素点击 ${Module_MySQL} 选择mysql数据模块 定位mysql模块失败
|
|
log 定义策略名规则
|
|
${policy_head} Set Variable mysqlcdm
|
|
${date} Get Current Date result_format=%Y%m%d%H%M%S
|
|
${random_strategyName}= Catenate SEPARATOR=_ ${policy_head} ${date}
|
|
Set Global Variable ${random_strategyName}
|
|
log 输入策略名
|
|
元素输入 ${MySQLCDM_PolicyName} ${random_strategyName} 定位策略名输入框失败
|
|
Run Keyword If ${protocol}==1 常规连接协议 ${port} ${ip}
|
|
... ELSE IF ${protocol}==0 socket连接协议 ${sockpath}
|
|
元素输入 ${MySQLCDM_InstanceName} ${port} 定位自定义实例名失败
|
|
元素输入 ${MySQLCDM_UserName} ${user} 定位用户名输入框失败
|
|
元素输入 ${MySQLCDMBK_Pwd} ${pwd} 定位密码输入框失败
|
|
元素点击 ${MySQLCDM_BKset} 点击高级设置 定位高级设置失败
|
|
元素输入 ${MysqlCDM_dbConfPath} ${confpath} 定位数据库配置文件路径输入框失败
|
|
元素输入 ${MysqlCDM_binPath} ${binpath} 定位数据库bin目录输入框失败
|
|
元素点击 ${MysqlCDM_nextstep3} 点击下一步,进入目标数据库 定位下一步失败
|
|
sleep 5s
|
|
元素点击 ${MysqlCDM_nextstep4} 点击下一步,进入备份集存储 定位目标数据库下一步失败
|
|
元素点击 ${Input_Choose_MDS} 选择手动指定MDS介质 定位手动选择MDS介质选项失败
|
|
元素点击 ${Select_MDS_CDM} 点击展开介质选项下拉框 定位介质下拉框失败
|
|
元素点击 xpath=//select[@id="dialogues_addCycleStorage_storagePath_selectMedia_selectedMdsIP_select"]/option[text()="${mds_name}"] 点击选择指定介质 定位指定介质失败
|
|
元素点击 ${Storage_Nextstep} 点击下一步进入到备份高级选项页面 定位下一步按钮失败
|
|
sleep 5s
|
|
Run Keyword If ${encryption}==1 管道加密
|
|
... ELSE log 不加密
|
|
Run Keyword If ${compression}==1 管道压缩
|
|
... ELSE log 不压缩
|
|
Run Keyword If ${dedup}==1 管道重删
|
|
... ELSE log 不重删
|
|
元素点击 ${MysqlCDM_jumpToPage} 点击下一步进入任务周期 定位下一步失败
|
|
元素点击 ${AddTaskCycle} 添加任务周期成功 添加任务周期定位失败
|
|
元素点击 ${Cycle_Onetime} 添加仅一次立即备份 一次循环模式定位失败
|
|
元素点击 ${Cycle_Confirm} 添加任务周期 任务周期确定定位失败
|
|
sleep 3s
|
|
元素点击 ${MysqlCDM_Finish} 点击完成策略创建 定位策略完成失败
|
|
sleep 3s
|
|
元素点击 ${MysqlCDM_Confirm} 策略添加完成 备份策略完成定位失败
|
|
log 开始备份
|
|
Sleep 30s
|
|
元素点击 ${MysqlCDM_tabbackup} 进入备份集栏 定位备份集选项失败
|
|
Log 输入策略名进行搜索
|
|
元素输入 ${MysqlCDM_BKtab} ${random_strategyName} 定位策略名称输入框失败
|
|
FOR ${n} IN RANGE 10
|
|
Click Element ${MysqlCDM_BKsearch}
|
|
Sleep 30s
|
|
${bk_status} Run Keyword And Return Status Wait Until Element Is Visible xpath=//div[text()="${random_strategyName}"]/../../td[12]/div[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 5s
|
|
|
|
MySQLCDM策略清理
|
|
log 删除备份策略
|
|
元素点击 ${Html_Oracle_Policy} 切换到策略一栏 定位策略失败
|
|
Sleep 2s
|
|
Comment 循环点击 xpath=//*[@id="cdmPolicy_delete_${random_strategyName}"] ${Button_Del_Policy}
|
|
循环点击 ${Cycle_Oracle_Police_Delete} ${Button_Del_Policy}
|
|
Sleep 2s
|
|
元素点击 ${Button_Del_Policy} 确认删除 确认删除定位失败
|
|
Sleep 2s
|
|
元素点击 ${Delete_succeeded_OK} 完成策略删除 定位删除成功按钮失败
|
|
Sleep 10s
|
|
Log 环境清理完毕
|
|
|
|
删除数据表
|
|
[Arguments] ${ip} ${user} ${pwd} ${port} # 数据库ip地址|用户名称|密码|端口号
|
|
Connect To Database Using Custom Params pymysql host='${ip}', port=${port}, user='${user}', passwd='${pwd}', db='test', charset= 'utf8'
|
|
Execute Sql String use test;
|
|
Execute Sql String drop table unary; #执行SQL语句
|
|
Disconnect From Database
|
|
Log 断开数据库连接
|
|
|
|
MySQLCDM恢复
|
|
[Arguments] ${user} ${pwd} ${binpath} ${binlogpath} ${stop} ${start} #用户名#密码#数据库bin目录#binlog目录#停库命令#启库命令
|
|
元素点击 ${MysqlCDM_tabbackup} 点击进入副本数据页面 定位副本数据页面失败
|
|
Sleep 5s
|
|
元素点击 xpath=//tr[@data-index="0"]//*[@id="backupAction_${random_strategyName}"] 点击展开操作 定位备份集操作按钮下拉框失败
|
|
元素点击 ${CDM_BK_Recover} 点击恢复操作 定位恢复按钮失败
|
|
元素输入 ${MysqlCDM_RecUser} ${user} 定位用户名失败
|
|
元素输入 ${MysqlCDM_RecPwd} ${pwd} 定位密码失败
|
|
元素点击 ${MysqlCDM_Recadvanced} 点击高级设置 定位高级设置失败
|
|
元素输入 ${MysqlCDM_RecbinPath} ${binpath} 定位Bin目录失败
|
|
元素输入 ${MysqlCDM_RecbinlogPath} ${binlogpath} 定位binlog目录输入框失败
|
|
元素点击 ${MysqlCDM_Recnext2} 点击下一步进入恢复目标 定位下一步按钮失败
|
|
元素点击 ${MysqlCDM_Recnext3} 点击下一步,进入高级选项 定位下一步按钮失败
|
|
元素输入 ${MysqlCDM_Recstop} ${stop} 定位停库命令输入框失败
|
|
元素输入 ${MysqlCDM_Recstart} ${start} 定位启库命令输入框失败
|
|
元素点击 ${MysqlCDM_RecFinish} 点击确定 定位确定按钮失败
|
|
元素点击 ${MysqlCDM_Confirm} 点击二次确定进行恢复 定位二次确定按钮失败
|
|
Sleep 5s
|
|
元素点击 ${Normal_Tab_Work} 切换到作业一栏 定位作业一栏失败
|
|
Sleep 30s
|
|
FOR ${n} IN RANGE 10
|
|
Click Element ${Mysql_refresh}
|
|
${work_status} Run Keyword And Return Status Wait Until Element Is Visible ${Recover_Status}
|
|
Run Keyword If ${work_status}==False Log 恢复未完成
|
|
... ELSE Exit For Loop
|
|
Sleep 60s
|
|
END
|
|
Run Keyword If ${work_status}==False Fail
|
|
... ELSE Log 恢复成功
|
|
sleep 2s
|
|
|
|
校验数据表
|
|
[Arguments] ${ip} ${user} ${pwd} ${port} # 数据库ip地址|数据库用户名|数据库密码|数据库端口号
|
|
Connect To Database Using Custom Params pymysql host='${ip}', port=${port}, user='${user}', passwd='${pwd}', db='test', charset= 'utf8'
|
|
Execute Sql String use test;
|
|
${query_result} query select worker from unary;
|
|
Log ${query_result[0][0]}
|
|
Run Keyword If ${query_result[0][0]}==2008 Log 校验成功
|
|
... ELSE Fail
|
|
Execute Sql String drop table unary; #执行SQL语句
|
|
Disconnect From Database
|
|
Log 断开数据库连接
|
|
|
|
常规连接协议
|
|
[Arguments] ${port} ${ip} #备份实例端口号#代理IP
|
|
log 本次为常规连接协议备份
|
|
元素输入 ${MySQLCDMBK_Port} ${port} 定位端口号输入框失败
|
|
元素输入 ${MySQLCDMBK_IP} ${ip} 定位IP输入框失败
|
|
|
|
socket连接协议
|
|
[Arguments] ${sockpath} # socket文件路径
|
|
log 本次为socket连接协议备份
|
|
元素输入 ${MySQLCDM_socketPath} ${sockpath} 定位端口号输入框失败
|
|
|
|
管道加密
|
|
Click Element ${MysqlCDM_Encryption}
|
|
Sleep 2s
|
|
Log 勾选管道加密
|
|
|
|
管道压缩
|
|
Click Element ${MysqlCDM_Compress}
|
|
Sleep 2s
|
|
Log 勾选管道压缩
|
|
|
|
管道重删
|
|
Click Element ${MysqlCDM_Dedup}
|
|
Sleep 2s
|
|
Log 勾选管道重删
|
|
|
|
新增数据
|
|
[Arguments] ${ip} ${user} ${pwd} ${port} # 数据库ip地址|用户名称|密码|端口号
|
|
Connect To Database Using Custom Params pymysql host='${ip}', port=${port}, user='${user}', passwd='${pwd}', db='test', charset= 'utf8'
|
|
Execute Sql String use test; #执行SQL语句
|
|
Execute Sql String insert into unary select * from unary #执行SQL语句
|
|
${query_result} query select worker from unary;
|
|
Log ${query_result}
|
|
Disconnect From Database
|
|
Log 断开数据库连接
|
|
|
|
立即执行
|
|
元素点击 ${MysqlCDM_tappolicy} 切换到保护策略页面 定位保护策略失败
|
|
元素点击 ${Run_Now} 点击立即执行 定位立即执行失败
|
|
元素点击 ${MysqlCDM_bktype} 选择备份类型 定位备份类型失败
|
|
元素点击 ${MysqlCDM_bktype2} 选择永久增量备份 定位永久增量备份失败
|
|
元素点击 ${MysqlCDM_bkexe} 点击确定 定位确定按钮失败
|
|
元素点击 ${MysqlCDM_Confirm} 点击策略下发完成确认 定位策略下发完成确认按钮失败
|
|
元素点击 ${Select_JobHtml} 点击作业按钮 定位作业界面失败
|
|
log 开始永久增量备份
|
|
FOR ${n} IN RANGE 6
|
|
${bkstatus} Run Keyword AND Return Status Wait Until Element Is Visible ${Recover_Status}
|
|
Run Keyword If "${bkstatus}"=="True" Exit For Loop
|
|
... ELSE Log 备份未完成
|
|
Sleep 60s
|
|
END
|
|
Run Keyword If ${bkstatus}==False Fail
|
|
... ELSE Log 备份成功
|
|
|
|
MySQLCDM快速挂载
|
|
[Arguments] ${user} ${pwd} ${binpath} ${binlogpath} ${stop} ${start} ${ip} ${mport} ${mpath} ${MysqlDB} #用户名#密码#数据库bin目录#binlog目录#停库命令#启库命令#IP、挂载端口号、挂载路径、数据库
|
|
元素点击 ${MysqlCDM_tabbackup} 点击进入副本数据页面 定位副本数据页面失败
|
|
Sleep 5s
|
|
元素点击 xpath=//tr[@data-index="0"]//*[@id="backupAction_${random_strategyName}"] 点击展开操作 定位备份集操作按钮下拉框失败
|
|
元素点击 ${Oracle_Backups_Mount} 点击快速挂载 定位快速挂载按钮失败
|
|
元素输入 ${MysqlCDM_mountuser} ${user} 定位用户名失败
|
|
元素输入 ${MysqlCDM_mountpwd} ${pwd} 定位密码失败
|
|
元素点击 ${MysqlCDM_MAdv} 点击高级设置 定位高级设置失败
|
|
元素输入 ${MysqlCDM_MAdvbin} ${binpath} 定位Bin目录失败
|
|
元素输入 ${MysqlCDM_MAdvbinlog} ${binlogpath} 定位binlog目录输入框失败
|
|
元素点击 ${MysqlCDM_Mnext2} 点击下一步 定位下一步按钮失败
|
|
元素输入 ${Mysql_mountpath} ${mpath} 定位挂载路径输入框失败
|
|
Comment 元素点击 ${Mysql_DatabaseCon} 点击应用数据库配置 定位应用数据库配置失败
|
|
元素点击 ${Mysql_mountport} 勾选实例端口号配置 定位端口号配置按钮失败
|
|
元素输入 ${Mysql_mountport2} ${mport} 定位端口号输入框失败
|
|
元素点击 ${Mysql_mountfinish} 点击确定挂载 定位确定按钮失败
|
|
sleep 3s
|
|
元素点击 ${MysqlCDM_Confirm} 点击二次确定进行挂载 定位二次确定按钮失败
|
|
Sleep 5s
|
|
元素点击 ${Normal_Tab_Work} 切换到作业一栏 定位作业一栏失败
|
|
Sleep 30s
|
|
FOR ${n} IN RANGE 10
|
|
Click Element ${Mysql_refresh}
|
|
${work_status} Run Keyword And Return Status Wait Until Element Is Visible ${Recover_Status}
|
|
Run Keyword If ${work_status}==False Log 挂载未完成
|
|
... ELSE Exit For Loop
|
|
Sleep 60s
|
|
END
|
|
Run Keyword If ${work_status}==False Fail
|
|
... ELSE Log 挂载成功
|
|
sleep 30s
|
|
挂载校验 ${ip} ${mport} ${user} ${pwd} ${MysqlDB}
|
|
sleep 5s
|
|
Log 挂载数据校验完成,开始卸载
|
|
元素点击 ${Mysql_application} 点击进入副本应用界面 定位副本应用界面失败
|
|
元素点击 ${Mysql_unmount} 点击卸载 定位卸载按钮失败
|
|
sleep 3s
|
|
元素点击 ${umount_sure} 卸载确定 定位卸载确定按钮失败
|
|
sleep 3s
|
|
元素点击 ${MysqlCDM_Confirm} 卸载策略下发成功 定位卸载下发成功确定按钮失败
|
|
元素点击 ${Normal_Tab_Work} 切换到作业一栏 定位作业一栏失败
|
|
FOR ${n} IN RANGE 10
|
|
Click Element ${Mysql_refresh}
|
|
${work_status} Run Keyword And Return Status Wait Until Element Is Visible ${Recover_Status}
|
|
Run Keyword If ${work_status}==False Log 卸载未完成
|
|
... ELSE Exit For Loop
|
|
Sleep 30s
|
|
END
|
|
Run Keyword If ${work_status}==False Fail
|
|
... ELSE Log 卸载成功
|
|
sleep 5s
|
|
|
|
挂载校验
|
|
[Arguments] ${ip} ${mport} ${user} ${pwd} ${MysqlDB} #IP\挂载端口号、数据库用户、密码、数据库
|
|
Connect To Database Using Custom Params pymysql host='${ip}',port=${mport},user='${user}',passwd='${pwd}',db='${MysqlDB}',charset= 'utf8'
|
|
Execute Sql String use test;
|
|
${query_result} query select worker from unary;
|
|
Log ${query_result[0][0]}
|
|
Run Keyword If ${query_result[0][0]}==2008 Log 校验成功
|
|
... ELSE Fail
|
|
Execute Sql String drop table unary;
|
|
Disconnect From Database
|
|
Log 断开数据库连接
|