1、提交objects优化关键字(已完成)

2、提交安全策略关键字(未完成)
This commit is contained in:
lyf
2021-01-22 18:44:47 +08:00
parent 070594503a
commit 58d895c978
3 changed files with 735 additions and 270 deletions

View 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

View File

@@ -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}

View File

@@ -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]