提交策略新增关键字和删除无用文件
This commit is contained in:
@@ -1,647 +0,0 @@
|
||||
*** Settings ***
|
||||
Library Selenium2Library
|
||||
Resource ../objects/NewObject.robot
|
||||
Resource SourceAndDestination.robot
|
||||
*** Keywords ***
|
||||
CreateButton
|
||||
[Documentation] 点击安全策略中的Create按钮
|
||||
Wait Until Element Is Enabled id=app_create
|
||||
sleep ${sleep}
|
||||
click element id=app_create
|
||||
|
||||
Create-name
|
||||
[Arguments] ${name}
|
||||
[Documentation] 输入name
|
||||
sleep ${sleep}
|
||||
input text id=interceptionadd_name ${name}
|
||||
|
||||
Create-action
|
||||
[Arguments] ${action}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${action}:填入allow或deny或monitor或intercept
|
||||
... 判断要创建什么动作的策略
|
||||
sleep ${sleep}
|
||||
run keyword if "${action}"=="allow" run keywords sleep ${sleep}
|
||||
... AND click element id=security_action_allow
|
||||
... ELSE IF "${action}"=="deny" run keywords sleep ${sleep}
|
||||
... AND click element id=security_action_deny
|
||||
... ELSE IF "${action}"=="monitor" run keywords sleep ${sleep}
|
||||
... AND click element id=security_action_monitor
|
||||
... ELSE IF "${action}"=="intercept" run keywords sleep ${sleep}
|
||||
... AND click element id=security_action_intercept
|
||||
|
||||
Create-Source-Button
|
||||
[Documentation] 点击Source的加号
|
||||
sleep ${sleep}
|
||||
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 ${sleep}
|
||||
click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[5]/div[1]/div/div
|
||||
sleep ${sleep}
|
||||
Create-Application-Button
|
||||
[Documentation] 点击Application的加号
|
||||
Wait Until Element Is Enabled id=interceptionadd_application 10
|
||||
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 ${Application}
|
||||
sleep ${sleep}
|
||||
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 ${sleep}
|
||||
click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[5]/div[2]/div[2]/div/div[3]/div/div/ul/li[1]
|
||||
sleep ${sleep}
|
||||
Create-Filter-judge
|
||||
[Arguments] ${Application}=null ${Filter}=null ${Hostname}=null ${URLname}=null ${Request Headername}=null ${Response Headername}=null ${Request Contentname}=null
|
||||
... ${Response Contentname}=null ${SSLSNIname}=null ${CNname}=null ${SANname}=null ${QNAMEname}=null ${Subjectname}=null ${MAILContentname}=null ${Attachment Namename}=null
|
||||
... ${Attachment Contentname}=null ${Fromname}=null ${Toname}=null ${MAILAccountname}=null ${URIname}=null ${FTPContentname}=null ${FTPAccountname}=null ${QUICSNIname}=null
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${Application}:填入是Application的内容,例如SSL或HTTP
|
||||
... ${Filter}:是一个列表,列表中填入filter类型,例如Host或URL等
|
||||
... name:各个对象名称的列表
|
||||
... 判断filter是否可以点击
|
||||
${class}= Get Element Attribute xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[8]/div[1]/div/div[1] class
|
||||
run keyword if "${class}"=="addobject addobject-long-list obj-content-null filter-width-style cursor addobject-long-list-disabled" log filter不可点击,不可添加filter
|
||||
run keyword if "${class}"=="addobject addobject-long-list obj-content-null filter-width-style cursor" run keywords sleep ${sleep}
|
||||
... AND Create-Filter ${Application} ${Filter} ${Hostname} ${URLname} ${Request Headername} ${Response Headername} ${Request Contentname}
|
||||
... ${Response Contentname} ${SSLSNIname} ${CNname} ${SANname} ${QNAMEname} ${Subjectname} ${MAILContentname} ${Attachment Namename}
|
||||
... ${Attachment Contentname} ${Fromname} ${Toname} ${MAILAccountname} ${URIname} ${FTPContentname} ${FTPAccountname} ${QUICSNIname}
|
||||
|
||||
Create-Filter
|
||||
[Arguments] ${Application} ${Filter} ${Hostname} ${URLname} ${Request Headername} ${Response Headername} ${Request Contentname}
|
||||
... ${Response Contentname} ${SSLSNIname} ${CNname} ${SANname} ${QNAMEname} ${Subjectname} ${MAILContentname} ${Attachment Namename}
|
||||
... ${Attachment Contentname} ${Fromname} ${Toname} ${MAILAccountname} ${URIname} ${FTPContentname} ${FTPAccountname} ${QUICSNIname}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${Application}:填入是Application的内容,例如SSL或HTTP
|
||||
... ${Filter}:是一个列表,列表中填入filter类型,例如Host或URL等
|
||||
... name:各个对象名称的列表
|
||||
... 判断添加filter类型
|
||||
sleep ${sleep}
|
||||
FOR ${i} IN @{Filter}
|
||||
sleep ${sleep}
|
||||
click element id=interceptionadd_add_filter
|
||||
sleep ${sleep}
|
||||
run keyword if "${Application}"=="HTTP" and "${i}"=="Host" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="condistions_protocol"]/div/div[1]/div/div/div/ul/li[1]
|
||||
... AND Create-Object-Search ${Hostname} ${i}
|
||||
run keyword if "${Application}"=="HTTP" and "${i}"=="URL" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="condistions_protocol"]/div/div[1]/div/div/div/ul/li[2]
|
||||
... AND Create-Object-Search ${URLname} ${i}
|
||||
run keyword if "${Application}"=="HTTP" and "${i}"=="Request Header" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="condistions_protocol"]/div/div[1]/div/div/div/ul/li[3]
|
||||
... AND Create-Object-Search ${Request Headername} ${i}
|
||||
run keyword if "${Application}"=="HTTP" and "${i}"=="Response Header" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="condistions_protocol"]/div/div[1]/div/div/div/ul/li[4]
|
||||
... AND Create-Object-Search ${Response Headername} ${i}
|
||||
run keyword if "${Application}"=="HTTP" and "${i}"=="Request Content" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="condistions_protocol"]/div/div[1]/div/div/div/ul/li[5]
|
||||
... AND Create-Object-Search ${Request Contentname} ${i}
|
||||
run keyword if "${Application}"=="HTTP" and "${i}"=="Response Content" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="condistions_protocol"]/div/div[1]/div/div/div/ul/li[6]
|
||||
... AND Create-Object-Search ${Response Contentname} ${i}
|
||||
run keyword if "${Application}"=="SSL" and "${i}"=="SNI" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="condistions_protocol"]/div/div[1]/div/div/div/ul/li[1]
|
||||
... AND Create-Object-Search ${SSLSNIname} ${i}
|
||||
run keyword if "${Application}"=="SSL" and "${i}"=="CN" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="condistions_protocol"]/div/div[1]/div/div/div/ul/li[2]
|
||||
... AND Create-Object-Search ${CNname} ${i}
|
||||
run keyword if "${Application}"=="SSL" and "${i}"=="SAN" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="condistions_protocol"]/div/div[1]/div/div/div/ul/li[3]
|
||||
... AND Create-Object-Search ${SANname} ${i}
|
||||
run keyword if "${Application}"=="DNS" and "${i}"=="QNAME" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="condistions_protocol"]/div/div[1]/div/div/div/ul/li[1]
|
||||
... AND Create-Object-Search ${QNAMEname} ${i}
|
||||
run keyword if "${Application}"=="MAIL" and "${i}"=="Subject" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="condistions_protocol"]/div/div[1]/div/div/div/ul/li[1]
|
||||
... AND Create-Object-Search ${Subjectname} ${i}
|
||||
run keyword if "${Application}"=="MAIL" and "${i}"=="Content" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="condistions_protocol"]/div/div[1]/div/div/div/ul/li[2]
|
||||
... AND Create-Object-Search ${MAILContentname} ${i}
|
||||
run keyword if "${Application}"=="MAIL" and "${i}"=="Attachment Name" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="condistions_protocol"]/div/div[1]/div/div/div/ul/li[3]
|
||||
... AND Create-Object-Search ${Attachment Namename} ${i}
|
||||
run keyword if "${Application}"=="MAIL" and "${i}"=="Attachment Content" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="condistions_protocol"]/div/div[1]/div/div/div/ul/li[4]
|
||||
... AND Create-Object-Search ${Attachment Contentname} ${i}
|
||||
run keyword if "${Application}"=="MAIL" and "${i}"=="From" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="condistions_protocol"]/div/div[1]/div/div/div/ul/li[5]
|
||||
... AND Create-Object-Search ${Fromname} ${i}
|
||||
run keyword if "${Application}"=="MAIL" and "${i}"=="To" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="condistions_protocol"]/div/div[1]/div/div/div/ul/li[6]
|
||||
... AND Create-Object-Search ${Toname} ${i}
|
||||
run keyword if "${Application}"=="MAIL" and "${i}"=="Account" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="condistions_protocol"]/div/div[1]/div/div/div/ul/li[7]
|
||||
... AND Create-Object-Search ${MAILAccountname} ${i}
|
||||
run keyword if "${Application}"=="FTP" and "${i}"=="URI" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="condistions_protocol"]/div/div[1]/div/div/div/ul/li[1]
|
||||
... AND Create-Object-Search ${URIname} ${i}
|
||||
run keyword if "${Application}"=="FTP" and "${i}"=="Content" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="condistions_protocol"]/div/div[1]/div/div/div/ul/li[2]
|
||||
... AND Create-Object-Search ${FTPContentname} ${i}
|
||||
run keyword if "${Application}"=="FTP" and "${i}"=="Account" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="condistions_protocol"]/div/div[1]/div/div/div/ul/li[3]
|
||||
... AND Create-Object-Search ${FTPAccountname} ${i}
|
||||
run keyword if "${Application}"=="QUIC" and "${i}"=="SNI" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="condistions_protocol"]/div/div[1]/div/div/div/ul/li[1]
|
||||
... AND Create-Object-Search ${QUICSNIname} ${i}
|
||||
END
|
||||
Deny-subaction
|
||||
[Arguments] ${action}=null ${subaction}=null ${code}=null ${Content}=null ${block-text}=null ${SearchorCreate}=null
|
||||
... ${ProfileName}=null ${file}=null ${QType}=null ${Avalue}=null ${Attl}=null ${CNAMEvalue}=null ${CNAMEttl}=null
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${code}:填入403或404
|
||||
... ${Content}:填入TEXT或Profile
|
||||
... ${SearchorCreate}:填入Search或Create
|
||||
... ${block-text}:填入TEXT文本框内容
|
||||
... ${ProfileName}:Profile的名字
|
||||
... ${file}:上传文件路径
|
||||
... ${QType}:填入A或AAAA
|
||||
... ${Avalue}:根据${QType}填入IPV4或IPV6的值
|
||||
... ${Attl}:根据${QType}填入A的ttl值或AAAA的ttl值
|
||||
... ${CNAMEvalue}:根据${QType}填入A的CNAME的域名值或AAAA的CNAME域名值
|
||||
... ${CNAMEttl}:根据${QType}填入A的CNAME的ttl值或AAAA的CNAME的ttl值
|
||||
... 添加subaction
|
||||
run keyword if "${action}"=="deny" and "${subaction}"=="Drop" run keywords sleep ${sleep}
|
||||
... AND click element id=denyUserRegionBlock_method0
|
||||
run keyword if "${action}"=="deny" and "${subaction}"=="RST" run keywords sleep ${sleep}
|
||||
... AND click element id=denyUserRegionBlock_method1
|
||||
run keyword if "${action}"=="deny" and "${subaction}"=="Block" run keywords sleep ${sleep}
|
||||
... AND click element id=denyUserRegionBlock_method2
|
||||
... AND Deny-Block ${code} ${Content} ${block-text} ${SearchorCreate} ${ProfileName} ${file}
|
||||
run keyword if "${action}"=="deny" and "${subaction}"=="Alert" run keywords sleep ${sleep}
|
||||
... AND click element id=denyUserRegionBlock_method3
|
||||
... AND Deny-Block ${code} ${Content} ${block-text} ${SearchorCreate} ${ProfileName} ${file}
|
||||
run keyword if "${action}"=="deny" and "${subaction}"=="Redirect" run keywords sleep ${sleep}
|
||||
... AND click element id=denyUserRegionBlock_method4
|
||||
... AND sleep ${sleep}
|
||||
... AND click element id=interceptionadd_rightdetails
|
||||
... AND sleep ${sleep}
|
||||
... AND Deny-Redirect ${QType} ${Avalue} ${Attl} ${CNAMEvalue} ${CNAMEttl}
|
||||
|
||||
Deny-Block
|
||||
[Arguments] ${code} ${Content} ${block-text} ${SearchorCreate} ${ProfileName} ${file}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${code}:填入403或404
|
||||
... ${Content}:填入TEXT或Profile
|
||||
... ${SearchorCreate}:填入Search或Create
|
||||
... ${block-text}:填入TEXT文本框内容
|
||||
... ${ProfileName}:Profile的名字
|
||||
... ${file}:上传文件路径
|
||||
... 添加block数据内容
|
||||
sleep ${sleep}
|
||||
click element id=denyUserRegionBlock_code
|
||||
run keyword if "${code}"=="403" or "${code}"=="200" run keywords sleep ${sleep}
|
||||
... AND click element id=denyUserRegionBlock_code_select0
|
||||
... AND sleep ${sleep}
|
||||
... AND click element id=blockselect
|
||||
... ELSE IF "${code}"=="404" run keywords sleep ${sleep}
|
||||
... AND click element id=denyUserRegionBlock_code_select1
|
||||
... AND sleep ${sleep}
|
||||
... AND click element id=blockselect
|
||||
... ELSE IF "${code}"=="204" run keywords sleep ${sleep}
|
||||
... AND click element id=denyUserRegionBlock_code_select1
|
||||
run keyword if "${Content}"=="TEXT" run keywords sleep ${sleep}
|
||||
... AND click element id=blockselect_select0
|
||||
... AND sleep ${sleep}
|
||||
... AND input text id=denyUserRegionBlock_message ${block-text}
|
||||
... ELSE IF "${Content}"=="Profile" run keywords sleep ${sleep}
|
||||
... AND click element id=blockselect_select1
|
||||
... AND sleep ${sleep}
|
||||
... AND Profile-SearchorCreate ${SearchorCreate} ${ProfileName} ${file}
|
||||
Profile-SearchorCreate
|
||||
[Arguments] ${SearchorCreate} ${ProfileName} ${file}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${SearchorCreate}:填入Search或Create
|
||||
... ${ProfileName}:Profile的名字
|
||||
... ${file}:上传文件路径
|
||||
... 判断是新建还是搜索profile
|
||||
sleep ${sleep}
|
||||
click element id=html_profile
|
||||
sleep ${sleep}
|
||||
run keyword if "${SearchorCreate}"=="Search" run keywords sleep ${sleep}
|
||||
... AND input text id=filedata_profileName ${ProfileName}
|
||||
... AND sleep ${sleep}
|
||||
... AND press keys id=filedata_profileName ENTER
|
||||
... AND sleep ${sleep}
|
||||
... AND click element id=filelist_select0
|
||||
... ELSE IF "${SearchorCreate}"=="Create" run keywords sleep ${sleep}
|
||||
... AND click element id=interceptionadd_fileadd
|
||||
... AND sleep ${sleep}
|
||||
... AND input text id=responsepages_profileName ${ProfileName}
|
||||
... AND sleep ${sleep}
|
||||
... AND Choose File xpath=//*[@id="policy_Manipulation_create6"]/div[2]/form/div[2]/div/div/div/input ${file} #上传文件
|
||||
... AND sleep ${sleep}
|
||||
... AND clcik element id=responseAddOk1
|
||||
... ELSE log 传入参数错误
|
||||
Deny-Redirect
|
||||
[Arguments] ${QType} ${Avalue} ${Attl} ${CNAMEvalue} ${CNAMEttl}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${QType}:填入A或AAAA
|
||||
... ${Avalue}:根据${QType}填入IPV4或IPV6的值
|
||||
... ${Attl}:根据${QType}填入A的ttl值或AAAA的ttl值
|
||||
... ${CNAMEvalue}:根据${QType}填入A的CNAME的域名值或AAAA的CNAME域名值
|
||||
... ${CNAMEttl}:根据${QType}填入A的CNAME的ttl值或AAAA的CNAME的ttl值
|
||||
... 新建Redirect
|
||||
run keyword if "${QType}"=="A" run keywords sleep ${sleep}
|
||||
... AND input text id=A00 ${Avalue}
|
||||
... AND sleep ${sleep}
|
||||
... AND input text id=ttl00 ${Attl}
|
||||
... AND sleep ${sleep}
|
||||
... AND click element id=interceptionadd_addForm
|
||||
... AND sleep ${sleep}
|
||||
... AND input text id=Cname01 ${CNAMEvalue}
|
||||
... AND sleep ${sleep}
|
||||
... AND input text id=ttl01 ${CNAMEttl}
|
||||
run keyword if "${QType}"=="AAAA" run keywords sleep ${sleep}
|
||||
... AND click element id=dns_qtype_radio01
|
||||
... AND input text id=AAAA00 ${Avalue}
|
||||
... AND sleep ${sleep}
|
||||
... AND input text id=ttl00 ${Attl}
|
||||
... AND sleep ${sleep}
|
||||
... AND click element id=interceptionadd_addForm
|
||||
... AND sleep ${sleep}
|
||||
... AND input text id=Cname01 ${CNAMEvalue}
|
||||
... AND sleep ${sleep}
|
||||
... AND input text id=ttl01 ${CNAMEttl}
|
||||
sleep ${sleep}
|
||||
click element id=interceptionadd_shezhidns
|
||||
Intercept-SSL-Keyring-SearchorCreate
|
||||
[Arguments] ${KeySearchorCreate} ${keyname} ${file}=null ${file1}=null ${ExpiryHours1or2}=null ${type}=null ${type1}=null
|
||||
... ${shift}=close ${PrivateKeyType}=PrivateKeyFile
|
||||
[Documentation] 引用次关键字,填入必填参数
|
||||
... 必填参数:
|
||||
... ${KeySearchorCreate}:填入Create或Search
|
||||
... ${name}:新建页面name输入框里的内容
|
||||
... ${file}:上传文件所在本地的路径
|
||||
... ${file1}:上传文件所在本地的路径
|
||||
... ${ExpiryHours1or2}:根证书时间填入1:自定义定义 2:原时间
|
||||
... ${type}:上传证书类型的元素
|
||||
... ${type1}:上传证书加密解密算法的元素
|
||||
... ${shift}:是否打开客户端包含证书按钮
|
||||
... ${PrivateKeyType}:私钥类型
|
||||
sleep ${sleep}
|
||||
click element id=interceptionadd_eventkeying1
|
||||
sleep ${sleep}
|
||||
run keyword if "${KeySearchorCreate}"=="Create" run keywords sleep ${sleep}
|
||||
... AND click element id=interceptionadd_keyadd
|
||||
... AND sleep ${sleep}
|
||||
... AND Create-Keyring ${keyname} ${file} ${file1} ${ExpiryHours1or2} ${type} ${type1}
|
||||
... ${shift}=close ${PrivateKeyType}=PrivateKeyFile
|
||||
run keyword if "${KeySearchorCreate}"=="Search" run keywords sleep ${sleep}
|
||||
... AND input text id=card_keyringName1 ${keyname}
|
||||
... AND sleep ${sleep}
|
||||
... AND press keys id=card_keyringName1 ENTER
|
||||
... AND sleep ${sleep}
|
||||
... AND clcik element id=card_keylist0
|
||||
|
||||
Create-Keyring
|
||||
[Arguments] ${name} ${file} ${file1} ${ExpiryHours1or2} ${type} ${type1}
|
||||
... ${shift}=close ${PrivateKeyType}=PrivateKeyFile
|
||||
[Documentation] 引用次关键字,填入必填参数
|
||||
... 必填参数:
|
||||
... ${name}:新建页面name输入框里的内容
|
||||
... ${file}:上传文件所在本地的路径
|
||||
... ${file1}:上传文件所在本地的路径
|
||||
... ${ExpiryHours1or2}:根证书时间填入1:自定义定义 2:原时间
|
||||
... ${type}:上传证书类型的元素
|
||||
... ${type1}:上传证书加密解密算法的元素
|
||||
... ${shift}:是否打开客户端包含证书按钮
|
||||
... ${PrivateKeyType}:私钥类型
|
||||
sleep ${sleep}
|
||||
input id=keyringsadd_name ${name} #输入name
|
||||
sleep ${sleep}
|
||||
Choose File xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[2]/div[2]/form/div[2]/div/div/div/input ${file} #上传文件
|
||||
sleep ${sleep}
|
||||
Choose File xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[2]/div[2]/form/div[3]/div/div[2]/div/div/input ${file1} #上传文件
|
||||
${select} Set Variable ${ExpiryHours1or2}
|
||||
Run Keyword If '${select}'=='1' click element id=keyringsadd_customized
|
||||
Run Keyword If '${select}'=='1' input text id=reissueExpiryDate 10
|
||||
sleep ${sleep}
|
||||
click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[2]/div[2]/form/div[6]/div/div/div[1]/span/span/i #点击下拉框
|
||||
sleep ${sleep}
|
||||
click element ${type} #选择证书类型
|
||||
sleep ${sleep}
|
||||
click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[2]/div[2]/form/div[7]/div/div/div[1]/span/span/i #点击下拉框
|
||||
sleep ${sleep}
|
||||
click element ${type1} #选择加密解密类型
|
||||
sleep ${sleep}
|
||||
${root} Set Variable ${shift}
|
||||
run keyword if "${root}"=="open" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[2]/div[2]/form/div[9]/div/div/span
|
||||
... ELSE IF "${root}"=="close" log "go on"
|
||||
Run Keyword If '${PrivateKeyType}'=='HSM' run keywords sleep ${sleep}
|
||||
... AND click element id=privateHSM
|
||||
... AND sleep ${sleep}
|
||||
... AND input text id=keyringsadd_slotid 10
|
||||
sleep ${sleep}
|
||||
click id=keyringsadd_sub #点击OK缇交
|
||||
Intercept-SSL-MirrorDecryptedTraffic-Open
|
||||
[Arguments] ${MirrorDecryptedTraffic}=null ${MirrorDecryptedTrafficSearchorCreate}=null ${MirrorDecryptedTrafficname}=null ${type}=null ${shuru}=null
|
||||
[Documentation] 引用次关键字,填入必填参数
|
||||
... 必填参数:
|
||||
... ${MirrorDecryptedTraffic}:输入open代表开启按钮,其他代表不开启
|
||||
... ${MirrorDecryptedTrafficSearchorCreate}:填入Create或Search
|
||||
... ${MirrorDecryptedTrafficname}:解密流量文件的name
|
||||
... ${type}:是mac还是vlan的定位元素
|
||||
... ${shuru}:输入mac或vlan的值
|
||||
sleep ${sleep}
|
||||
run keyword if "${MirrorDecryptedTraffic}"=="open" run keywords sleep ${sleep}
|
||||
... AND click element xpath=///*[@id="policy_paper_left"]/div[10]/div[2]/label[contains(text(), "Mirror Decrypted Traffic")]/following-sibling::div/div
|
||||
... AND sleep ${sleep}
|
||||
... AND clcik element id=mirror_profile
|
||||
... AND MirrorDecryptedTraffic-SearchorCreate ${MirrorDecryptedTrafficSearchorCreate} ${MirrorDecryptedTrafficname} ${type} ${shuru}
|
||||
... ELSE log 不开启
|
||||
MirrorDecryptedTraffic-SearchorCreate
|
||||
[Arguments] ${MirrorDecryptedTrafficSearchorCreate} ${MirrorDecryptedTrafficname} ${type} ${shuru}
|
||||
[Documentation] 引用次关键字,填入必填参数
|
||||
... 必填参数:
|
||||
... ${MirrorDecryptedTrafficSearchorCreate}:填入Create或Search
|
||||
... ${MirrorDecryptedTrafficname}:解密流量文件的name
|
||||
... ${type}:是mac还是vlan的定位元素
|
||||
... ${shuru}:输入mac或vlan的值
|
||||
sleep ${sleep}
|
||||
run keyword if "${MirrorDecryptedTrafficSearchorCreate}"=="Create" run keywords sleep ${sleep}
|
||||
... AND click element id=interceptionadd_trarightadd
|
||||
... AND sleep ${sleep}
|
||||
... AND Create-MirrorDecryptedTraffic ${MirrorDecryptedTrafficname} ${type} ${shuru}
|
||||
run keyword if "${MirrorDecryptedTrafficSearchorCreate}"=="Search" run keywords sleep ${sleep}
|
||||
... AND input text id=tradata_profileName ${MirrorDecryptedTrafficname}
|
||||
... AND sleep ${sleep}
|
||||
... AND press keys id=tradata_profileName ENTER
|
||||
... AND sleep ${sleep}
|
||||
... AND clcik element id=tralist_length0
|
||||
Create-MirrorDecryptedTraffic
|
||||
[Arguments] ${MirrorDecryptedTrafficname} ${type} ${shuru}
|
||||
[Documentation] 引用次关键字,填入必填参数
|
||||
... 必填参数:
|
||||
... ${MirrorDecryptedTrafficname}:解密流量文件的name
|
||||
... ${type}:是mac还是vlan的定位元素
|
||||
... ${shuru}:输入mac或vlan的值
|
||||
sleep ${sleep}
|
||||
input id=trafficmirror_profileName ${MirrorDecryptedTrafficname} #输入name
|
||||
sleep ${sleep}
|
||||
click id=addrTypeChoose #点击下拉框
|
||||
sleep ${sleep}
|
||||
click ${type} #选择vlan或者mac
|
||||
sleep ${sleep}
|
||||
input id=trafficmirror_addrArray0 ${shuru}
|
||||
sleep ${sleep}
|
||||
click xpath=//*[@id="app"]/div/div[3]/div[2]/div/div/div[2]/button[1] #点击OK
|
||||
DecryptionProfile-SearchorCreate
|
||||
[Arguments] ${DecryptionProfileSearchorCreate}=null ${DecryptionProfilename}=null ${dict1}=null ${fail1}=null ${min1}=null ${max1}=null
|
||||
[Documentation] 引用次关键字,填入必填参数
|
||||
... 必填参数:
|
||||
... ${DecryptionProfileSearchorCreate}:填入Create或Search
|
||||
... ${DecryptionProfilename}:文件name
|
||||
... ${dict1}:是个字典,等于1为开启,等于0为关闭,例如:Common Name=1 Issuer=1 Self-signed=1 Expiry Date=1 EV Certificat=1
|
||||
... Certificate Transparency=1 Mutual Authentication=1 On Protocol Errors=1 Certificate Pinning=1 Certificate Not Installed=1 Mirror Client Versions=1
|
||||
... Allow HTTP/2=1
|
||||
... ${fail1} :输入Fail-close或Pass-through
|
||||
... ${min1}:输入协议版本,
|
||||
... ${max1}:输入协议版本,
|
||||
sleep ${sleep}
|
||||
click element id=interceptionadd_eventkeying
|
||||
sleep ${sleep}
|
||||
run keyword if "${DecryptionProfileSearchorCreate}"=="Create" run keywords sleep ${sleep}
|
||||
... AND click element id=interceptionadd_decryptionProfileId
|
||||
... AND sleep ${sleep}
|
||||
... AND Create-DecryptionProfile ${DecryptionProfilename} ${dict1} ${fail1} ${min1} ${max1}
|
||||
run keyword if "${DecryptionProfileSearchorCreate}"=="Search" run keywords sleep ${sleep}
|
||||
... AND input text id=card_keyringName ${DecryptionProfilename}
|
||||
... AND sleep ${sleep}
|
||||
... AND press keys id=card_keyringName ENTER
|
||||
... AND sleep ${sleep}
|
||||
... AND clcik element xpath=//*[@id="decryptionProfileList"]/following-sibling::li[2]
|
||||
Create-DecryptionProfile
|
||||
[Arguments] ${name} ${dict1} ${fail1} ${min1} ${max1}
|
||||
sleep ${sleep}
|
||||
input id=insert_profileName ${name}
|
||||
sleep ${sleep}
|
||||
DecryptionProfileButtonSwitch ${dict1} //*[@id="policy_Manipulation_create8"]/div[2]/form/div/div/label[contains(text(), " ")]/following-sibling::div/div el-switch is-checked el-switch
|
||||
${fail} Set Variable ${fail1}
|
||||
run keyword if "${fail}"=="Fail-close" Run Keywords sleep ${sleep}
|
||||
... AND click xpath=//*[@id="policy_Manipulation_create8"]/div[2]/form/div[3]/div[5]/div/div/label[1]/span
|
||||
... ELSE IF "${fail}"=="Pass-through" Run Keywords sleep ${sleep}
|
||||
... AND click xpath=//*[@id="policy_Manipulation_create8"]/div[2]/form/div[3]/div[5]/div/div/label[2]/span
|
||||
... ELSE log 1111
|
||||
${min} Set Variable ${min1}
|
||||
${max} Set Variable ${max1}
|
||||
run keyword if "${min}"=="TLSv1.0" Run Keywords sleep ${sleep}
|
||||
... AND click xpath=//*[@id="policy_Manipulation_create8"]/div[2]/form/div[7]/div[2]/div/div/div/span/span/i
|
||||
... AND sleep ${sleep}
|
||||
... AND click id=pro_min1
|
||||
... ELSE IF "${min}"=="TLSv1.1" Run Keywords sleep ${sleep}
|
||||
... AND click xpath=//*[@id="policy_Manipulation_create8"]/div[2]/form/div[7]/div[2]/div/div/div/span/span/i
|
||||
... AND sleep ${sleep}
|
||||
... AND click id=pro_min2
|
||||
... ELSE IF "${min}"=="TLSv1.2" Run Keywords sleep ${sleep}
|
||||
... AND click xpath=//*[@id="policy_Manipulation_create8"]/div[2]/form/div[7]/div[2]/div/div/div/span/span/i
|
||||
... AND sleep ${sleep}
|
||||
... AND click id=pro_min3
|
||||
... ELSE IF "${min}"=="TLSv1.3" Run Keywords sleep ${sleep}
|
||||
... AND click xpath=//*[@id="policy_Manipulation_create8"]/div[2]/form/div[7]/div[2]/div/div/div/span/span/i
|
||||
... AND sleep ${sleep}
|
||||
... AND click id=pro_min4
|
||||
... ELSE IF "${min}"=="SSLv3.0" Run Keywords sleep ${sleep}
|
||||
... AND click xpath=//*[@id="policy_Manipulation_create8"]/div[2]/form/div[7]/div[2]/div/div/div/span/span/i
|
||||
... AND sleep ${sleep}
|
||||
... AND click id=pro_min0
|
||||
... ELSE log 错误
|
||||
run keyword if "${max}"=="TLSv1.0" Run Keywords sleep ${sleep}
|
||||
... AND click xpath=//*[@id="policy_Manipulation_create8"]/div[2]/form/div[7]/div[3]/div/div/div/span/span/i
|
||||
... AND sleep ${sleep}
|
||||
... AND click id=pro_max1
|
||||
... ELSE IF "${max}"=="TLSv1.1" Run Keywords sleep ${sleep}
|
||||
... AND click xpath=//*[@id="policy_Manipulation_create8"]/div[2]/form/div[7]/div[3]/div/div/div/span/span/i
|
||||
... AND sleep ${sleep}
|
||||
... AND click id=pro_max2
|
||||
... ELSE IF "${max}"=="TLSv1.2" Run Keywords sleep ${sleep}
|
||||
... AND click xpath=//*[@id="policy_Manipulation_create8"]/div[2]/form/div[7]/div[3]/div/div/div/span/span/i
|
||||
... AND sleep ${sleep}
|
||||
... AND click id=pro_max3
|
||||
... ELSE IF "${max}"=="TLSv1.3" Run Keywords sleep ${sleep}
|
||||
... AND click xpath=//*[@id="policy_Manipulation_create8"]/div[2]/form/div[7]/div[3]/div/div/div/span/span/i
|
||||
... AND sleep ${sleep}
|
||||
... AND click id=pro_max4
|
||||
... ELSE IF "${max}"=="SSLv3.0" Run Keywords sleep ${sleep}
|
||||
... AND click xpath=//*[@id="policy_Manipulation_create8"]/div[2]/form/div[7]/div[3]/div/div/div/span/span/i
|
||||
... AND sleep ${sleep}
|
||||
... AND click id=pro_max0
|
||||
... ELSE log 错误
|
||||
sleep ${sleep}
|
||||
click id=decryption-ok
|
||||
sleep ${sleep}
|
||||
Settings-Search ${name} ${search} #搜索框的关键字
|
||||
sleep ${sleep}
|
||||
${name1} get text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[3]/div/div/div[2]/div/div[3]/table/tbody/tr/td[2]/div/div/span
|
||||
Should Be Equal As Strings ${name1} ${name}
|
||||
|
||||
|
||||
DecryptionProfileButtonSwitch
|
||||
[Arguments] ${dict1} ${xpath1} ${xpath2} ${open} ${close}
|
||||
${dict} Set Variable ${dict1}
|
||||
FOR ${list} ${key} IN ENUMERATE @{dict}
|
||||
${class}= Get Element Attribute xpath=${xpath1}${key}${xpath2} class
|
||||
run keyword if "${class}"=="${open}" and "${dict}[${key}]"=="1" log 默认开启,不进行操作
|
||||
run keyword if "${class}"=="${open}" and "${dict}[${key}]"=="0" Run Keywords log 默认开启,但需求需要关闭,进行点击关闭按钮
|
||||
... AND sleep ${sleep}
|
||||
... AND click xpath=${xpath1}${key}${xpath2}/span
|
||||
run keyword if "${class}"=="${close}" and "${dict}[${key}]"=="1" Run Keywords log 默认关闭,但需求需要开启,进行点击开启按钮
|
||||
... AND sleep ${sleep}
|
||||
... AND click xpath=${xpath1}${key}${xpath2}/span
|
||||
run keyword if "${class}"=="${close}" and "${dict}[${key}]"=="0" log 默认关闭,不进行操作
|
||||
END
|
||||
LogSession
|
||||
[Arguments] ${LogSession}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${LogSession}:填入clcos或其他
|
||||
run keyword if "${LogSession}"=="close" run keywords sleep ${sleep}
|
||||
... AND click element id=addlabel_labels_log
|
||||
... ELSE log 开启日志
|
||||
Enabled
|
||||
[Arguments] ${Enabled}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${Enabled}:填入open或其他
|
||||
run keyword if "${Enabled}"=="open" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="policy_paper_left"]/div/label[contains(text(), "Enabled")]/following-sibling::div/div
|
||||
... AND sleep ${sleep}
|
||||
... AND click element xpath=/html/body/div/div/div[3]/button[2]
|
||||
... ELSE log 开启日志
|
||||
|
||||
Security-Policies-OK
|
||||
sleep ${sleep}
|
||||
click element id=interceptionadd_sub
|
||||
Create-Object-Search
|
||||
[Arguments] ${name} ${filter}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${name}:填入是一个列表,列表内容为object的name
|
||||
... 选择search对象
|
||||
sleep ${sleep}
|
||||
click element xpath=//*[@id="policy_paper_left"]/div[8]/div/div[1]/label[contains(text(), "${filter}")]/following-sibling::div/div
|
||||
sleep ${sleep}
|
||||
FOR ${i} IN @{name}
|
||||
input text xpath=//*[@id="condistions_protocol"]/div[2]/p[contains(text(), "${filter}")]/following-sibling::div[2]/div/div[1]/input ${i}
|
||||
sleep ${sleep}
|
||||
press keys xpath=//*[@id="condistions_protocol"]/div[2]/p[contains(text(), "${filter}")]/following-sibling::div[2]/div/div[1]/input ENTER
|
||||
sleep ${sleep}
|
||||
click element xpath=//*[@id="condistions_protocol"]/div[2]/p[contains(text(), "${filter}")]/following-sibling::div[2]/div/div[2]/div/div/ul/li[1]
|
||||
sleep ${sleep}
|
||||
END
|
||||
|
||||
|
||||
Security-Source
|
||||
[Arguments] ${SourceType} ${SourceValue}
|
||||
Wait Until Element Is Enabled xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/div/div[2]/div/div 10
|
||||
click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/div/div[2]/div/div
|
||||
sleep ${sleep}
|
||||
run keyword if "${SourceType}"=="ID" run keywords sleep ${sleep}
|
||||
... AND click element xpath=/html/body/div/div[1]/div[1]/ul/li[2]
|
||||
run keyword if "${SourceType}"=="Name" run keywords sleep ${sleep}
|
||||
... AND click element xpath=/html/body/div/div[1]/div[1]/ul/li[3]
|
||||
run keyword if "${SourceType}"=="Action" run keywords sleep ${sleep}
|
||||
... AND click element xpath=/html/body/div/div[1]/div[1]/ul/li[4]
|
||||
sleep ${sleep}
|
||||
input text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/div/div[2]/div/div[1]/div[3]/div/input ${SourceValue}
|
||||
sleep ${sleep}
|
||||
click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/i
|
||||
sleep ${sleep}
|
||||
click element xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]
|
||||
sleep ${sleep}
|
||||
|
||||
EditButton
|
||||
sleep ${sleep}
|
||||
click element xpath=//*[@id="appEdit"]/span/div/div[2]
|
||||
sleep ${sleep}
|
||||
|
||||
Initialize-Policie
|
||||
[Arguments] ${InitializeAction}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${InitializeAction}:根据用例进行填写,意思就是是那一个action就不要点击哪一个,以免初始化失败
|
||||
run keyword if "${InitializeAction}"=="Allow" run keywords sleep ${sleep}
|
||||
... AND click element id=security_action_deny
|
||||
... AND sleep ${sleep}
|
||||
... ELSE IF "${InitializeAction}"=="Deny" run keywords sleep ${sleep}
|
||||
... AND click element id=security_action_allow
|
||||
... ELSE IF "${InitializeAction}"=="Monitor" run keywords sleep ${sleep}
|
||||
... AND click element id=security_action_deny
|
||||
... ELSE IF "${InitializeAction}"=="Intercept" run keywords sleep ${sleep}
|
||||
... AND click element id=security_action_deny
|
||||
... ELSE log 不修改
|
||||
sleep ${sleep}
|
||||
${status} Run Keyword And Return Status Page should contain element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form[1]/div/div[4]/div[1]/div/div/div #判断页面是否包含该元素
|
||||
run keyword if "${status}"=="False" log go on
|
||||
run keyword if "${status}"=="True" run keywords sleep ${sleep}
|
||||
... AND click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form[1]/div/div[4]/div[1]/div/div/div/p/span/span/i[2]
|
||||
... AND sleep ${sleep}
|
||||
${status1} Run Keyword And Return Status Page should contain element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form[1]/div/div[5]/div[1]/div/div/div #判断页面是否包含该元素
|
||||
run keyword if "${status1}"=="False" log go on
|
||||
run keyword if "${status1}"=="True" run keywords sleep ${sleep}
|
||||
... AND click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form[1]/div/div[5]/div[1]/div/div/div/p/span/span/i[2]
|
||||
... AND sleep ${sleep}
|
||||
|
||||
Delete-Security-estimate
|
||||
[Arguments] ${securityname}
|
||||
run keyword if "${securityname}"!="null" run keywords sleep ${sleep}
|
||||
... AND Delete-Security ${securityname}
|
||||
... ELSE log go on
|
||||
|
||||
Delete-Security
|
||||
[Arguments] ${securityname}
|
||||
|
||||
Menu policys Security Policy
|
||||
sleep ${sleep}
|
||||
Wait Until Element Is Enabled xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/div/div[2]/div/div 10
|
||||
click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/div/div[2]/div/div
|
||||
sleep ${sleep}
|
||||
click element xpath=/html/body/div/div[1]/div[1]/ul/li[3]
|
||||
sleep ${sleep}
|
||||
input text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/div/div[2]/div/div[1]/div[3]/div/input ${securityname}
|
||||
sleep ${sleep}
|
||||
click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/i
|
||||
sleep ${sleep}
|
||||
Run Keyword And Ignore Error click element xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]
|
||||
sleep ${sleep}
|
||||
sleep ${sleep}
|
||||
Run Keyword And Ignore Error click element id=appDel
|
||||
sleep ${sleep}
|
||||
Run Keyword And Ignore Error click element xpath=/html/body/div/div/div[3]/button[2]
|
||||
sleep ${sleep}
|
||||
|
||||
Delete-object-estimate
|
||||
[Arguments] ${obj}
|
||||
run keyword if "${obj}"!="null" run keywords sleep ${sleep}
|
||||
... AND Delete-object ${obj}
|
||||
... ELSE log go on
|
||||
Delete-object
|
||||
[Arguments] ${obj}
|
||||
FOR ${num} ${key} IN ENUMERATE @{obj}
|
||||
Forname ${obj}[${key}] ${key}
|
||||
|
||||
END
|
||||
|
||||
Forname
|
||||
[Arguments] ${objectname} ${key}
|
||||
FOR ${i} IN @{objectname}
|
||||
Menu objects ${key}
|
||||
sleep ${sleep}
|
||||
click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/div/div[2]/div/div/div/input #点击输入框
|
||||
sleep ${sleep}
|
||||
click element xpath=/html/body/div/div[1]/div[1]/ul/li[3] #点击name为搜索类型
|
||||
sleep ${sleep}
|
||||
input text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/div/div[2]/div/div[1]/div[3]/div/input ${i} #输入搜索内容
|
||||
sleep ${sleep}
|
||||
click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/i #点击搜索按钮
|
||||
sleep ${sleep}
|
||||
Run Keyword And Ignore Error click element xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]/td[1]/div/div/span #选择搜索到的列表
|
||||
sleep ${sleep}
|
||||
sleep ${sleep}
|
||||
Run Keyword And Ignore Error click element id=objectDel #点击删除按钮
|
||||
sleep ${sleep}
|
||||
Run Keyword And Ignore Error click element xpath=/html/body/div/div/div[3]/button[2]
|
||||
sleep ${sleep}
|
||||
END
|
||||
@@ -36,7 +36,7 @@ Test-UIAddPolicies
|
||||
${ResponseHeadername} create list zdhressck zdhresct
|
||||
${RequestContentname} create list zdhreqcontent
|
||||
${filter} create list Host URL Request Header Response Header Request Content
|
||||
${policyInfo} Create Dictionary policyType=Security Policy policyName=${TEST NAME} policyAction=deny policySubAction=Drop ApplicationSearch=HTTP policyLogSession=1 policyEnabled=1
|
||||
${policyInfo} Create Dictionary policyType=Security Policy policyName=${TEST NAME} policyAction=deny policySubAction=RST ApplicationSearch=HTTP policyLogSession=1 policyEnabled=1
|
||||
${sip1} Create Dictionary sordtype=Source type1=Ip CreateOrSearch=Create Add=Address name=${TEST NAME}_IP1 ipclienttext1=192.168.40.11-192.168.40.110 port=1-65535
|
||||
${ip_name} create list ${TEST NAME}_IP1
|
||||
${sip2} Create Dictionary sordtype=Source type1=Ip CreateOrSearch=Create Add=Group name=${TEST NAME}_IPGroup1 object_name=${ip_name}
|
||||
@@ -50,8 +50,7 @@ Test-UIAddPolicies
|
||||
${ssub1} Create Dictionary sordtype=Source type1=SUBID CreateOrSearch=Create Add=Address name=${TEST NAME}_Subid1 keywordtext=$test25
|
||||
${sub_name} create list ${TEST NAME}_Subid1
|
||||
${ssub2} Create Dictionary sordtype=Source type1=SUBID CreateOrSearch=Create Add=Group name=${TEST NAME}_Subid2 object_name=${sub_name}
|
||||
#${sourceAddIpList} Create List ${sip1} ${sip2} ${slearn1} ${slearn2} ${ssub1} ${ssub2} ${sgeo1} ${sgeo2}
|
||||
${sourceAddIpList} Create List ${sgeo1} ${sgeo2}
|
||||
${sourceAddIpList} Create List ${sip1} ${sip2} ${slearn1} ${slearn2} ${ssub1} ${ssub2} ${sgeo1} ${sgeo2}
|
||||
${sourceInfo} Create Dictionary sourceAddIpList=${sourceAddIpList}
|
||||
${ip_name1} create list ${TEST NAME}_IP1 ${TEST NAME}_IPGroup1
|
||||
${sgeo_name1} create list ${TEST NAME}_Geo1 ${TEST NAME}_GeoGroup1
|
||||
@@ -64,5 +63,5 @@ Test-UIAddPolicies
|
||||
${destinationInfo} Create Dictionary destinationAddIpList=${destinationAddIpList}
|
||||
${filterInfo} Create Dictionary Filter=${filter} Hostname=${hostname} URLname=${urlname} Request Headername=${RequestHeadername} Response Headername=${ResponseHeadername}
|
||||
... Request Contentname=${RequestContentname}
|
||||
#UIAddPolicies ${policyInfo} sourceInfo=${sourceInfo} destinationInfo=${destinationInfo} filterInfo=${filterInfo}
|
||||
UIAddPolicies ${policyInfo} destinationInfo=${destinationInfo} filterInfo=${filterInfo}
|
||||
UIAddPolicies ${policyInfo} sourceInfo=${sourceInfo} destinationInfo=${destinationInfo} filterInfo=${filterInfo}
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ UIAddPolicies
|
||||
... ELSE set variable ${policySubAction}
|
||||
|
||||
${return} ${ApplicationSearch} Run Keyword And Ignore Error Get From Dictionary ${policyInfo} ApplicationSearch
|
||||
#${ApplicationSearchV} Run Keyword If "${return}"!="FAIL" and "${ApplicationSearch}"!="${EMPTY}" and "${ApplicationSearch}"!="${None}" Evaluate list(map(int, re.split('[,]', '${ApplicationSearch}'))) re
|
||||
|
||||
${ApplicationSearchV} Run Keyword If "${return}"!="FAIL" and "${ApplicationSearch}"!="${EMPTY}" and "${ApplicationSearch}"!="${None}" Evaluate list(re.split('[,]', '${ApplicationSearch}')) re
|
||||
... ELSE Set Variable ${emptyList}
|
||||
|
||||
@@ -51,9 +51,7 @@ UIAddPolicies
|
||||
Menu policys ${policyType}
|
||||
Comment 新建策略 打开安全策略列表上方的新建策略按钮
|
||||
UIPolicy.CreateButton
|
||||
#${return} ${policyType} Run Keyword And Ignore Error Get From Dictionary ${policy} policyType
|
||||
#Run Keyword If "${return}"=="FAIL" or "${policyType}"=="${EMPTY}" Set To Dictionary ${returnDict} policyType=${Default_PolicyType}
|
||||
#... ELSE Set To Dictionary ${returnDict} policyType=${policyType}
|
||||
|
||||
UIPolicy.Create-name ${policyType} ${policyName}
|
||||
UIPolicy.Create-actions ${policyType} ${policyAction}
|
||||
#Create-Source-Button
|
||||
@@ -61,20 +59,18 @@ UIAddPolicies
|
||||
... ELSE UIPolicy. Create-Source-Button
|
||||
Run Keyword If "${sourceInfo}"=="${EMPTY}" log there is no sourceInfoDict
|
||||
... ELSE UIPolicy.CreateEditDeleteSources ${sourceInfo}
|
||||
#Create-Source type1=Ip CreateOrSearch=Create Add=Address name=zdhip001 ipclienttext1=192.168.100.1 post=1
|
||||
#Create-Destination-Button
|
||||
|
||||
Run Keyword If "${destinationInfo}"=="${EMPTY}" log there is no destinationInfo
|
||||
... ELSE UIPolicy.Create-Destination-Button
|
||||
Run Keyword If "${destinationInfo}"=="${EMPTY}" log there is no destinationInfo
|
||||
... ELSE UIPolicy.CreateEditDeleteDestination ${destinationInfo}
|
||||
#Create-Destination type1=Ip CreateOrSearch=Create Add=Address name=zdhip001 ipclienttext1=192.168.100.1 post=1
|
||||
|
||||
UIPolicy.Create-Application-Button ${policyType} ${ApplicationSearchV} ${policyAction}
|
||||
#编辑filter
|
||||
Run Keyword If "${filterInfo}"=="${EMPTY}" log there is no filterInfo
|
||||
... ELSE Create-Filter-SecurityOrProxy ${policyType} ${ApplicationSearchV}[0] ${filterInfo}
|
||||
log 111111111111111111
|
||||
Run Keyword If "${policyType}"=="Security Policy" and "${policyAction}"=="deny" run keywords sleep 2
|
||||
... AND Deny-subaction ${policyAction} ${policySubAction} ${subactionadd}
|
||||
... AND Deny-subaction-1 ${policyAction} ${policySubAction} ${subactionadd}
|
||||
Run Keyword If "${policyType}"=="Security Policy" and "${policyAction}"=="intercept" and "ApplicationSearchV"=="SSL" run keywords sleep 2
|
||||
... AND interceptadd ${Keyring} ${MirrorDecryptedTrafficInfo} ${DecryptionProfile}
|
||||
Run Keyword If "${policyType}"=="Proxy Policy" and "${policyAction}"=="deny" run keywords sleep 2
|
||||
@@ -94,9 +90,114 @@ UIAddPolicies
|
||||
... ELSE ProxyEnabled ${policyEnabled}
|
||||
Run Keyword If "${policyType}"=="Security Policy" Security-Policies-OK
|
||||
... ELSE Proxy-Policies-OK
|
||||
Security-Source Name ${policyName}
|
||||
Run Keyword If "${policyType}"=="Security Policy" SecurityAssert ${policyName}
|
||||
... ELSE ProxyAssert ${policyName}
|
||||
|
||||
UIUpdataPolicies
|
||||
[Arguments] ${policyInfo} ${sourceInfo}=null ${destinationInfo}=null ${filterInfo}=null ${subactionadd}=null ${Keyring}=null ${MirrorDecryptedTrafficInfo}=null ${DecryptionProfile}=null
|
||||
... ${ProxyDenyadd}=null ${DenyRedirectadd}=null ${ReplaceActionParameters}=null ${HijackFileadd}=null ${InsertScript}=null
|
||||
[Documentation] 编辑策略
|
||||
|
||||
${emptyList} Create List
|
||||
${return} ${policyType} Run Keyword And Ignore Error Get From Dictionary ${policyInfo} policyType
|
||||
${policyType} Run Keyword If "${return}"=="FAIL" or "${policyType}"=="${EMPTY}" set variable ${Default_PolicyType}
|
||||
... ELSE set variable ${policyType}
|
||||
|
||||
${return} ${policyName} Run Keyword And Ignore Error Get From Dictionary ${policyInfo} policyName
|
||||
${policyName} Run Keyword If "${return}"=="FAIL" or "${policyName}"=="${EMPTY}" set variable ${Default_PolicyName}
|
||||
... ELSE set variable ${policyName}
|
||||
|
||||
${return} ${policyEditName} Run Keyword And Ignore Error Get From Dictionary ${policyInfo} policyEditName
|
||||
${policyEditName} Run Keyword If "${return}"=="FAIL" or "${policyEditName}"=="${EMPTY}" set variable ${Default_PolicyName}
|
||||
... ELSE set variable ${policyEditName}
|
||||
|
||||
${return} ${policyAction} Run Keyword And Ignore Error Get From Dictionary ${policyInfo} policyAction
|
||||
${policyAction} Run Keyword If "${return}"=="FAIL" or "${policyAction}"=="${EMPTY}" set variable ${Default_Action}
|
||||
... ELSE set variable ${policyAction}
|
||||
|
||||
${return} ${policySubAction} Run Keyword And Ignore Error Get From Dictionary ${policyInfo} policySubAction
|
||||
${policySubAction} Run Keyword If "${return}"=="FAIL" or "${policySubAction}"=="${EMPTY}" set variable ${Default_PolicySubAction}
|
||||
... ELSE set variable ${policySubAction}
|
||||
|
||||
${return} ${ApplicationSearch} Run Keyword And Ignore Error Get From Dictionary ${policyInfo} ApplicationSearch
|
||||
|
||||
${ApplicationSearchV} Run Keyword If "${return}"!="FAIL" and "${ApplicationSearch}"!="${EMPTY}" and "${ApplicationSearch}"!="${None}" Evaluate list(re.split('[,]', '${ApplicationSearch}')) re
|
||||
... ELSE Set Variable ${emptyList}
|
||||
|
||||
${return} ${policyLogSession} Run Keyword And Ignore Error Get From Dictionary ${policyInfo} policyLogSession
|
||||
${policyLogSession} Run Keyword If "${return}"=="FAIL" or "${policyLogSession}"=="${EMPTY}" set variable ${Default_PolicyLogSession}
|
||||
... ELSE set variable ${policyName}
|
||||
|
||||
${return} ${LogOptions} Run Keyword And Ignore Error Get From Dictionary ${policyInfo} LogOptions
|
||||
${LogOptions} Run Keyword If "${return}"=="FAIL" or "${LogOptions}"=="${EMPTY}" set variable 1
|
||||
... ELSE set variable ${LogOptions}
|
||||
|
||||
${return} ${policyEnabled} Run Keyword And Ignore Error Get From Dictionary ${policyInfo} policyEnabled
|
||||
${policyEnabled} Run Keyword If "${return}"=="FAIL" or "${policyEnabled}"=="${EMPTY}" set variable ${Default_PolicyEnabled}
|
||||
... ELSE set variable ${policyEnabled}
|
||||
|
||||
Comment 新建策略 打开菜单
|
||||
Menu policys ${policyType}
|
||||
|
||||
Comment 新建策略 打开安全策略列表上方的新建策略按钮
|
||||
UIPolicy.CreateButton
|
||||
Comment 搜索要编辑的策略
|
||||
Security-Source Name ${policyName}
|
||||
Comment 点击编辑按钮Edit
|
||||
EditButton
|
||||
Comment 编辑name
|
||||
UIPolicy.Create-name ${policyType} ${policyEditName}
|
||||
UIPolicy.Create-actions ${policyType} ${policyAction}
|
||||
#Create-Source-Button
|
||||
Run Keyword If "${sourceInfo}"=="${EMPTY}" log there is no sourceInfoDict
|
||||
... ELSE UIPolicy. Create-Source-Button
|
||||
Run Keyword If "${sourceInfo}"=="${EMPTY}" log there is no sourceInfoDict
|
||||
... ELSE UIPolicy.CreateEditDeleteSources ${sourceInfo}
|
||||
|
||||
Run Keyword If "${destinationInfo}"=="${EMPTY}" log there is no destinationInfo
|
||||
... ELSE UIPolicy.Create-Destination-Button
|
||||
Run Keyword If "${destinationInfo}"=="${EMPTY}" log there is no destinationInfo
|
||||
... ELSE UIPolicy.CreateEditDeleteDestination ${destinationInfo}
|
||||
|
||||
UIPolicy.Create-Application-Button ${policyType} ${ApplicationSearchV} ${policyAction}
|
||||
#编辑filter
|
||||
Run Keyword If "${filterInfo}"=="${EMPTY}" log there is no filterInfo
|
||||
... ELSE Create-Filter-SecurityOrProxy ${policyType} ${ApplicationSearchV}[0] ${filterInfo}
|
||||
log 111111111111111111
|
||||
Run Keyword If "${policyType}"=="Security Policy" and "${policyAction}"=="deny" run keywords sleep 2
|
||||
... AND Deny-subaction-1 ${policyAction} ${policySubAction} ${subactionadd}
|
||||
Run Keyword If "${policyType}"=="Security Policy" and "${policyAction}"=="intercept" and "ApplicationSearchV"=="SSL" run keywords sleep 2
|
||||
... AND interceptadd ${Keyring} ${MirrorDecryptedTrafficInfo} ${DecryptionProfile}
|
||||
Run Keyword If "${policyType}"=="Proxy Policy" and "${policyAction}"=="deny" run keywords sleep 2
|
||||
... AND Proxy-Deny ${ProxyDenyadd}
|
||||
Run Keyword If "${policyType}"=="Proxy Policy" and "${policyAction}"=="redirect" run keywords sleep 2
|
||||
... AND Deny-Redirect ${DenyRedirectadd}
|
||||
Run Keyword If "${policyType}"=="Proxy Policy" and "${policyAction}"=="replace" run keywords sleep 2
|
||||
... AND Replace-Action-Parameters-for1 ${ReplaceActionParameters}
|
||||
Run Keyword If "${policyType}"=="Proxy Policy" and "${policyAction}"=="hijack" run keywords sleep 2
|
||||
... AND HijackFile-SearchorCreate ${HijackFileadd}
|
||||
Run Keyword If "${policyType}"=="Proxy Policy" and "${policyAction}"=="insert" run keywords sleep 2
|
||||
... AND InsertScript-SearchorCreate ${InsertScript}
|
||||
Run Keyword If "${policyType}"=="Proxy Policy" run keywords ProxyLogSession ${policyLogSession}
|
||||
... AND ProxyLogOptions ${LogOptions}
|
||||
... ELSE LogSession ${policyLogSession}
|
||||
Run Keyword If "${policyType}"=="Security Policy" Enabled ${policyEnabled}
|
||||
... ELSE ProxyEnabled ${policyEnabled}
|
||||
Run Keyword If "${policyType}"=="Security Policy" Security-Policies-OK
|
||||
... ELSE Proxy-Policies-OK
|
||||
Security-Source Name ${policyName}
|
||||
Run Keyword If "${policyType}"=="Security Policy" SecurityAssert ${policyName}
|
||||
... ELSE ProxyAssert ${policyName}
|
||||
|
||||
SecurityAssert
|
||||
[Arguments] ${policyName}
|
||||
${text} get text xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[2]/div/div/p
|
||||
Should Be Equal As Strings ${text} ${policyName}
|
||||
ProxyAssert
|
||||
[Arguments] ${policyName}
|
||||
${text} get text xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[2]/div/div/div/p
|
||||
Should Be Equal As Strings ${text} ${policyName}
|
||||
CreateEditDeleteSources
|
||||
[Arguments] ${sourceInfoDict}
|
||||
[Documentation] 策略源条件处理、包括增加:create、search,update、delete几个列表;
|
||||
@@ -691,7 +792,7 @@ Create-ProxyFilter
|
||||
... AND click element xpath=//*[@id="interceptionadd_checkappshow1"][contains(text(), "${i}")]
|
||||
... AND Create-Object-Search ${QNAMEname} ${i}
|
||||
END
|
||||
Deny-subaction
|
||||
Deny-subaction-1
|
||||
[Arguments] ${action} ${subaction} ${subactionadd}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${code}:填入403或404
|
||||
@@ -1518,6 +1619,7 @@ Security-Source
|
||||
sleep 1
|
||||
click element xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]
|
||||
sleep 1
|
||||
|
||||
|
||||
EditButton
|
||||
sleep 1
|
||||
|
||||
@@ -1,558 +0,0 @@
|
||||
*** Settings ***
|
||||
Library Selenium2Library
|
||||
Resource ../objects/NewObject.robot
|
||||
|
||||
*** Keywords ***
|
||||
CreateButton
|
||||
[Documentation] 点击安全策略中的Create按钮
|
||||
Wait Until Element Is Enabled id=app_create
|
||||
sleep ${sleep}
|
||||
click element id=app_create
|
||||
|
||||
Create-name
|
||||
[Arguments] ${name}
|
||||
[Documentation] 输入name
|
||||
sleep ${sleep}
|
||||
input text id=manipulation_elInput_policyName ${name}
|
||||
|
||||
Create-action
|
||||
[Arguments] ${action}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${action}:填入allow或deny或monitor或intercept
|
||||
... 判断要创建什么动作的策略
|
||||
sleep ${sleep}
|
||||
run keyword if "${action}"=="allow" run keywords sleep ${sleep}
|
||||
... AND click element id=proxyManipulationallow
|
||||
... ELSE IF "${action}"=="deny" run keywords sleep ${sleep}
|
||||
... AND click element id=proxyManipulationdeny
|
||||
... ELSE IF "${action}"=="monitor" run keywords sleep ${sleep}
|
||||
... AND click element id=proxyManipulationmonitor
|
||||
... ELSE IF "${action}"=="redirect" run keywords sleep ${sleep}
|
||||
... AND click element id=proxyManipulationredirect
|
||||
... ELSE IF "${action}"=="replace" run keywords sleep ${sleep}
|
||||
... AND click element id=proxyManipulationreplace
|
||||
... ELSE IF "${action}"=="hijack" run keywords sleep ${sleep}
|
||||
... AND click element id=proxyManipulationhijack
|
||||
... ELSE IF "${action}"=="insert" run keywords sleep ${sleep}
|
||||
... AND click element id=proxyManipulationinsert
|
||||
|
||||
Create-Source-Button
|
||||
[Documentation] 点击Source的加号
|
||||
sleep ${sleep}
|
||||
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的加号
|
||||
Wait Until Element Is Enabled xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[5]/div[1]/div/div 10
|
||||
sleep ${sleep}
|
||||
click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form/div/div[5]/div[1]/div/div
|
||||
|
||||
|
||||
ApplicationSearch
|
||||
[Arguments] ${action} ${HttpOrDoh}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${action}:填入是action的内容,例如redirect或deny
|
||||
... 选择search对象
|
||||
run keyword if "${action}"=="redirect" run keywords sleep ${sleep}
|
||||
... AND click element id=interceptionadd_application
|
||||
... AND sleep ${sleep}
|
||||
... AND HttpOrDoh ${HttpOrDoh}
|
||||
... ELSE log 不操作
|
||||
HttpOrDoh
|
||||
[Arguments] ${HttpOrDoh}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${HttpOrDoh}:填入是Application的内容,例如SSL或HTTP
|
||||
... 选择search对象
|
||||
run keyword if "${HttpOrDoh}"=="HTTP" run keywords sleep ${sleep}
|
||||
... AND click element id=interceptionadd_checkappshow1
|
||||
... AND sleep ${sleep}
|
||||
... AND click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[7]/div[3]/div/button
|
||||
... ELSE IF "${HttpOrDoh}"=="Doh" run keywords sleep ${sleep}
|
||||
... AND click element id=interceptionadd_checkappshow0
|
||||
... AND sleep ${sleep}
|
||||
... AND click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[7]/div[3]/div/button
|
||||
|
||||
|
||||
Create-Filter
|
||||
[Arguments] ${Application}=null ${Filter}=null ${Hostname}=null ${URLname}=null ${Request Headername}=null ${Response Headername}=null ${Request Contentname}=null
|
||||
... ${Response Contentname}=null ${QNAMEname}=null ${DohHostname}=null
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${Application}:填入是Application的内容,例如SSL或HTTP
|
||||
... ${Filter}:是一个列表,列表中填入filter类型,例如Host或URL等
|
||||
... name:各个对象名称的列表
|
||||
... 判断添加filter类型 xpath=//*[@id="policy_paper_left"]/div[8]/div/div[1]/label[contains(text(), "${filter}")]/following-sibling::div/div //*[@id="interceptionadd_checkappshow0"][contains(text(), "${filter}")]
|
||||
sleep ${sleep}
|
||||
FOR ${i} IN @{Filter}
|
||||
sleep ${sleep}
|
||||
click element id=interceptionadd_add_filter
|
||||
sleep ${sleep}
|
||||
run keyword if "${Application}"=="HTTP" and "${i}"=="Host" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="interceptionadd_checkappshow0"][contains(text(), "${i}")]
|
||||
... AND Create-Object-Search ${Hostname} ${i}
|
||||
run keyword if "${Application}"=="HTTP" and "${i}"=="URL" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="interceptionadd_checkappshow1"][contains(text(), "${i}")]
|
||||
... AND Create-Object-Search ${URLname} ${i}
|
||||
run keyword if "${Application}"=="HTTP" and "${i}"=="Request Header" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="interceptionadd_checkappshow2"][contains(text(), "${i}")]
|
||||
... AND Create-Object-Search ${Request Headername} ${i}
|
||||
run keyword if "${Application}"=="HTTP" and "${i}"=="Response Header" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="interceptionadd_checkappshow3"][contains(text(), "${i}")]
|
||||
... AND Create-Object-Search ${Response Headername} ${i}
|
||||
run keyword if "${Application}"=="HTTP" and "${i}"=="Request Content" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="interceptionadd_checkappshow4"][contains(text(), "${i}")]
|
||||
... AND Create-Object-Search ${Request Contentname} ${i}
|
||||
run keyword if "${Application}"=="HTTP" and "${i}"=="Response Content" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="interceptionadd_checkappshow5"][contains(text(), "${i}")]
|
||||
... AND Create-Object-Search ${Response Contentname} ${i}
|
||||
run keyword if "${Application}"=="Doh" and "${i}"=="Host" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="interceptionadd_checkappshow0"][contains(text(), "${i}")]
|
||||
... AND Create-Object-Search ${DohHostname} ${i}
|
||||
run keyword if "${Application}"=="Doh" and "${i}"=="QNAME" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="interceptionadd_checkappshow1"][contains(text(), "${i}")]
|
||||
... AND Create-Object-Search ${QNAMEname} ${i}
|
||||
END
|
||||
Deny-subaction
|
||||
[Arguments] ${action} ${denycode}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${denycode}:填入403或404或451
|
||||
... ${action}:填入deny
|
||||
... 添加subaction
|
||||
run keyword if "${action}"=="deny" and "${denycode}"=="403" run keywords sleep ${sleep}
|
||||
... AND click element id=manipulation_select_addAction
|
||||
... AND sleep ${sleep}
|
||||
... AND click element //span[.="${denycode}"]
|
||||
... AND sleep ${sleep}
|
||||
run keyword if "${action}"=="deny" and "${denycode}"=="404" run keywords sleep ${sleep}
|
||||
... AND click element id=manipulation_select_addAction
|
||||
... AND sleep ${sleep}
|
||||
... AND click element //span[.="${denycode}"]
|
||||
... AND sleep ${sleep}
|
||||
run keyword if "${action}"=="deny" and "${denycode}"=="451" run keywords sleep ${sleep}
|
||||
... AND click element id=manipulation_select_addAction
|
||||
... AND sleep ${sleep}
|
||||
... AND click element //span[.="${denycode}"]
|
||||
... AND sleep ${sleep}
|
||||
... AND
|
||||
Deny-content
|
||||
[Arguments] ${contenttype}=File ${SearchorCreate}=null ${ProfileName}=null ${file}=null ${textvalue}=null
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${code}:填入403或404
|
||||
... ${Content}:填入TEXT或Profile
|
||||
... ${SearchorCreate}:填入Search或Create
|
||||
... ${block-text}:填入TEXT文本框内容
|
||||
... ${ProfileName}:Profile的名字
|
||||
... ${file}:上传文件路径
|
||||
... ${textvalue}:填入text输入框内容
|
||||
... 添加block数据内容
|
||||
sleep ${sleep}
|
||||
run keyword if "${contenttype}"=="File" run keywords sleep ${sleep}
|
||||
... AND click element id=manipulation_select_blockInfo
|
||||
... AND sleep ${sleep}
|
||||
... AND click element id=ResponseContentFile
|
||||
... AND sleep ${sleep}
|
||||
... AND click element id=manipulation_select_htmlProfile
|
||||
... AND sleep ${sleep}
|
||||
... AND Profile-SearchorCreate ${SearchorCreate} ${ProfileName} ${file}
|
||||
run keyword if "${contenttype}"=="Text" run keywords sleep ${sleep}
|
||||
... AND click element id=manipulation_select_blockInfo
|
||||
... AND sleep ${sleep}
|
||||
... AND click ellement id=ResponseContentText
|
||||
... AND sllep 1
|
||||
... AND input text id=manipulation_elInput_blockselect ${textvalue}
|
||||
... AND sleep ${sleep}
|
||||
Profile-SearchorCreate
|
||||
[Arguments] ${SearchorCreate} ${ProfileName} ${file}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${SearchorCreate}:填入Search或Create
|
||||
... ${ProfileName}:Profile的名字
|
||||
... ${file}:上传文件路径
|
||||
... 判断是新建还是搜索profile
|
||||
sleep ${sleep}
|
||||
run keyword if "${SearchorCreate}"=="Search" run keywords sleep ${sleep}
|
||||
... AND input text xapth=/html/body/div/div[1]/div[1]/ul/div[1]/div/input ${ProfileName}
|
||||
... AND sleep ${sleep}
|
||||
... AND press keys xapth=/html/body/div/div[1]/div[1]/ul/div[1]/div/input ENTER
|
||||
... AND sleep ${sleep}
|
||||
... AND click element xpath=/html/body/div/div[1]/div[1]/ul/div[2]/div/li[1]
|
||||
... AND sleep ${sleep}
|
||||
... ELSE IF "${SearchorCreate}"=="Create" run keywords sleep ${sleep}
|
||||
... AND click element xpath=/html/body/div/div[1]/div[1]/ul/div[1]/div/div/button
|
||||
... AND sleep ${sleep}
|
||||
... AND input text id=responsepages_profileName ${ProfileName}
|
||||
... AND sleep ${sleep}
|
||||
... AND Choose File xpath=//*[@id="policy_Manipulation_create6"]/div[2]/form/div[2]/div/div/div/input ${file} #上传文件
|
||||
... AND sleep ${sleep}
|
||||
... AND click element id=responseAddOk1
|
||||
... AND sleep ${sleep}
|
||||
... ELSE log 传入参数错误
|
||||
Deny-Redirect
|
||||
[Arguments] ${QType} ${Avalue} ${Attl} ${CNAMEvalue} ${CNAMEttl}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${QType}:填入A或AAAA
|
||||
... ${Avalue}:根据${QType}填入IPV4或IPV6的值
|
||||
... ${Attl}:根据${QType}填入A的ttl值或AAAA的ttl值
|
||||
... ${CNAMEvalue}:根据${QType}填入A的CNAME的域名值或AAAA的CNAME域名值
|
||||
... ${CNAMEttl}:根据${QType}填入A的CNAME的ttl值或AAAA的CNAME的ttl值
|
||||
... 新建Redirect
|
||||
sleep ${sleep}
|
||||
click element id=interceptionadd_add_filter
|
||||
sleep ${sleep}
|
||||
run keyword if "${QType}"=="A" run keywords sleep ${sleep}
|
||||
... AND input text id=A00 ${Avalue}
|
||||
... AND sleep ${sleep}
|
||||
... AND input text id=ttl00 ${Attl}
|
||||
... AND sleep ${sleep}
|
||||
... AND click element id=interceptionadd_addForm
|
||||
... AND sleep ${sleep}
|
||||
... AND input text id=Cname01 ${CNAMEvalue}
|
||||
... AND sleep ${sleep}
|
||||
... AND input text id=ttl01 ${CNAMEttl}
|
||||
run keyword if "${QType}"=="AAAA" run keywords sleep ${sleep}
|
||||
... AND click element id=dns_qtype_radio01
|
||||
... AND input text id=AAAA00 ${Avalue}
|
||||
... AND sleep ${sleep}
|
||||
... AND input text id=ttl00 ${Attl}
|
||||
... AND sleep ${sleep}
|
||||
... AND click element id=interceptionadd_addForm
|
||||
... AND sleep ${sleep}
|
||||
... AND input text id=Cname01 ${CNAMEvalue}
|
||||
... AND sleep ${sleep}
|
||||
... AND input text id=ttl01 ${CNAMEttl}
|
||||
sleep ${sleep}
|
||||
click element id=interceptionadd_shezhidns
|
||||
|
||||
Replace-Action-Parameters-for1
|
||||
[Arguments] ${ParametersType} ${RequestURIFind}=null ${RequestURIReplacewith}=null ${RequestBodyFind}=null ${RequestBodyReplacewith}=null ${ResponseBodyFind}=null
|
||||
... ${ResponseBodyReplacewith}=null ${RequestHeaderFind}=null ${RequestHeaderReplacewith}=null ${ResponseHeaderFind}=null ${ResponseHeaderReplacewith}=null
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${ParametersType}:列表格式,Search 下拉框中内容
|
||||
... ${i}:索引值
|
||||
... ${xxxFind}:是Find输入框输入的值
|
||||
... ${XXXReplacewith} :是 Replacewith输入框中输入的值
|
||||
${len} Get Length ${ParametersType}
|
||||
${len1} evaluate ${len}+1
|
||||
FOR ${i} IN RANGE 1 ${len1}
|
||||
Replace-Action-Parameters-for2 ${ParametersType} ${i} ${RequestURIFind} ${RequestURIReplacewith} ${RequestBodyFind} ${RequestBodyReplacewith} ${ResponseBodyFind}
|
||||
... ${ResponseBodyReplacewith} ${RequestHeaderFind} ${RequestHeaderReplacewith} ${ResponseHeaderFind} ${ResponseHeaderReplacewith}
|
||||
sleep ${sleep}
|
||||
run keyword if "${len}"!="1" run keywords sleep ${sleep}
|
||||
... AND clcik element id=replaceadd_btn
|
||||
... AND sleep ${sleep}
|
||||
END
|
||||
sleep ${sleep}
|
||||
|
||||
Replace-Action-Parameters-for2
|
||||
[Arguments] ${ParametersType} ${i} ${RequestURIFind} ${RequestURIReplacewith} ${RequestBodyFind} ${RequestBodyReplacewith} ${ResponseBodyFind}
|
||||
... ${ResponseBodyReplacewith} ${RequestHeaderFind} ${RequestHeaderReplacewith} ${ResponseHeaderFind} ${ResponseHeaderReplacewith}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${ParametersType}:列表格式,Search 下拉框中内容
|
||||
... ${i}:索引值
|
||||
... ${xxxFind}:是Find输入框输入的值
|
||||
... ${XXXReplacewith} :是 Replacewith输入框中输入的值
|
||||
FOR ${j} IN @{ParametersType}
|
||||
run keyword if "${j}"=="RequestURI" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[1]/div/div/div[1]/input
|
||||
... AND sleep ${sleep}
|
||||
... AND input text xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[2]/div/div/input ${RequestURIFind}
|
||||
... AND sleep ${sleep}
|
||||
... AND input text xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[3]/div/div/input ${RequestURIReplacewith}
|
||||
... AND sleep ${sleep}
|
||||
run keyword if "${j}"=="RequestBody" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[1]/div/div/div[1]/input
|
||||
... AND sleep ${sleep}
|
||||
... AND input text xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[2]/div/div/input ${RequestBodyFind}
|
||||
... AND sleep ${sleep}
|
||||
... AND input text xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[3]/div/div/input ${RequestBodyReplacewith}
|
||||
... AND sleep ${sleep}
|
||||
run keyword if "${j}"=="ResponseBody" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[1]/div/div/div[1]/input
|
||||
... AND sleep ${sleep}
|
||||
... AND input text xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[2]/div/div/input ${ResponseBodyFind}
|
||||
... AND sleep ${sleep}
|
||||
... AND input text xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[3]/div/div/input ${ResponseBodyReplacewith}
|
||||
... AND sleep ${sleep}
|
||||
run keyword if "${j}"=="RequestHeader" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[1]/div/div/div[1]/input
|
||||
... AND sleep ${sleep}
|
||||
... AND input text xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[2]/div/div/input ${RequestHeaderFind}
|
||||
... AND sleep ${sleep}
|
||||
... AND input text xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[3]/div/div/input ${RequestHeaderReplacewith}
|
||||
... AND sleep ${sleep}
|
||||
run keyword if "${j}"=="ResponseHeader" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[1]/div/div/div[1]/input
|
||||
... AND sleep ${sleep}
|
||||
... AND input text xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[2]/div/div/input ${ResponseHeaderFind}
|
||||
... AND sleep ${sleep}
|
||||
... AND input text xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[3]/div/div/input ${ResponseHeaderReplacewith}
|
||||
... AND sleep ${sleep}
|
||||
END
|
||||
|
||||
HijackFile-SearchorCreate
|
||||
[Arguments] ${SearchorCreate} ${Hijackname} ${Hijackfile} ${dow_name} ${input} ${Hijackname} ${Hijacktype}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${SearchorCreate}:填入Search或Create
|
||||
... ${Hijackname}:填入新建hijack的name
|
||||
... ${Hijackfile}:填入新建hijack文件的路径
|
||||
... ${dow_name}:根据情况填入close或open或其他
|
||||
... ${input};填入shuru或其他
|
||||
... ${Hijacktype}:填入选择文件类型的元素
|
||||
... 判断是新建还是搜索HijackFile
|
||||
sleep ${sleep}
|
||||
click element xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[4]/div/div/div/div
|
||||
sleep ${sleep}
|
||||
run keyword if "${SearchorCreate}"=="Search" run keywords sleep ${sleep}
|
||||
... AND input text xapth=/html/body/div/div[1]/div[1]/ul/div[1]/div/input ${Hijackname}
|
||||
... AND sleep ${sleep}
|
||||
... AND press keys xapth=/html/body/div/div[1]/div[1]/ul/div[1]/div/input ENTER
|
||||
... AND sleep ${sleep}
|
||||
... AND click element xpath=/html/body/div/div[1]/div[1]/ul/div[2]/div/li[1]
|
||||
... AND sleep ${sleep}
|
||||
... ELSE IF "${SearchorCreate}"=="Create" run keywords sleep ${sleep}
|
||||
... AND click element xpath=/html/body/div/div[1]/div[1]/ul/div[1]/div/div/button
|
||||
... AND sleep ${sleep}
|
||||
... AND HijackFile-Create ${Hijackname} ${Hijackfile} ${dow_name} ${input} ${Hijackname} ${Hijacktype}
|
||||
... ELSE log 传入参数错误
|
||||
|
||||
HijackFile-Create
|
||||
[Arguments] ${Hijackname} ${Hijackfile} ${dow_name} ${input} ${Hijackname} ${Hijacktype}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${Hijackname}:填入新建hijack的name
|
||||
... ${Hijackfile}:填入新建hijack文件的路径
|
||||
... ${dow_name}:根据情况填入close或open或其他
|
||||
... ${input};填入shuru或其他
|
||||
... ${Hijacktype}:填入选择文件类型的元素
|
||||
... 新建hijack
|
||||
sleep ${sleep}
|
||||
input id=hijack_profileName ${Hijackname} #输入name
|
||||
sleep ${sleep}
|
||||
Choose File xpath=//*[@id="proxy"]/div[11]/div/div[1]/div[2]/form/div[2]/div/div/div[1]/input ${Hijackfile} #上传文件
|
||||
sleep ${sleep}
|
||||
run keyword if "${dow_name}"=="close" and "${input}"=="shuru" run keywords sleep ${sleep}
|
||||
... AND input text id=hijack_contentName ${Hijackname}
|
||||
... ELSE IF "${dow_name}"=="open" click element xpath=//*[@id="contentNameChoose"]/div[1]/span[2]
|
||||
sleep ${sleep}
|
||||
click element id=hijackAddContentType #点击+ 打开侧滑窗口
|
||||
sleep ${sleep}
|
||||
click element ${Hijacktype} #选择文件类型
|
||||
sleep ${sleep}
|
||||
click element id=hijackAddOk1 #点击OK
|
||||
|
||||
InsertScript-SearchorCreate
|
||||
[Arguments] ${SearchorCreate} ${Insertname} ${Insertfile} ${Inserttype} ${Insertjstype}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${SearchorCreate}:填入Search或Create
|
||||
... ${Insertname}:填入新建insert的name
|
||||
... ${Insertfile}:填入新建insert文件的路径
|
||||
... ${Inserttype}:根据情况填入css或js
|
||||
... ${Insertjstype};填入Before Page Load或After Page Load
|
||||
... 判断是新建还是搜索insert
|
||||
sleep ${sleep}
|
||||
click element id=manipulation_select_insetScript
|
||||
sleep ${sleep}
|
||||
run keyword if "${SearchorCreate}"=="Search" run keywords sleep ${sleep}
|
||||
... AND input text xapth=/html/body/div/div[1]/div[1]/ul/div[1]/div/input ${Hijackname}
|
||||
... AND sleep ${sleep}
|
||||
... AND press keys xapth=/html/body/div/div[1]/div[1]/ul/div[1]/div/input ENTER
|
||||
... AND sleep ${sleep}
|
||||
... AND click element xpath=/html/body/div/div[1]/div[1]/ul/div[2]/div/li[1]
|
||||
... AND sleep ${sleep}
|
||||
... ELSE IF "${SearchorCreate}"=="Create" run keywords sleep ${sleep}
|
||||
... AND click element xpath=/html/body/div/div[1]/div[1]/ul/div[1]/div/div/button
|
||||
... AND sleep ${sleep}
|
||||
... AND InsertScript-Create ${Insertname} ${Insertfile} ${Inserttype} ${Insertjstype}
|
||||
... ELSE log 传入参数错误
|
||||
|
||||
InsertScript-Create
|
||||
[Arguments] ${Insertname} ${Insertfile} ${Inserttype} ${Insertjstype}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${Insertname}:填入新建insert的name
|
||||
... ${Insertfile}:填入新建insert文件的路径
|
||||
... ${Inserttype}:根据情况填入css或js
|
||||
... ${Insertjstype};填入Before Page Load或After Page Load
|
||||
... 新建insert
|
||||
sleep ${sleep}
|
||||
input id=insert_profileName ${Insertname} #输入name
|
||||
sleep ${sleep}
|
||||
Choose File xpath=//*[@id="insertAddUpload"]/div[1]/input ${Insertfile} #上传文件
|
||||
sleep ${sleep}
|
||||
clcik element id=insert_select_format
|
||||
sleep ${sleep}
|
||||
run keyword if "${Inserttype}"=="css" run keywords sleep ${sleep}
|
||||
... AND click element //span[.="${Inserttype}"] #选择css
|
||||
run keyword if "${Inserttype}"=="js" run keywords sleep ${sleep}
|
||||
... AND click element //span[.="${Inserttype}"]
|
||||
... AND sleep ${sleep}
|
||||
... AND click element id=insert_select_insertOn #点击下拉框
|
||||
... AND sleep ${sleep}
|
||||
... AND click element //span[.="${Insertjstype}"]
|
||||
sleep ${sleep}
|
||||
click element id=insertAddOk1 #点击OK
|
||||
|
||||
|
||||
|
||||
|
||||
LogSession
|
||||
[Arguments] ${LogSession}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${LogSession}:填入clcos或其他
|
||||
run keyword if "${LogSession}"=="close" run keywords sleep ${sleep}
|
||||
... AND click element id=manipulationSwitch0
|
||||
... ELSE log 开启日志
|
||||
|
||||
LogOptions
|
||||
[Arguments] ${LogOptions}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${LogOptions}:填入All或其他
|
||||
run keyword if "${LogOptions}"=="All" run keywords sleep ${sleep}
|
||||
... AND click element id=logType1
|
||||
... ELSE log 选择Metadata only
|
||||
Enabled
|
||||
[Arguments] ${Enabled}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${Enabled}:填入open或其他
|
||||
run keyword if "${Enabled}"=="open" run keywords sleep ${sleep}
|
||||
... AND click element xpath=//*[@id="proxyManipulationUse"]/label[contains(text(), "Enabled")]/following-sibling::div/div
|
||||
... AND sleep ${sleep}
|
||||
... AND click element xpath=/html/body/div/div/div[3]/button[2]
|
||||
... ELSE log 开启日志
|
||||
|
||||
Proxy-Policies-OK
|
||||
sleep ${sleep}
|
||||
click element id=proxyManipulationSuccess
|
||||
sleep ${sleep}
|
||||
Create-Object-Search
|
||||
[Arguments] ${name} ${filter}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${name}:填入是一个列表,列表内容为object的name
|
||||
... 选择search对象
|
||||
sleep ${sleep}
|
||||
click element xpath=//*[@id="policy_paper_left"]/div[9]/div/div[1]/label[contains(text(), "${filter}")]/following-sibling::div/div
|
||||
sleep ${sleep}
|
||||
FOR ${i} IN @{name}
|
||||
input text xpath=//*[@id="condistions_protocol"]/div[2]/p[contains(text(), "${filter}")]/following-sibling::div[2]/div/div[1]/input ${i}
|
||||
sleep ${sleep}
|
||||
press keys xpath=//*[@id="condistions_protocol"]/div[2]/p[contains(text(), "${filter}")]/following-sibling::div[2]/div/div[1]/input ENTER
|
||||
sleep ${sleep}
|
||||
click element xpath=//*[@id="condistions_protocol"]/div[2]/p[contains(text(), "${filter}")]/following-sibling::div[2]/div/div[2]/div/div/ul/li[1]
|
||||
sleep ${sleep}
|
||||
END
|
||||
|
||||
|
||||
Proxy-Source
|
||||
[Arguments] ${SourceType} ${SourceValue}
|
||||
Wait Until Element Is Enabled xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/div/div[2]/div/div 10
|
||||
sleep ${sleep}
|
||||
click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/div/div[2]/div/div
|
||||
sleep ${sleep}
|
||||
run keyword if "${SourceType}"=="ID" run keywords sleep ${sleep}
|
||||
... AND click element xpath=/html/body/div/div[1]/div[1]/ul/li[2]
|
||||
run keyword if "${SourceType}"=="Name" run keywords sleep ${sleep}
|
||||
... AND click element xpath=/html/body/div/div[1]/div[1]/ul/li[3]
|
||||
run keyword if "${SourceType}"=="Action" run keywords sleep ${sleep}
|
||||
... AND click element xpath=/html/body/div/div[1]/div[1]/ul/li[4]
|
||||
sleep ${sleep}
|
||||
input text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/div/div[2]/div/div[1]/div[3]/div/input ${SourceValue}
|
||||
sleep ${sleep}
|
||||
click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/i
|
||||
sleep ${sleep}
|
||||
click element xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]
|
||||
sleep ${sleep}
|
||||
|
||||
EditButton
|
||||
sleep ${sleep}
|
||||
click element xpath=//*[@id="appEdit"]/span/div/div[2]
|
||||
sleep ${sleep}
|
||||
|
||||
Initialize-Policie
|
||||
[Arguments] ${InitializeAction}
|
||||
[Documentation] 调用次关键字前需要添加必填参数:
|
||||
... ${InitializeAction}:根据用例进行填写,意思就是是那一个action就不要点击哪一个,以免初始化失败
|
||||
run keyword if "${InitializeAction}"=="Allow" run keywords sleep ${sleep}
|
||||
... AND click element id=proxyManipulationdeny
|
||||
... AND sleep ${sleep}
|
||||
... ELSE IF "${InitializeAction}"=="Deny" run keywords sleep ${sleep}
|
||||
... AND click element id=proxyManipulationallow
|
||||
... ELSE IF "${InitializeAction}"=="Monitor" run keywords sleep ${sleep}
|
||||
... AND click element id=proxyManipulationdeny
|
||||
... ELSE IF "${InitializeAction}"=="Redirect" run keywords sleep ${sleep}
|
||||
... AND click element id=proxyManipulationdeny
|
||||
... ELSE IF "${InitializeAction}"=="Replace" run keywords sleep ${sleep}
|
||||
... AND click element id=proxyManipulationdeny
|
||||
... ELSE IF "${InitializeAction}"=="Hijack" run keywords sleep ${sleep}
|
||||
... AND click element id=proxyManipulationdeny
|
||||
... ELSE IF "${InitializeAction}"=="Insert" run keywords sleep ${sleep}
|
||||
... AND click element id=proxyManipulationdeny
|
||||
... ELSE log 不修改
|
||||
sleep ${sleep}
|
||||
${status} Run Keyword And Return Status Page should contain element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form[1]/div/div[4]/div[1]/div/div/div #判断页面是否包含该元素
|
||||
run keyword if "${status}"=="False" log go on
|
||||
run keyword if "${status}"=="True" run keywords sleep ${sleep}
|
||||
... AND click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form[1]/div/div[4]/div[1]/div/div/div/p/span/span/i[2]
|
||||
... AND sleep ${sleep}
|
||||
${status1} Run Keyword And Return Status Page should contain element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form[1]/div/div[5]/div[1]/div/div/div #判断页面是否包含该元素
|
||||
run keyword if "${status1}"=="False" log go on
|
||||
run keyword if "${status1}"=="True" run keywords sleep ${sleep}
|
||||
... AND click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[1]/form[1]/div/div[5]/div[1]/div/div/div/p/span/span/i[2]
|
||||
... AND sleep ${sleep}
|
||||
|
||||
Delete-Proxy-estimate
|
||||
[Arguments] ${securityname}
|
||||
run keyword if "${securityname}"!="null" run keywords sleep ${sleep}
|
||||
... AND Delete-Proxy ${securityname}
|
||||
... ELSE log go on
|
||||
|
||||
Delete-Proxy
|
||||
[Arguments] ${securityname}
|
||||
|
||||
Menu policys Proxy Policy
|
||||
sleep ${sleep}
|
||||
Wait Until Element Is Enabled xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/div/div[2]/div/div 10
|
||||
click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/div/div[2]/div/div
|
||||
sleep ${sleep}
|
||||
click element xpath=/html/body/div/div[1]/div[1]/ul/li[3]
|
||||
sleep ${sleep}
|
||||
input text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/div/div[2]/div/div[1]/div[3]/div/input ${securityname}
|
||||
sleep ${sleep}
|
||||
click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/i
|
||||
sleep ${sleep}
|
||||
Run Keyword And Ignore Error click element xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]
|
||||
sleep ${sleep}
|
||||
sleep ${sleep}
|
||||
Run Keyword And Ignore Error click element id=appDel
|
||||
sleep ${sleep}
|
||||
Run Keyword And Ignore Error click element xpath=/html/body/div/div/div[3]/button[2]
|
||||
sleep ${sleep}
|
||||
|
||||
Delete-object-estimate
|
||||
[Arguments] ${obj}
|
||||
run keyword if "${obj}"!="null" run keywords sleep ${sleep}
|
||||
... AND Delete-object ${obj}
|
||||
... ELSE log go on
|
||||
Delete-object
|
||||
[Arguments] ${obj}
|
||||
FOR ${num} ${key} IN ENUMERATE @{obj}
|
||||
Forname ${obj}[${key}] ${key}
|
||||
|
||||
END
|
||||
|
||||
Forname
|
||||
[Arguments] ${objectname} ${key}
|
||||
FOR ${i} IN @{objectname}
|
||||
Menu objects ${key}
|
||||
sleep ${sleep}
|
||||
click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/div/div[2]/div/div/div/input #点击输入框
|
||||
sleep ${sleep}
|
||||
click element xpath=/html/body/div/div[1]/div[1]/ul/li[3] #点击name为搜索类型
|
||||
sleep ${sleep}
|
||||
input text xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/div/div[2]/div/div[1]/div[3]/div/input ${i} #输入搜索内容
|
||||
sleep ${sleep}
|
||||
click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/i #点击搜索按钮
|
||||
sleep ${sleep}
|
||||
Run Keyword And Ignore Error click element xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]/td[1]/div/div/span #选择搜索到的列表
|
||||
sleep ${sleep}
|
||||
sleep ${sleep}
|
||||
Run Keyword And Ignore Error click element id=objectDel #点击删除按钮
|
||||
sleep ${sleep}
|
||||
Run Keyword And Ignore Error click element xpath=/html/body/div/div/div[3]/button[2]
|
||||
sleep ${sleep}
|
||||
END
|
||||
Reference in New Issue
Block a user