diff --git a/01-TestCase/tsg_ui/ui_security/Security.robot b/01-TestCase/tsg_ui/ui_security/Security.robot new file mode 100644 index 0000000..0c1977d --- /dev/null +++ b/01-TestCase/tsg_ui/ui_security/Security.robot @@ -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 + \ No newline at end of file diff --git a/02-Keyword/tsg_ui/objects/NewObject.robot b/02-Keyword/tsg_ui/objects/NewObject.robot index 60aa6e8..1e8a8af 100644 --- a/02-Keyword/tsg_ui/objects/NewObject.robot +++ b/02-Keyword/tsg_ui/objects/NewObject.robot @@ -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} diff --git a/02-Keyword/tsg_ui/securityPolicy/SecurityPolicy.robot b/02-Keyword/tsg_ui/securityPolicy/SecurityPolicy.robot index fe6d05d..85f9186 100644 --- a/02-Keyword/tsg_ui/securityPolicy/SecurityPolicy.robot +++ b/02-Keyword/tsg_ui/securityPolicy/SecurityPolicy.robot @@ -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]