1、提交objects优化关键字(已完成)
2、提交安全策略关键字(未完成)
This commit is contained in:
18
01-TestCase/tsg_ui/ui_security/Security.robot
Normal file
18
01-TestCase/tsg_ui/ui_security/Security.robot
Normal file
@@ -0,0 +1,18 @@
|
||||
*** Settings ***
|
||||
Force Tags tsg-ui objects tags
|
||||
Resource ../../../02-Keyword/tsg_ui/securityPolicy/SecurityPolicy.robot
|
||||
Library OperatingSystem
|
||||
Resource ../../../02-Keyword/tsg_ui/Menu.robot
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
case001
|
||||
Menu policys Security Policy
|
||||
SecurityPolicy.CreateButton
|
||||
SecurityPolicy.Create-name case001
|
||||
SecurityPolicy.Create-action deny
|
||||
#SecurityPolicy.Create-Source-Button
|
||||
#SecurityPolicy.Create-Source type1=Ip CreateOrSearch=Create Add=Address name=zdhip001 ipclienttext1=192.168.100.1 post=1
|
||||
SecurityPolicy.Create-Destination-Button
|
||||
SecurityPolicy.Create-Destination type1=Ip CreateOrSearch=Create Add=Address name=zdhip001 ipclienttext1=192.168.100.1 post=1
|
||||
|
||||
@@ -61,13 +61,24 @@ Create-item
|
||||
... AND Create-ip-ClientIP-text ${ipclienttext1} ${post}
|
||||
run keyword if "${objectform}"=="IP" and "${ip_type}"=="Geography" run keywords click element id=objectAdd_ip1
|
||||
... AND sleep 1
|
||||
... AND click element xpath=//*[@id="policy_Manipulation2"]/div[1]/div[2]/div/form/div[4]/div/div[1]/div[2]
|
||||
... AND click element //*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[4]/div/div[1]/div[2]
|
||||
... AND sleep 1
|
||||
... AND click element xpath=//*[@id="policy_Manipulation2"]/div[1]/div[2]/div/form/div[4]/div/div[1]/div[1]/div[3]
|
||||
... AND Create-Geography ${Country} ${City}
|
||||
... AND sleep 1
|
||||
... AND click element id=interceptionadd_allcancelobject
|
||||
... AND click element id=interceptionadd_allcancelobjec3t
|
||||
... AND sleep 1
|
||||
run keyword if "${objectform}"=="IP" and "${ip_type}"=="IPLearning" run keywords click element id=objectAdd_ip2
|
||||
... AND sleep 1
|
||||
... AND click element xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[4]/div/div[1]
|
||||
... AND sleep 1
|
||||
... AND input text xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[4]/div/div[4]/div/div[1]/div[2]/div[1]/div[1]/form/div[1]/div/div[1]/input ${fqdn}
|
||||
... AND click element xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[5]/div[1]/div/div/div[2]
|
||||
... AND Learn-From-Protocols ${Protocols1}
|
||||
... AND Learning-Depth ${Degree}
|
||||
... AND input text xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[5]/div[3]/div/div[1]/input ${times}
|
||||
... AND input text xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[5]/div[4]/div/div[1]/input ${numbers}
|
||||
... AND sleep 1
|
||||
... AND input text xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[5]/div[5]/div/div[1]/input ${limits}
|
||||
run keyword if "${objectform}"=="FQDN" or "${objectform}"=="URL" or "${objectform}"=="Account" run keywords click element xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[3]/div/div[1]
|
||||
... AND sleep 1
|
||||
... AND Create-keyword-text ${objectform} ${keywordtext}
|
||||
@@ -98,17 +109,17 @@ Create-item--groupadd
|
||||
# Click element xpath=//*[@id="el-popover-2756"]/div[1]/div[2]/div/div[8]/div
|
||||
|
||||
|
||||
run keyword if "${objectform}"=="IP" and "${ip_type}"=="Ip" run keywords click element xpath=//*[@id="policy_Manipulation2"]/div[2]/div[2]/div/form/div[4]/div/div[1]
|
||||
run keyword if "${objectform}"=="IP" and "${ip_type}"=="Ip" run keywords click element xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[4]/div/div/div[2]
|
||||
... AND sleep 1
|
||||
... AND Create-ip-ClientIP-text ${ipclienttext1} ${post}
|
||||
run keyword if "${objectform}"=="IP" and "${ip_type}"=="Geography" run keywords click element xpath=//*[@id="objectAdd_geography"]
|
||||
run keyword if "${objectform}"=="IP" and "${ip_type}"=="Geography" run keywords click element id=objectAdd_ip1
|
||||
... AND sleep 1
|
||||
... AND click element id=objectAddItemAdd
|
||||
... AND click element xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[4]/div/div/div[2]
|
||||
... AND sleep 1
|
||||
... AND Create-Geography ${Country} ${City}
|
||||
... AND sleep 1
|
||||
... AND click element id=interceptionadd_allcancelobject
|
||||
... AND sleep 1
|
||||
... AND click element id=interceptionadd_allcancelobjec3t
|
||||
... AND sleep 1
|
||||
run keyword if "${objectform}"=="FQDN" or "${objectform}"=="SubscriberID" or "${objectform}"=="URL" or "${objectform}"=="Category" or "${objectform}"=="Account" run keywords click element xpath=//*[@id="objects_ip3"]/div[1]/div[2]/form/div[3]/div/div[1]/div[2]/p[2]
|
||||
... AND sleep 1
|
||||
... AND Create-keyword-text-group ${objectform} ${keywordtext}
|
||||
@@ -127,7 +138,29 @@ Create-item--groupadd
|
||||
... AND Create-ReqRes-hexmode ${hex}
|
||||
... AND Create-item-ok ${objectform}
|
||||
|
||||
Learn-From-Protocols
|
||||
[Arguments] ${Protocols1}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${Protocols1}:填入HTTP或SSL或者HTTPSSL
|
||||
... 判断选择用什么样的协议
|
||||
run keyword if "${Protocols1}"=="HTTP" run keywords sleep 1
|
||||
... AND click element xpath=/html/body/div[6]/div[1]/div[1]/ul/li[1]
|
||||
run keyword if "${Protocols1}"=="SSL" run keywords sleep 1
|
||||
... AND click element xpath=/html/body/div[6]/div[1]/div[1]/ul/li[2]
|
||||
run keyword if "${Protocols1}"=="HTTPSSL" run keywords sleep 1
|
||||
... AND click element xpath=/html/body/div[6]/div[1]/div[1]/ul/li[1]
|
||||
... AND sleep 1
|
||||
... AND click element xpath=/html/body/div[6]/div[1]/div[1]/ul/li[2]
|
||||
|
||||
Learning-Depth
|
||||
[Arguments] ${Degree}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${Degree}:填入1Degree或2Degree
|
||||
... 判断是用1Degree或2Degree
|
||||
run keyword if "${Degree}"=="1Degree" run keywords sleep 1
|
||||
... AND click element xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[5]/div[2]/div/div/label[1]
|
||||
run keyword if "${Degree}"=="2Degree" run keywords sleep 1
|
||||
... AND click element xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[5]/div[2]/div/div/label[2]
|
||||
swatches_btn
|
||||
Create-item-Add
|
||||
[Arguments] ${Type}
|
||||
@@ -649,7 +682,7 @@ Cerate-Group-groupadd
|
||||
... AND Create-ok-groupadd
|
||||
... AND Create-Sub-Objects ${object_name}
|
||||
Create-Sub-Objects-groupadd
|
||||
[Arguments] ${buildType} ${groupaddType} ${name} ${objectform} ${groupadd} ${object_name} ${objectform} ${ip_type} ${ipclienttext1} ${keywordtext} ${hex} ${reqrestype} ${reqresheader}
|
||||
[Arguments] ${buildType} ${groupaddType} ${name} ${objectform} ${groupadd} ${object_name} ${ip_type} ${ipclienttext1} ${keywordtext} ${hex} ${reqrestype} ${reqresheader}
|
||||
... ${post} ${Country} ${City}
|
||||
sleep 1
|
||||
click element id=objectAddSubAdd1
|
||||
@@ -658,7 +691,7 @@ Create-Sub-Objects-groupadd
|
||||
Create-name-groupadd ${name}
|
||||
${groupadd} Set Variable close
|
||||
run keyword if "${groupaddType}"=="singletype" NewObject.Create-item--groupadd ${buildType} ${name} ${objectform} ${ip_type} ${ipclienttext1} ${keywordtext} ${hex} ${reqrestype} ${reqresheader} ${post} ${Country} ${City}
|
||||
run keyword if "${groupaddType}"=="grouptype" NewObject.Cerate-Group-groupadd ${buildType} ${name} ${objectform} ${groupadd} ${object_name} ${objectform} ${ip_type} ${ipclienttext1} ${keywordtext} ${hex} ${reqrestype} ${reqresheader} ${post} ${Country} ${City}
|
||||
run keyword if "${groupaddType}"=="grouptype" NewObject.Cerate-Group-groupadd ${buildType} ${name} ${objectform} ${groupadd} ${object_name} ${ip_type} ${ipclienttext1} ${keywordtext} ${hex} ${reqrestype} ${reqresheader} ${post} ${Country} ${City}
|
||||
|
||||
|
||||
Select-ip_type-group
|
||||
@@ -666,7 +699,7 @@ Select-ip_type-group
|
||||
run keyword if "${ip_type}"=="Ip" sleep 1
|
||||
|
||||
run keyword if "${ip_type}"=="Geography" run keywords sleep 1
|
||||
... AND click element xpath=//*[@id="objects_ip3"]/div[1]/div[2]/form/div[3]/div/div/label[2]
|
||||
... AND click element id=objectAdd_ip1
|
||||
... AND sleep 1
|
||||
Select-ip_type
|
||||
[Arguments] ${ip_type}
|
||||
|
||||
@@ -1,259 +1,673 @@
|
||||
*** Settings ***
|
||||
Library Selenium2Library
|
||||
|
||||
*** Keywords ***
|
||||
CreateButton
|
||||
Wait Until Element Is Enabled id=proxyInterception_create
|
||||
sleep 3
|
||||
click element id=proxyInterception_create
|
||||
|
||||
Create-name
|
||||
[Arguments] ${name}
|
||||
sleep 2
|
||||
input text id=interceptionadd_name ${name}
|
||||
|
||||
Create-action
|
||||
[Arguments] ${action}
|
||||
run keyword if "${action}"=="allow" run keywords sleep 1
|
||||
... AND click element id=security_action_Allow
|
||||
... ELSE IF "${action}"=="deny" run keywords sleep 1
|
||||
... AND click element id=security_action_Deny
|
||||
... ELSE IF "${action}"=="monitor" run keywords sleep 1
|
||||
... AND click element id=security_action_Monitor
|
||||
... ELSE IF "${action}"=="intercept" run keywords sleep 1
|
||||
... AND click element id=security_action_Intercept
|
||||
|
||||
Create-Conditions
|
||||
sleep 2
|
||||
click element id=interceptionadd_object
|
||||
|
||||
Create-Conditions-ip
|
||||
[Arguments] ${objname}
|
||||
sleep 2
|
||||
click element id=interceptionadd_procolall1
|
||||
sleep 2
|
||||
SecurityPolicy.SelectOne ${objname}
|
||||
|
||||
Create-Conditions-sub
|
||||
[Arguments] ${objname}
|
||||
sleep 2
|
||||
click element id=interceptionadd_procolall2
|
||||
sleep 2
|
||||
SecurityPolicy.SelectOne ${objname}
|
||||
|
||||
Create-Conditions-protocol
|
||||
[Arguments] ${protocol}
|
||||
sleep 2
|
||||
click element id=interceptionadd_procolall3
|
||||
sleep 2
|
||||
run keyword if '${protocol}'=='http' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange0
|
||||
... ELSE IF '${protocol}'=='ssl' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange1
|
||||
... ELSE IF '${protocol}'=='dns' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange2
|
||||
... ELSE IF '${protocol}'=='mail' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange3
|
||||
... ELSE IF '${protocol}'=='ftp' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange4
|
||||
... ELSE log 协议内容错误
|
||||
|
||||
Create-Conditions-Search
|
||||
[Arguments] ${Search}
|
||||
input text xpath=//*[@id="proxy"]/div[5]/div[2]/div[2]/div/div[1]/input ${Search}
|
||||
sleep 2
|
||||
|
||||
Create-Conditions-Close
|
||||
click button id=interceptionadd_allcancelobject
|
||||
sleep 2
|
||||
|
||||
Create-Tag
|
||||
|
||||
Create-EffectiveDevices
|
||||
|
||||
Create-Schedule
|
||||
|
||||
Create-Log Session
|
||||
|
||||
Create-Description
|
||||
|
||||
Create-Enabled
|
||||
[Arguments] ${state}
|
||||
sleep 2
|
||||
run keyword if "${state}"=="open" run keywords click element id=enablencheck_swith
|
||||
... AND sleep 2
|
||||
... AND click button id=interceptionadd-enable-confirm
|
||||
|
||||
Create-ok
|
||||
execute javascript document.documentElement.scrollTop=1000
|
||||
sleep 2
|
||||
click button id=interceptionadd_sub
|
||||
sleep 1
|
||||
execute javascript document.documentElement.scrollTop=0
|
||||
|
||||
Create-cancel
|
||||
click button id=interceptionadd_back
|
||||
|
||||
Create-Conditions-obj
|
||||
[Arguments] ${action} ${protocol} ${objtype} ${objname} ${objtype1}=null
|
||||
run keyword if '${action}'=='allow' and '${protocol}'=='http' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange0
|
||||
... AND Create-Conditions-allow&intercept-http ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='intercept' and '${protocol}'=='http' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange0
|
||||
... AND Create-Conditions-allow&intercept-http ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='allow' and '${protocol}'=='ssl' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange1
|
||||
... AND Create-Conditions-allow&intercept-ssl ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='intercept' and '${protocol}'=='ssl' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange1
|
||||
... AND Create-Conditions-allow&intercept-ssl ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='deny' and '${protocol}'=='http' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange0
|
||||
... AND Create-Conditions-deny&monitor-http ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='monitor' and '${protocol}'=='http' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange0
|
||||
... AND Create-Conditions-deny&monitor-http ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='deny' and '${protocol}'=='ssl' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange1
|
||||
... AND Create-Conditions-deny&monitor-ssl ${objtype1} ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='monitor' and '${protocol}'=='ssl' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange1
|
||||
... AND Create-Conditions-deny&monitor-ssl ${objtype1} ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='deny' and '${protocol}'=='dns' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange2
|
||||
... AND Create-Conditions-deny&monitor-dns ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='monitor' and '${protocol}'=='dns' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange2
|
||||
... AND Create-Conditions-deny&monitor-dns ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='deny' and '${protocol}'=='mail' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange3
|
||||
... AND Create-Conditions-deny&monitor-mail ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='monitor' and '${protocol}'=='mail' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange3
|
||||
... AND Create-Conditions-deny&monitor-mail ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='deny' and '${protocol}'=='ftp' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange4
|
||||
... AND Create-Conditions-deny&monitor-ftp ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='monitor' and '${protocol}'=='ftp' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange4
|
||||
... AND Create-Conditions-deny&monitor-ftp ${objtype} ${objname}
|
||||
... ELSE log 对象错误
|
||||
|
||||
Create-Conditions-allow&intercept-http
|
||||
[Arguments] ${objtype} ${objname}
|
||||
sleep 2
|
||||
run keyword if '${objtype}'=='Fqdn' run keywords click element xpath=//*[@id="interceptionadd_pro0"]/div[2]
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='Category' run keywords click element xpath=//*[@id="interceptionadd_pro0"]/div[3]
|
||||
... AND sleep 2
|
||||
... ELSE log 对象错误
|
||||
SecurityPolicy.SelectOne ${objname}
|
||||
|
||||
Create-Conditions-allow&intercept-ssl
|
||||
[Arguments] ${objtype} ${objname}
|
||||
sleep 2
|
||||
run keyword if '${objtype}'=='Fqdn' run keywords click element xpath=//*[@id="interceptionadd_pro0"]/div[2]
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='Category' run keywords click element xpath=//*[@id="interceptionadd_pro0"]/div[3]
|
||||
... AND sleep 2
|
||||
... ELSE log 对象错误
|
||||
SecurityPolicy.SelectOne ${objname}
|
||||
|
||||
Create-Conditions-deny&monitor-http
|
||||
[Arguments] ${objtype} ${objname}
|
||||
sleep 2
|
||||
run keyword if '${objtype}'=='Fqdn' run keywords click element xpath=//*[@id="interceptionadd_pro0"]/div[2]
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='Category' run keywords click element xpath=//*[@id="interceptionadd_pro0"]/div[3]
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='Url' run keywords click element id=interceptionadd_pro1
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='Reqhdr' run keywords click element id=interceptionadd_pro2
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='Reshdr' run keywords click element id=interceptionadd_pro3
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='Reqbody' run keywords click element id=interceptionadd_pro4
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='Resbody' run keywords click element id=interceptionadd_pro5
|
||||
... AND sleep 2
|
||||
... ELSE log 对象错误
|
||||
SecurityPolicy.SelectOne ${objname}
|
||||
|
||||
Create-Conditions-deny&monitor-ssl
|
||||
[Arguments] ${objtype1} ${objtype} ${objname}
|
||||
sleep 2
|
||||
run keyword if '${objtype1}'=='sni' and '${objtype}'=='Fqdn' run keywords click element xpath=//*[@id="interceptionadd_pro0"]/div[2]
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype1}'=='sni' and '${objtype}'=='Category' run keywords click element xpath=//*[@id="interceptionadd_pro0"]/div[3]
|
||||
... AND sleep 2
|
||||
... ELSE IF ${objtype1}'=='cn' and ${objtype}'=='Fqdn' run keywords click element id=interceptionadd_pro1
|
||||
... AND sleep 2
|
||||
... AND click element xpath=//*[@id="interceptionadd_pro1"]/div[2]
|
||||
... AND sleep 2
|
||||
... ELSE IF ${objtype1}'=='cn' and${objtype}'=='Category' run keywords click element id=interceptionadd_pro1
|
||||
... AND sleep 2
|
||||
... AND click element xpath=//*[@id="interceptionadd_pro1"]/div[3]
|
||||
... AND sleep 2
|
||||
... ELSE IF ${objtype1}'=='san' and ${objtype}'=='Fqdn' run keywords click element id=interceptionadd_pro2
|
||||
... AND sleep 2
|
||||
... AND click element xpath=//*[@id="interceptionadd_pro2"]/div[2]
|
||||
... AND sleep 2
|
||||
... ELSE IF ${objtype1}'=='san' and ${objtype}'=='Category' run keywords click element id=interceptionadd_pro2
|
||||
... AND sleep 2
|
||||
... AND click element xpath=//*[@id="interceptionadd_pro2"]/div[3]
|
||||
... AND sleep 2
|
||||
... ELSE log 对象错误
|
||||
SecurityPolicy.SelectOne ${objname}
|
||||
|
||||
Create-Conditions-deny&monitor-dns
|
||||
[Arguments] ${objtype} ${objname}
|
||||
sleep 2
|
||||
run keyword if '${objtype}'=='Fqdn' run keywords click element xpath=//*[@id="interceptionadd_pro0"]/div[2]
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='Category' run keywords click element xpath=//*[@id="interceptionadd_pro0"]/div[3]
|
||||
... AND sleep 2
|
||||
... ELSE log 对象错误
|
||||
SecurityPolicy.SelectOne ${objname}
|
||||
|
||||
Create-Conditions-deny&monitor-mail
|
||||
[Arguments] ${objtype} ${objname}
|
||||
sleep 2
|
||||
run keyword if '${objtype}'=='Subject' run keywords click element id=interceptionadd_pro0
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='Content' run keywords click element id=interceptionadd_pro1
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='ATT Name' run keywords click element id=interceptionadd_pro2
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='ATT CONT' run keywords click element id=interceptionadd_pro3
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='From' run keywords click element id=interceptionadd_pro4
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='To' run keywords click element id=interceptionadd_pro5
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='Account' run keywords click element id=interceptionadd_pro6
|
||||
... AND sleep 2
|
||||
... ELSE log 对象错误
|
||||
SecurityPolicy.SelectOne ${objname}
|
||||
|
||||
Create-Conditions-deny&monitor-ftp
|
||||
[Arguments] ${objtype} ${objname}
|
||||
sleep 2
|
||||
run keyword if '${objtype}'=='url' run keywords click element id=interceptionadd_pro0
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='content' run keywords click element id=interceptionadd_pro1
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='account' run keywords click element id=interceptionadd_pro2
|
||||
... AND sleep 2
|
||||
... ELSE log 对象错误
|
||||
SecurityPolicy.SelectOne ${objname}
|
||||
|
||||
SelectOne
|
||||
[Arguments] ${objname}
|
||||
sleep 2
|
||||
log ${objname}
|
||||
input text xpath=//*[@id="condistions_protocol"]/div[2]/div[2]/div/div[1]/input ${objname}
|
||||
sleep 1
|
||||
press keys xpath=//*[@id="condistions_protocol"]/div[2]/div[2]/div/div[1]/input ENTER
|
||||
sleep 2
|
||||
click element xpath=//*[@id="interceptionadd_checkouobject"]/ul/li[1]
|
||||
*** Settings ***
|
||||
Library Selenium2Library
|
||||
Resource ../objects/NewObject.robot
|
||||
|
||||
*** Keywords ***
|
||||
CreateButton
|
||||
[Documentation] 点击安全策略中的Create按钮
|
||||
Wait Until Element Is Enabled id=app_create
|
||||
sleep 3
|
||||
click element id=app_create
|
||||
|
||||
Create-name
|
||||
[Arguments] ${name}
|
||||
[Documentation] 输入name
|
||||
sleep 2
|
||||
input text id=interceptionadd_name ${name}
|
||||
|
||||
Create-action
|
||||
[Arguments] ${action}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${action}:填入allow或deny或monitor或intercept
|
||||
... 判断要创建什么动作的策略
|
||||
sleep 1
|
||||
run keyword if "${action}"=="allow" run keywords sleep 1
|
||||
... AND click element id=security_action_allow
|
||||
... ELSE IF "${action}"=="deny" run keywords sleep 1
|
||||
... AND click element id=security_action_deny
|
||||
... ELSE IF "${action}"=="monitor" run keywords sleep 1
|
||||
... AND click element id=security_action_monitor
|
||||
... ELSE IF "${action}"=="intercept" run keywords sleep 1
|
||||
... AND click element id=security_action_intercept
|
||||
|
||||
Create-Source-Button
|
||||
[Documentation] 点击Source的加号
|
||||
sleep 2
|
||||
click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[4]/div[1]/div/div
|
||||
|
||||
Create-Destination-Button
|
||||
[Documentation] 点击Destination的加号
|
||||
sleep 2
|
||||
click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[5]/div[1]/div/div
|
||||
Create-Application-Button
|
||||
[Documentation] 点击Application的加号
|
||||
sleep 2
|
||||
click element id=interceptionadd_application
|
||||
|
||||
ApplicationSearch
|
||||
[Arguments] ${Application}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${Application}:填入是Application的内容,例如SSL或HTTP
|
||||
... 选择search对象
|
||||
input text xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[5]/div[2]/div[2]/div/div[1]/input ${i}
|
||||
sleep 1
|
||||
press keys xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[5]/div[2]/div[2]/div/div[1]/input ENTER
|
||||
sleep 1
|
||||
click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[5]/div[2]/div[2]/div/div[2]/div/div/ul/li[1]
|
||||
sleep 1
|
||||
|
||||
Create-Source
|
||||
[Arguments] ${type1}=null ${CreateOrSearch}=null ${Add}=null ${name}=null
|
||||
... ${object_name}=null ${ipclienttext1}=null ${post}=null ${Country}=null ${City}=null
|
||||
... ${Protocols1}=null ${Degree}=null ${times}=null ${numbers}=null ${limits}=null ${keywordtext}=null
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${type1}:填入Ip或SUBID或Geography或IPLearning
|
||||
... ${CreateOrSearch}:填入Create或者Search
|
||||
... ${Add}:填入Address或Group
|
||||
... ${name}:名称
|
||||
... ${ip_type}:填入Ip或者Geography或者IPLearning
|
||||
... ${ipclienttext1}:填入IPV4或6的值或range的ip段
|
||||
... ${post}:填入端口
|
||||
... ${Country}:列表形式,列表中是国家名字
|
||||
... ${City}:列表形式,列表中是城市名字
|
||||
... ${Protocols1}:填入HTTP或SSL或HTTPSSL
|
||||
... ${Degree}:填入1Degree或2Degree
|
||||
... ${times}:填入小时数,例如1或2
|
||||
... ${numbers}:填入数值,例如1或10000
|
||||
... ${limits}:填入数值,例如1或10000
|
||||
... ${object_name}:列表形式,列表中是对象的名字
|
||||
... ${keywordtext}:填入新建subid的内容
|
||||
... 判断新建source选择用什么样的类型数据
|
||||
run keyword if "${type1}"=="Ip" run keywords sleep 1
|
||||
... AND click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[4]/div[2]/div[1]/div[2]/div[1]/div/div/div/div[1]/div/div/div/div[1]
|
||||
... AND sleep 1
|
||||
... AND sleep 1
|
||||
... AND SourceSourceIPCreateOrSearch ${CreateOrSearch} ${Add} ${type1} ${name} ${object_name} ${ipclienttext1} ${post} ${Country} ${City} ${Protocols1} ${Degree} ${times} ${numbers} ${limits}
|
||||
... ELSE IF "${type1}"=="SUBID" run keywords sleep 1
|
||||
... AND click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[4]/div[2]/div[1]/div[2]/div[1]/div/div/div/div[1]/div/div/div/div[2]
|
||||
... AND sleep 1
|
||||
... AND SUBIDCreateOrSearch ${name} ${keywordtext} ${object_name}
|
||||
... ELSE IF "${type1}"=="Geography" run keywords sleep 1
|
||||
... AND click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[4]/div[2]/div[1]/div[2]/div[1]/div/div/div/div[1]/div/div/div/div[3]
|
||||
... AND sleep 1
|
||||
... AND SourceIPCreateOrSearch ${CreateOrSearch} ${Add} ${type1} ${name} ${object_name} ${ipclienttext1} ${post} ${Country} ${City} ${Protocols1} ${Degree} ${times} ${numbers} ${limits}
|
||||
... ELSE IF "${type1}"=="IPLearning" run keywords sleep 1
|
||||
... AND click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[4]/div[2]/div[1]/div[2]/div[1]/div/div/div/div[1]/div/div/div/div[4]
|
||||
... AND sleep 1
|
||||
... AND SourceIPCreateOrSearch ${CreateOrSearch} ${Add} ${type1} ${name} ${object_name} ${ipclienttext1} ${post} ${Country} ${City} ${Protocols1} ${Degree} ${times} ${numbers} ${limits}
|
||||
|
||||
Create-Destination
|
||||
[Arguments] ${type1}=null ${CreateOrSearch}=null ${Add}=null ${name}=null
|
||||
... ${object_name}=null ${ipclienttext1}=null ${post}=null ${Country}=null ${City}=null
|
||||
... ${Protocols1}=null ${Degree}=null ${times}=null ${numbers}=null ${limits}=null ${keywordtext}=null
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${type1}:填入Ip或SUBID或Geography或IPLearning
|
||||
... ${CreateOrSearch}:填入Create或者Search
|
||||
... ${Add}:填入Address或Group
|
||||
... ${name}:名称
|
||||
... ${ip_type}:填入Ip或者Geography或者IPLearning
|
||||
... ${ipclienttext1}:填入IPV4或6的值或range的ip段
|
||||
... ${post}:填入端口
|
||||
... ${Country}:列表形式,列表中是国家名字
|
||||
... ${City}:列表形式,列表中是城市名字
|
||||
... ${Protocols1}:填入HTTP或SSL或HTTPSSL
|
||||
... ${Degree}:填入1Degree或2Degree
|
||||
... ${times}:填入小时数,例如1或2
|
||||
... ${numbers}:填入数值,例如1或10000
|
||||
... ${limits}:填入数值,例如1或10000
|
||||
... ${object_name}:列表形式,列表中是对象的名字
|
||||
... ${keywordtext}:填入新建subid的内容
|
||||
... 判断新建source选择用什么样的类型数据
|
||||
run keyword if "${type1}"=="Ip" run keywords sleep 1
|
||||
... AND click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[5]/div[2]/div[1]/div[2]/div[1]/div/div/div/div[1]/div/div/div/div[1]
|
||||
... AND sleep 1
|
||||
... AND sleep 1
|
||||
... AND DestinationIPCreateOrSearch ${CreateOrSearch} ${Add} ${type1} ${name} ${object_name} ${ipclienttext1} ${post} ${Country} ${City} ${Protocols1} ${Degree} ${times} ${numbers} ${limits}
|
||||
... ELSE IF "${type1}"=="Geography" run keywords sleep 1
|
||||
... AND click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[5]/div[2]/div[1]/div[2]/div[1]/div/div/div/div[1]/div/div/div/div[3]
|
||||
... AND sleep 1
|
||||
... AND DestinationIPCreateOrSearch ${CreateOrSearch} ${Add} ${type1} ${name} ${object_name} ${ipclienttext1} ${post} ${Country} ${City} ${Protocols1} ${Degree} ${times} ${numbers} ${limits}
|
||||
... ELSE IF "${type1}"=="IPLearning" run keywords sleep 1
|
||||
... AND click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[5]/div[2]/div[1]/div[2]/div[1]/div/div/div/div[1]/div/div/div/div[4]
|
||||
... AND sleep 1
|
||||
... AND DestinationCreateOrSearch ${CreateOrSearch} ${Add} ${type1} ${name} ${object_name} ${ipclienttext1} ${post} ${Country} ${City} ${Protocols1} ${Degree} ${times} ${numbers} ${limits}
|
||||
|
||||
|
||||
SourceIPCreateOrSearch
|
||||
[Arguments] ${CreateOrSearch} ${Add} ${ip_type} ${name} ${object_name} ${ipclienttext1}
|
||||
... ${post} ${Country} ${City} ${Protocols1} ${Degree} ${times} ${numbers} ${limits}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${CreateOrSearch}:填入Create或者Search
|
||||
... ${Add}:填入Address或Group
|
||||
... ${name}:名称
|
||||
... ${ip_type}:填入Ip或者Geography或者IPLearning
|
||||
... ${ipclienttext1}:填入IPV4或6的值或range的ip段
|
||||
... ${post}:填入端口
|
||||
... ${Country}:列表形式,列表中是国家名字
|
||||
... ${City}:列表形式,列表中是城市名字
|
||||
... ${Protocols1}:填入HTTP或SSL或HTTPSSL
|
||||
... ${Degree}:填入1Degree或2Degree
|
||||
... ${times}:填入小时数,例如1或2
|
||||
... ${numbers}:填入数值,例如1或10000
|
||||
... ${limits}:填入数值,例如1或10000
|
||||
... ${object_name}:列表形式,列表中是对象的名字
|
||||
... 判断是新建ip还是搜索添加ip
|
||||
run keyword if "${CreateOrSearch}"=="Create" run keywords sleep 1
|
||||
... AND click element id=interceptionadd_proaddaddSource
|
||||
... AND SourceIPAdd ${Add} ${ip_type} ${name} ${object_name} ${ipclienttext1} ${post} ${Country} ${City} ${Protocols1} ${Degree} ${times} ${numbers} ${limits}
|
||||
... ELSE IF "${CreateOrSearch}"=="Search" run keywords sleep 1
|
||||
... AND SourceSearchSearch ${object_name}
|
||||
SUBIDCreateOrSearch
|
||||
[Arguments] ${name} ${keywordtext} ${object_name}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${CreateOrSearch}:填入Create或者Search
|
||||
... ${name}:名称
|
||||
... ${keywordtext}:填入新建subid的内容
|
||||
... ${object_name}:列表形式,列表中是对象的名字
|
||||
... 判断是新建subid还是搜索添加subid
|
||||
run keyword if "${CreateOrSearch}"=="Create" run keywords sleep 1
|
||||
... AND click element id=interceptionadd_proaddaddSource
|
||||
... AND SUBIDAdd ${Add} ${name} ${keywordtext} ${object_name}
|
||||
... ELSE IF "${CreateOrSearch}"=="Search" run keywords sleep 1
|
||||
... AND SourceSearchSearch ${object_name}
|
||||
DestinationIPCreateOrSearch
|
||||
[Arguments] ${CreateOrSearch} ${Add} ${ip_type} ${name} ${object_name} ${ipclienttext1}
|
||||
... ${post} ${Country} ${City} ${Protocols1} ${Degree} ${times} ${numbers} ${limits}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${CreateOrSearch}:填入Create或者Search
|
||||
... ${Add}:填入Address或Group
|
||||
... ${name}:名称
|
||||
... ${ip_type}:填入Ip或者Geography或者IPLearning
|
||||
... ${ipclienttext1}:填入IPV4或6的值或range的ip段
|
||||
... ${post}:填入端口
|
||||
... ${Country}:列表形式,列表中是国家名字
|
||||
... ${City}:列表形式,列表中是城市名字
|
||||
... ${Protocols1}:填入HTTP或SSL或HTTPSSL
|
||||
... ${Degree}:填入1Degree或2Degree
|
||||
... ${times}:填入小时数,例如1或2
|
||||
... ${numbers}:填入数值,例如1或10000
|
||||
... ${limits}:填入数值,例如1或10000
|
||||
... ${object_name}:列表形式,列表中是对象的名字
|
||||
... 判断是新建ip还是搜索添加ip
|
||||
run keyword if "${CreateOrSearch}"=="Create" run keywords sleep 1
|
||||
... AND click element id=interceptionadd_proaddaddDestination
|
||||
... AND DestinationIPAdd ${Add} ${ip_type} ${name} ${object_name} ${ipclienttext1} ${post} ${Country} ${City} ${Protocols1} ${Degree} ${times} ${numbers} ${limits}
|
||||
... ELSE IF "${CreateOrSearch}"=="Search" run keywords sleep 1
|
||||
... AND DestinationSearch ${object_name}
|
||||
SourceSearch
|
||||
[Arguments] ${name}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${name}:填入是一个列表,列表内容为source的name
|
||||
... 选择search对象
|
||||
FOR ${i} IN @{name}
|
||||
input text xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[4]/div[2]/div[1]/div[2]/div[2]/div/div[1]/input ${i}
|
||||
sleep 1
|
||||
press keys xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[4]/div[2]/div[1]/div[2]/div[2]/div/div[1]/input ENTER
|
||||
sleep 1
|
||||
click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[4]/div[2]/div[1]/div[2]/div[2]/div/div[2]/div/div/ul/li[1]
|
||||
sleep 1
|
||||
END
|
||||
DestinationSearch
|
||||
[Arguments] ${name}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${name}:填入是一个列表,列表内容为source的name
|
||||
... 选择search对象
|
||||
FOR ${i} IN @{name}
|
||||
input text xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[5]/div[2]/div[1]/div[2]/div[2]/div/div[1]/input ${i}
|
||||
sleep 1
|
||||
press keys xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[5]/div[2]/div[1]/div[2]/div[2]/div/div[1]/input ENTER
|
||||
sleep 1
|
||||
click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[5]/div[2]/div[1]/div[2]/div[2]/div/div[2]/div/div/ul/li[1]
|
||||
sleep 1
|
||||
END
|
||||
SUBIDAdd
|
||||
[Arguments] ${Add} ${name} ${keywordtext} ${object_name}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${Add}:填入Address或Group
|
||||
... ${name}:名称
|
||||
... ${keywordtext}:填入新建subid的内容
|
||||
... ${object_name}:列表形式,列表中是对象的名字
|
||||
... 判断是新建subid还是新建subid分组
|
||||
run keyword if "${Add}"=="Address" run keywords sleep 1
|
||||
... AND click element xpath=/html/body/ul/li[1]
|
||||
... AND sleep 1
|
||||
... AND SUBAddress ${name} ${keywordtext}
|
||||
... ELSE IF "${Add}"=="Group" run keywords sleep 1
|
||||
... AND click element xpath=/html/body/ul/li[2]
|
||||
... AND sleep 1
|
||||
... AND SUBGroupAdd ${name} ${object_name}
|
||||
SUBAddress
|
||||
[Arguments] ${name} ${keywordtext}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${name}:名称
|
||||
... ${keywordtext}:填入新建subid的内容
|
||||
... 新建subid
|
||||
SourceCreate-name ${name}
|
||||
click element xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[3]/div/div[1]/i
|
||||
sleep 1
|
||||
Create-SubscriberID-text ${keywordtext}
|
||||
sleep 1
|
||||
|
||||
SUBGroupAdd
|
||||
[Arguments] ${name} ${object_name}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${name}:名称
|
||||
... ${object_name}:列表形式,列表中是对象的名字
|
||||
... 新建subid分组
|
||||
SourceCreate-name ${name}
|
||||
click element xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[3]/div/div/div[2]
|
||||
sleep 1
|
||||
Create-Sub-Objects ${object_name}
|
||||
NewObject.Create-ok
|
||||
SourceIPAdd
|
||||
[Arguments] ${Add} ${ip_type} ${name} ${object_name} ${ipclienttext1} ${post} ${Country} ${City} ${Protocols1} ${Degree} ${times} ${numbers} ${limits}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${Add}:填入Address或Group
|
||||
... ${ip_type}:填入IP或者Geography或者IPLearning
|
||||
... 判断是新建ip还是新建ip分组
|
||||
run keyword if "${Add}"=="Address" run keywords sleep 1
|
||||
... AND click element xpath=/html/body/ul/li[1]
|
||||
... AND sleep 1
|
||||
... AND IPAddress ${name} ${ip_type} ${ipclienttext1} ${post} ${Country} ${City} ${Protocols1} ${Degree} ${times} ${numbers} ${limits}
|
||||
... ELSE IF "${Add}"=="Group" run keywords sleep 1
|
||||
... AND click element xpath=/html/body/ul/li[2]
|
||||
... AND sleep 1
|
||||
... AND IPGroupAdd ${name} ${ip_type} ${object_name}
|
||||
SourceIPAddress
|
||||
[Arguments] ${name} ${ip_type} ${ipclienttext1} ${post} ${Country} ${City} ${Protocols1} ${Degree} ${times} ${numbers} ${limits}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${name}:名称
|
||||
... ${ip_type}:填入Ip或者Geography或者IPLearning
|
||||
... ${ipclienttext1}:填入IPV4或6的值或range的ip段
|
||||
... ${post}:填入端口
|
||||
... ${Country}:列表形式,列表中是国家名字
|
||||
... ${City}:列表形式,列表中是城市名字
|
||||
... ${Protocols1}:填入HTTP或SSL或HTTPSSL
|
||||
... ${Degree}:填入1Degree或2Degree
|
||||
... ${times}:填入小时数,例如1或2
|
||||
... ${numbers}:填入数值,例如1或10000
|
||||
... ${limits}:填入数值,例如1或10000
|
||||
... 判断 新建选择用什么样的类型,并进行新建
|
||||
SourceCreate-name ${name}
|
||||
sleep 1
|
||||
run keyword if "${ip_type}"=="Ip" run keywords click element xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[4]/div/div[1]
|
||||
... AND sleep 1
|
||||
... AND NewObject.Create-ip-ClientIP-text ${ipclienttext1} ${post}
|
||||
run keyword if "${ip_type}"=="Geography" run keywords click element id=objectAdd_ip1
|
||||
... AND sleep 1
|
||||
... AND click element xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[4]/div/div[1]/div[2]
|
||||
... AND sleep 1
|
||||
... AND NewObject.Create-Geography ${Country} ${City}
|
||||
... AND sleep 1
|
||||
... AND click element id=interceptionadd_allcancelobjec3t
|
||||
... AND sleep 1
|
||||
run keyword if "${ip_type}"=="IPLearning" run keywords click element id=objectAdd_ip2
|
||||
... AND sleep 1
|
||||
... AND click element xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[4]/div/div[1]
|
||||
... AND sleep 1
|
||||
... AND input text xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[4]/div/div[4]/div/div[1]/div[2]/div[1]/div[1]/form/div[1]/div/div[1]/input ${fqdn}
|
||||
... AND sleep 1
|
||||
... AND click element xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[5]/div[1]/div/div/div[2]
|
||||
... AND sleep 1
|
||||
... AND Learn-From-Protocols ${Protocols1}
|
||||
... AND Learning-Depth ${Degree}
|
||||
... AND sleep 1
|
||||
... AND input text xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[5]/div[3]/div/div[1]/input ${times}
|
||||
... AND sleep 1
|
||||
... AND input text xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[5]/div[4]/div/div[1]/input ${numbers}
|
||||
... AND sleep 1
|
||||
... AND input text xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[5]/div[5]/div/div[1]/input ${limits}
|
||||
... AND sleep 1
|
||||
SourceCreate-ok
|
||||
|
||||
DestinationIPAdd
|
||||
[Arguments] ${Add} ${ip_type} ${name} ${object_name} ${ipclienttext1} ${post} ${Country} ${City} ${Protocols1} ${Degree} ${times} ${numbers} ${limits}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${Add}:填入Address或Group
|
||||
... ${ip_type}:填入IP或者Geography或者IPLearning
|
||||
... 判断是新建ip还是新建ip分组
|
||||
run keyword if "${Add}"=="Address" run keywords sleep 1
|
||||
... AND click element xpath=/html/body/ul/li[1]
|
||||
... AND sleep 1
|
||||
... AND DestinationIPAddress ${name} ${ip_type} ${ipclienttext1} ${post} ${Country} ${City} ${Protocols1} ${Degree} ${times} ${numbers} ${limits}
|
||||
... ELSE IF "${Add}"=="Group" run keywords sleep 1
|
||||
... AND click element xpath=/html/body/ul/li[2]
|
||||
... AND sleep 1
|
||||
... AND IPGroupAdd ${name} ${ip_type} ${object_name}
|
||||
DestinationIPAddress
|
||||
[Arguments] ${name} ${ip_type} ${ipclienttext1} ${post} ${Country} ${City} ${Protocols1} ${Degree} ${times} ${numbers} ${limits}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${name}:名称
|
||||
... ${ip_type}:填入Ip或者Geography或者IPLearning
|
||||
... ${ipclienttext1}:填入IPV4或6的值或range的ip段
|
||||
... ${post}:填入端口
|
||||
... ${Country}:列表形式,列表中是国家名字
|
||||
... ${City}:列表形式,列表中是城市名字
|
||||
... ${Protocols1}:填入HTTP或SSL或HTTPSSL
|
||||
... ${Degree}:填入1Degree或2Degree
|
||||
... ${times}:填入小时数,例如1或2
|
||||
... ${numbers}:填入数值,例如1或10000
|
||||
... ${limits}:填入数值,例如1或10000
|
||||
... 判断 新建选择用什么样的类型,并进行新建
|
||||
DestinationCreate-name ${name}
|
||||
sleep 1
|
||||
run keyword if "${ip_type}"=="Ip" run keywords click element xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[4]/div/div[1]
|
||||
... AND sleep 1
|
||||
... AND NewObject.Create-ip-ClientIP-text ${ipclienttext1} ${post}
|
||||
run keyword if "${ip_type}"=="Geography" run keywords click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[5]/div[2]/div[2]/div/div[1]/div[1]/div[2]/form/div[3]/div/div/label[2]
|
||||
... AND sleep 1
|
||||
... AND click element xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[4]/div/div[1]/div[2]
|
||||
... AND sleep 1
|
||||
... AND NewObject.Create-Geography ${Country} ${City}
|
||||
... AND sleep 1
|
||||
... AND click element id=interceptionadd_allcancelobjec3t
|
||||
... AND sleep 1
|
||||
run keyword if "${ip_type}"=="IPLearning" run keywords click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[5]/div[2]/div[2]/div/div[1]/div[1]/div[2]/form/div[3]/div/div/label[3]
|
||||
... AND sleep 1
|
||||
... AND click element xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[4]/div/div[1]
|
||||
... AND sleep 1
|
||||
... AND input text xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[4]/div/div[4]/div/div[1]/div[2]/div[1]/div[1]/form/div[1]/div/div[1]/input ${fqdn}
|
||||
... AND sleep 1
|
||||
... AND click element xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[5]/div[1]/div/div/div[2]
|
||||
... AND sleep 1
|
||||
... AND Learn-From-Protocols ${Protocols1}
|
||||
... AND Learning-Depth ${Degree}
|
||||
... AND sleep 1
|
||||
... AND input text xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[5]/div[3]/div/div[1]/input ${times}
|
||||
... AND sleep 1
|
||||
... AND input text xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[5]/div[4]/div/div[1]/input ${numbers}
|
||||
... AND sleep 1
|
||||
... AND input text xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[5]/div[5]/div/div[1]/input ${limits}
|
||||
... AND sleep 1
|
||||
DestinationCreate-ok
|
||||
Learn-From-Protocols
|
||||
[Arguments] ${Protocols1}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${Protocols1}:填入HTTP或SSL或者HTTPSSL
|
||||
... 判断选择用什么样的协议
|
||||
run keyword if "${Protocols1}"=="HTTP" run keywords sleep 1
|
||||
... AND click element xpath=/html/body/div[6]/div[1]/div[1]/ul/li[1]
|
||||
run keyword if "${Protocols1}"=="SSL" run keywords sleep 1
|
||||
... AND click element xpath=/html/body/div[6]/div[1]/div[1]/ul/li[2]
|
||||
run keyword if "${Protocols1}"=="HTTPSSL" run keywords sleep 1
|
||||
... AND click element xpath=/html/body/div[6]/div[1]/div[1]/ul/li[1]
|
||||
... AND sleep 1
|
||||
... AND click element xpath=/html/body/div[6]/div[1]/div[1]/ul/li[2]
|
||||
|
||||
Learning-Depth
|
||||
[Arguments] ${Degree}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${Degree}:填入1Degree或2Degree
|
||||
... 判断是用1Degree或2Degree
|
||||
run keyword if "${Degree}"=="1Degree" run keywords sleep 1
|
||||
... AND click element xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[5]/div[2]/div/div/label[1]
|
||||
run keyword if "${Degree}"=="2Degree" run keywords sleep 1
|
||||
... AND click element xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[5]/div[2]/div/div/label[2]
|
||||
|
||||
IPGroupAdd
|
||||
[Arguments] ${name} ${ip_type} ${object_name}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${name}:名称
|
||||
... ${ip_type}:填入Ip或者Geography
|
||||
... ${object_name}:列表形式,列表中是对象的名字
|
||||
SourceCreate-name ${name}
|
||||
Select-ip_type ${ip_type}
|
||||
sleep 1
|
||||
click element xpath=//*[@id="policy_Manipulation2"]/div[1]/div[1]/div[2]/form/div[4]/div/div/div[2]
|
||||
Create-Sub-Objects ${object_name}
|
||||
NewObject.Create-ok
|
||||
|
||||
SourceCreate-name
|
||||
[Arguments] ${objName}
|
||||
sleep 2
|
||||
input text id=objectAdd_name ${objName}
|
||||
|
||||
SourceCreate-ok
|
||||
sleep 2
|
||||
click button id=objectAdd_ok
|
||||
|
||||
DestinationCreate-name
|
||||
[Arguments] ${objName}
|
||||
sleep 2
|
||||
input text xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[5]/div[2]/div[2]/div/div[1]/div[1]/div[2]/form/div[1]/div/div[1]/input ${objName}
|
||||
|
||||
DestinationCreate-ok
|
||||
sleep 2
|
||||
click button xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[5]/div[2]/div[2]/div/div[2]/button[1]
|
||||
|
||||
|
||||
|
||||
Create-Conditions
|
||||
sleep 2
|
||||
click element id=interceptionadd_object
|
||||
|
||||
Create-Conditions-ip
|
||||
[Arguments] ${objname}
|
||||
sleep 2
|
||||
click element id=interceptionadd_procolall1
|
||||
sleep 2
|
||||
SecurityPolicy.SelectOne ${objname}
|
||||
|
||||
Create-Conditions-sub
|
||||
[Arguments] ${objname}
|
||||
sleep 2
|
||||
click element id=interceptionadd_procolall2
|
||||
sleep 2
|
||||
SecurityPolicy.SelectOne ${objname}
|
||||
|
||||
Create-Conditions-protocol
|
||||
[Arguments] ${protocol}
|
||||
sleep 2
|
||||
click element id=interceptionadd_procolall3
|
||||
sleep 2
|
||||
run keyword if '${protocol}'=='http' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange0
|
||||
... ELSE IF '${protocol}'=='ssl' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange1
|
||||
... ELSE IF '${protocol}'=='dns' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange2
|
||||
... ELSE IF '${protocol}'=='mail' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange3
|
||||
... ELSE IF '${protocol}'=='ftp' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange4
|
||||
... ELSE log 协议内容错误
|
||||
|
||||
Create-Conditions-Search
|
||||
[Arguments] ${Search}
|
||||
input text xpath=//*[@id="proxy"]/div[5]/div[2]/div[2]/div/div[1]/input ${Search}
|
||||
sleep 2
|
||||
|
||||
Create-Conditions-Close
|
||||
click button id=interceptionadd_allcancelobject
|
||||
sleep 2
|
||||
|
||||
Create-Tag
|
||||
|
||||
Create-EffectiveDevices
|
||||
|
||||
Create-Schedule
|
||||
|
||||
Create-Log Session
|
||||
|
||||
Create-Description
|
||||
|
||||
Create-Enabled
|
||||
[Arguments] ${state}
|
||||
sleep 2
|
||||
run keyword if "${state}"=="open" run keywords click element id=enablencheck_swith
|
||||
... AND sleep 2
|
||||
... AND click button id=interceptionadd-enable-confirm
|
||||
|
||||
Create-ok
|
||||
execute javascript document.documentElement.scrollTop=1000
|
||||
sleep 2
|
||||
click button id=interceptionadd_sub
|
||||
sleep 1
|
||||
execute javascript document.documentElement.scrollTop=0
|
||||
|
||||
Create-cancel
|
||||
click button id=interceptionadd_back
|
||||
|
||||
Create-Conditions-obj
|
||||
[Arguments] ${action} ${protocol} ${objtype} ${objname} ${objtype1}=null
|
||||
run keyword if '${action}'=='allow' and '${protocol}'=='http' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange0
|
||||
... AND Create-Conditions-allow&intercept-http ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='intercept' and '${protocol}'=='http' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange0
|
||||
... AND Create-Conditions-allow&intercept-http ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='allow' and '${protocol}'=='ssl' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange1
|
||||
... AND Create-Conditions-allow&intercept-ssl ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='intercept' and '${protocol}'=='ssl' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange1
|
||||
... AND Create-Conditions-allow&intercept-ssl ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='deny' and '${protocol}'=='http' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange0
|
||||
... AND Create-Conditions-deny&monitor-http ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='monitor' and '${protocol}'=='http' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange0
|
||||
... AND Create-Conditions-deny&monitor-http ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='deny' and '${protocol}'=='ssl' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange1
|
||||
... AND Create-Conditions-deny&monitor-ssl ${objtype1} ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='monitor' and '${protocol}'=='ssl' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange1
|
||||
... AND Create-Conditions-deny&monitor-ssl ${objtype1} ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='deny' and '${protocol}'=='dns' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange2
|
||||
... AND Create-Conditions-deny&monitor-dns ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='monitor' and '${protocol}'=='dns' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange2
|
||||
... AND Create-Conditions-deny&monitor-dns ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='deny' and '${protocol}'=='mail' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange3
|
||||
... AND Create-Conditions-deny&monitor-mail ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='monitor' and '${protocol}'=='mail' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange3
|
||||
... AND Create-Conditions-deny&monitor-mail ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='deny' and '${protocol}'=='ftp' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange4
|
||||
... AND Create-Conditions-deny&monitor-ftp ${objtype} ${objname}
|
||||
... ELSE IF '${action}'=='monitor' and '${protocol}'=='ftp' run keywords sleep 1
|
||||
... AND click element id=interceptionadd_prochange4
|
||||
... AND Create-Conditions-deny&monitor-ftp ${objtype} ${objname}
|
||||
... ELSE log 对象错误
|
||||
|
||||
Create-Conditions-allow&intercept-http
|
||||
[Arguments] ${objtype} ${objname}
|
||||
sleep 2
|
||||
run keyword if '${objtype}'=='Fqdn' run keywords click element xpath=//*[@id="interceptionadd_pro0"]/div[2]
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='Category' run keywords click element xpath=//*[@id="interceptionadd_pro0"]/div[3]
|
||||
... AND sleep 2
|
||||
... ELSE log 对象错误
|
||||
SecurityPolicy.SelectOne ${objname}
|
||||
|
||||
Create-Conditions-allow&intercept-ssl
|
||||
[Arguments] ${objtype} ${objname}
|
||||
sleep 2
|
||||
run keyword if '${objtype}'=='Fqdn' run keywords click element xpath=//*[@id="interceptionadd_pro0"]/div[2]
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='Category' run keywords click element xpath=//*[@id="interceptionadd_pro0"]/div[3]
|
||||
... AND sleep 2
|
||||
... ELSE log 对象错误
|
||||
SecurityPolicy.SelectOne ${objname}
|
||||
|
||||
Create-Conditions-deny&monitor-http
|
||||
[Arguments] ${objtype} ${objname}
|
||||
sleep 2
|
||||
run keyword if '${objtype}'=='Fqdn' run keywords click element xpath=//*[@id="interceptionadd_pro0"]/div[2]
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='Category' run keywords click element xpath=//*[@id="interceptionadd_pro0"]/div[3]
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='Url' run keywords click element id=interceptionadd_pro1
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='Reqhdr' run keywords click element id=interceptionadd_pro2
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='Reshdr' run keywords click element id=interceptionadd_pro3
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='Reqbody' run keywords click element id=interceptionadd_pro4
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='Resbody' run keywords click element id=interceptionadd_pro5
|
||||
... AND sleep 2
|
||||
... ELSE log 对象错误
|
||||
SecurityPolicy.SelectOne ${objname}
|
||||
|
||||
Create-Conditions-deny&monitor-ssl
|
||||
[Arguments] ${objtype1} ${objtype} ${objname}
|
||||
sleep 2
|
||||
run keyword if '${objtype1}'=='sni' and '${objtype}'=='Fqdn' run keywords click element xpath=//*[@id="interceptionadd_pro0"]/div[2]
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype1}'=='sni' and '${objtype}'=='Category' run keywords click element xpath=//*[@id="interceptionadd_pro0"]/div[3]
|
||||
... AND sleep 2
|
||||
... ELSE IF ${objtype1}'=='cn' and ${objtype}'=='Fqdn' run keywords click element id=interceptionadd_pro1
|
||||
... AND sleep 2
|
||||
... AND click element xpath=//*[@id="interceptionadd_pro1"]/div[2]
|
||||
... AND sleep 2
|
||||
... ELSE IF ${objtype1}'=='cn' and${objtype}'=='Category' run keywords click element id=interceptionadd_pro1
|
||||
... AND sleep 2
|
||||
... AND click element xpath=//*[@id="interceptionadd_pro1"]/div[3]
|
||||
... AND sleep 2
|
||||
... ELSE IF ${objtype1}'=='san' and ${objtype}'=='Fqdn' run keywords click element id=interceptionadd_pro2
|
||||
... AND sleep 2
|
||||
... AND click element xpath=//*[@id="interceptionadd_pro2"]/div[2]
|
||||
... AND sleep 2
|
||||
... ELSE IF ${objtype1}'=='san' and ${objtype}'=='Category' run keywords click element id=interceptionadd_pro2
|
||||
... AND sleep 2
|
||||
... AND click element xpath=//*[@id="interceptionadd_pro2"]/div[3]
|
||||
... AND sleep 2
|
||||
... ELSE log 对象错误
|
||||
SecurityPolicy.SelectOne ${objname}
|
||||
|
||||
Create-Conditions-deny&monitor-dns
|
||||
[Arguments] ${objtype} ${objname}
|
||||
sleep 2
|
||||
run keyword if '${objtype}'=='Fqdn' run keywords click element xpath=//*[@id="interceptionadd_pro0"]/div[2]
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='Category' run keywords click element xpath=//*[@id="interceptionadd_pro0"]/div[3]
|
||||
... AND sleep 2
|
||||
... ELSE log 对象错误
|
||||
SecurityPolicy.SelectOne ${objname}
|
||||
|
||||
Create-Conditions-deny&monitor-mail
|
||||
[Arguments] ${objtype} ${objname}
|
||||
sleep 2
|
||||
run keyword if '${objtype}'=='Subject' run keywords click element id=interceptionadd_pro0
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='Content' run keywords click element id=interceptionadd_pro1
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='ATT Name' run keywords click element id=interceptionadd_pro2
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='ATT CONT' run keywords click element id=interceptionadd_pro3
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='From' run keywords click element id=interceptionadd_pro4
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='To' run keywords click element id=interceptionadd_pro5
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='Account' run keywords click element id=interceptionadd_pro6
|
||||
... AND sleep 2
|
||||
... ELSE log 对象错误
|
||||
SecurityPolicy.SelectOne ${objname}
|
||||
|
||||
Create-Conditions-deny&monitor-ftp
|
||||
[Arguments] ${objtype} ${objname}
|
||||
sleep 2
|
||||
run keyword if '${objtype}'=='url' run keywords click element id=interceptionadd_pro0
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='content' run keywords click element id=interceptionadd_pro1
|
||||
... AND sleep 2
|
||||
... ELSE IF '${objtype}'=='account' run keywords click element id=interceptionadd_pro2
|
||||
... AND sleep 2
|
||||
... ELSE log 对象错误
|
||||
SecurityPolicy.SelectOne ${objname}
|
||||
|
||||
SelectOne
|
||||
[Arguments] ${objname}
|
||||
sleep 2
|
||||
log ${objname}
|
||||
input text xpath=//*[@id="condistions_protocol"]/div[2]/div[2]/div/div[1]/input ${objname}
|
||||
sleep 1
|
||||
press keys xpath=//*[@id="condistions_protocol"]/div[2]/div[2]/div/div[1]/input ENTER
|
||||
sleep 2
|
||||
click element xpath=//*[@id="interceptionadd_checkouobject"]/ul/li[1]
|
||||
|
||||
Reference in New Issue
Block a user