2021-02-02 18:27:51 +08:00
*** Settings ***
Library Selenium2Library
Resource ../objects/NewObject.robot
*** Keywords ***
CreateButton
[Documentation] 点击安全策略中的Create按钮
Wait Until Element Is Enabled id=app_create
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-02 18:27:51 +08:00
click element id=app_create
Create-name
[Arguments] ${name}
[Documentation] 输入name
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-02 18:27:51 +08:00
input text id=manipulation_elInput_policyName ${name}
Create-action
[Arguments] ${action}
[Documentation] 调用次关键字前需要添加必填参数:
... ${action}:填入allow或deny或monitor或intercept
... 判断要创建什么动作的策略
2021-02-20 15:05:32 +08:00
sleep ${sleep}
run keyword if "${action}"=="allow" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element id=proxyManipulationallow
2021-02-20 15:05:32 +08:00
... ELSE IF "${action}"=="deny" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element id=proxyManipulationdeny
2021-02-20 15:05:32 +08:00
... ELSE IF "${action}"=="monitor" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element id=proxyManipulationmonitor
2021-02-20 15:05:32 +08:00
... ELSE IF "${action}"=="redirect" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element id=proxyManipulationredirect
2021-02-20 15:05:32 +08:00
... ELSE IF "${action}"=="replace" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element id=proxyManipulationreplace
2021-02-20 15:05:32 +08:00
... ELSE IF "${action}"=="hijack" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element id=proxyManipulationhijack
2021-02-20 15:05:32 +08:00
... ELSE IF "${action}"=="insert" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element id=proxyManipulationinsert
Create-Source-Button
[Documentation] 点击Source的加号
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-02 18:27:51 +08:00
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
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-02 18:27:51 +08:00
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] ${Application} ${HttpOrDoh}
[Documentation] 调用次关键字前需要添加必填参数:
... ${Application}:填入是Application的内容, 例如SSL或HTTP
... 选择search对象
2021-02-20 15:05:32 +08:00
run keyword if "${Application}"=="redirect" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element id=interceptionadd_application
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND HttpOrDoh ${HttpOrDoh}
... ELSE log 不操作
HttpOrDoh
[Arguments] ${HttpOrDoh}
[Documentation] 调用次关键字前需要添加必填参数:
... ${HttpOrDoh}:填入是Application的内容, 例如SSL或HTTP
... 选择search对象
2021-02-20 15:05:32 +08:00
run keyword if "${HttpOrDoh}"=="HTTP" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element id=interceptionadd_checkappshow1
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[7]/div[3]/div/button
2021-02-20 15:05:32 +08:00
... ELSE IF "${HttpOrDoh}"=="Doh" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element id=interceptionadd_checkappshow0
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element xpath=/html/body/div[1]/div/div[3]/div[2]/div/div[7]/div[3]/div/button
2021-02-05 17:50:26 +08:00
2021-02-02 18:27:51 +08:00
Create-Filter
2021-02-05 17:50:26 +08:00
[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
2021-02-02 18:27:51 +08:00
[Documentation] 调用次关键字前需要添加必填参数:
... ${Application}:填入是Application的内容, 例如SSL或HTTP
... ${Filter}:是一个列表, 列表中填入filter类型, 例如Host或URL等
... name:各个对象名称的列表
2021-02-05 17:50:26 +08:00
... 判断添加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}")]
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-02 18:27:51 +08:00
FOR ${i} IN @{Filter}
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-02 18:27:51 +08:00
click element id=interceptionadd_add_filter
2021-02-20 15:05:32 +08:00
sleep ${sleep}
run keyword if "${Application}"=="HTTP" and "${i}"=="Host" run keywords sleep ${sleep}
2021-02-05 17:50:26 +08:00
... AND click element xpath=//*[@id="interceptionadd_checkappshow0"][contains(text(), "${i}")]
2021-02-02 18:27:51 +08:00
... AND Create-Object-Search ${Hostname} ${i}
2021-02-20 15:05:32 +08:00
run keyword if "${Application}"=="HTTP" and "${i}"=="URL" run keywords sleep ${sleep}
2021-02-05 17:50:26 +08:00
... AND click element xpath=//*[@id="interceptionadd_checkappshow1"][contains(text(), "${i}")]
2021-02-02 18:27:51 +08:00
... AND Create-Object-Search ${URLname} ${i}
2021-02-20 15:05:32 +08:00
run keyword if "${Application}"=="HTTP" and "${i}"=="Request Header" run keywords sleep ${sleep}
2021-02-05 17:50:26 +08:00
... AND click element xpath=//*[@id="interceptionadd_checkappshow2"][contains(text(), "${i}")]
2021-02-02 18:27:51 +08:00
... AND Create-Object-Search ${Request Headername} ${i}
2021-02-20 15:05:32 +08:00
run keyword if "${Application}"=="HTTP" and "${i}"=="Response Header" run keywords sleep ${sleep}
2021-02-05 17:50:26 +08:00
... AND click element xpath=//*[@id="interceptionadd_checkappshow3"][contains(text(), "${i}")]
2021-02-02 18:27:51 +08:00
... AND Create-Object-Search ${Response Headername} ${i}
2021-02-20 15:05:32 +08:00
run keyword if "${Application}"=="HTTP" and "${i}"=="Request Content" run keywords sleep ${sleep}
2021-02-05 17:50:26 +08:00
... AND click element xpath=//*[@id="interceptionadd_checkappshow4"][contains(text(), "${i}")]
2021-02-02 18:27:51 +08:00
... AND Create-Object-Search ${Request Contentname} ${i}
2021-02-20 15:05:32 +08:00
run keyword if "${Application}"=="HTTP" and "${i}"=="Response Content" run keywords sleep ${sleep}
2021-02-05 17:50:26 +08:00
... AND click element xpath=//*[@id="interceptionadd_checkappshow5"][contains(text(), "${i}")]
2021-02-02 18:27:51 +08:00
... AND Create-Object-Search ${Response Contentname} ${i}
2021-02-20 15:05:32 +08:00
run keyword if "${Application}"=="Doh" and "${i}"=="Host" run keywords sleep ${sleep}
2021-02-05 17:50:26 +08:00
... AND click element xpath=//*[@id="interceptionadd_checkappshow0"][contains(text(), "${i}")]
2021-02-02 18:27:51 +08:00
... AND Create-Object-Search ${DohHostname} ${i}
2021-02-20 15:05:32 +08:00
run keyword if "${Application}"=="Doh" and "${i}"=="QNAME" run keywords sleep ${sleep}
2021-02-05 17:50:26 +08:00
... AND click element xpath=//*[@id="interceptionadd_checkappshow1"][contains(text(), "${i}")]
2021-02-02 18:27:51 +08:00
... AND Create-Object-Search ${QNAMEname} ${i}
END
Deny-subaction
2021-02-05 17:50:26 +08:00
[Arguments] ${action} ${denycode}
2021-02-02 18:27:51 +08:00
[Documentation] 调用次关键字前需要添加必填参数:
2021-02-05 17:50:26 +08:00
... ${denycode}:填入403或404或451
... ${action}:填入deny
2021-02-02 18:27:51 +08:00
... 添加subaction
2021-02-20 15:05:32 +08:00
run keyword if "${action}"=="deny" and "${denycode}"=="403" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element id=manipulation_select_addAction
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-05 17:50:26 +08:00
... AND click element //span[.="${denycode}"]
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
run keyword if "${action}"=="deny" and "${denycode}"=="404" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element id=manipulation_select_addAction
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-05 17:50:26 +08:00
... AND click element //span[.="${denycode}"]
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
run keyword if "${action}"=="deny" and "${denycode}"=="451" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element id=manipulation_select_addAction
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-05 17:50:26 +08:00
... AND click element //span[.="${denycode}"]
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND
Deny-content
2021-02-05 17:50:26 +08:00
[Arguments] ${contenttype}=File ${SearchorCreate}=null ${ProfileName}=null ${file}=null ${textvalue}=null
2021-02-02 18:27:51 +08:00
[Documentation] 调用次关键字前需要添加必填参数:
... ${code}:填入403或404
... ${Content}:填入TEXT或Profile
... ${SearchorCreate}:填入Search或Create
... ${block-text}:填入TEXT文本框内容
... ${ProfileName}:Profile的名字
... ${file}:上传文件路径
2021-02-05 17:50:26 +08:00
... ${textvalue}:填入text输入框内容
2021-02-02 18:27:51 +08:00
... 添加block数据内容
2021-02-20 15:05:32 +08:00
sleep ${sleep}
run keyword if "${contenttype}"=="File" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element id=manipulation_select_blockInfo
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element id=ResponseContentFile
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element id=manipulation_select_htmlProfile
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND Profile-SearchorCreate ${SearchorCreate} ${ProfileName} ${file}
2021-02-20 15:05:32 +08:00
run keyword if "${contenttype}"=="Text" run keywords sleep ${sleep}
2021-02-05 17:50:26 +08:00
... AND click element id=manipulation_select_blockInfo
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-05 17:50:26 +08:00
... AND click ellement id=ResponseContentText
... AND sllep 1
... AND input text id=manipulation_elInput_blockselect ${textvalue}
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
Profile-SearchorCreate
[Arguments] ${SearchorCreate} ${ProfileName} ${file}
[Documentation] 调用次关键字前需要添加必填参数:
... ${SearchorCreate}:填入Search或Create
... ${ProfileName}:Profile的名字
... ${file}:上传文件路径
... 判断是新建还是搜索profile
2021-02-20 15:05:32 +08:00
sleep ${sleep}
run keyword if "${SearchorCreate}"=="Search" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND input text xapth=/html/body/div/div[1]/div[1]/ul/div[1]/div/input ${ProfileName}
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND press keys xapth=/html/body/div/div[1]/div[1]/ul/div[1]/div/input ENTER
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element xpath=/html/body/div/div[1]/div[1]/ul/div[2]/div/li[1]
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
... ELSE IF "${SearchorCreate}"=="Create" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element xpath=/html/body/div/div[1]/div[1]/ul/div[1]/div/div/button
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND input text id=responsepages_profileName ${ProfileName}
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND Choose File xpath=//*[@id="policy_Manipulation_create6"]/div[2]/form/div[2]/div/div/div/input ${file} #上传文件
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-05 17:50:26 +08:00
... AND click element id=responseAddOk1
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... 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
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-02 18:27:51 +08:00
click element id=interceptionadd_add_filter
2021-02-20 15:05:32 +08:00
sleep ${sleep}
run keyword if "${QType}"=="A" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND input text id=A00 ${Avalue}
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND input text id=ttl00 ${Attl}
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element id=interceptionadd_addForm
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND input text id=Cname01 ${CNAMEvalue}
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND input text id=ttl01 ${CNAMEttl}
2021-02-20 15:05:32 +08:00
run keyword if "${QType}"=="AAAA" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element id=dns_qtype_radio01
... AND input text id=AAAA00 ${Avalue}
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND input text id=ttl00 ${Attl}
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element id=interceptionadd_addForm
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND input text id=Cname01 ${CNAMEvalue}
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND input text id=ttl01 ${CNAMEttl}
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-02 18:27:51 +08:00
click element id=interceptionadd_shezhidns
2021-02-03 18:36:18 +08:00
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-for1 ${ParametersType} ${i} ${RequestURIFind} ${RequestURIReplacewith} ${RequestBodyFind} ${RequestBodyReplacewith} ${ResponseBodyFind}
... ${ResponseBodyReplacewith} ${RequestHeaderFind} ${RequestHeaderReplacewith} ${ResponseHeaderFind} ${ResponseHeaderReplacewith}
2021-02-20 15:05:32 +08:00
sleep ${sleep}
run keyword if "${len}"!="1" run keywords sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND clcik element id=replaceadd_btn
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-03 18:36:18 +08:00
END
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
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}
2021-02-20 15:05:32 +08:00
run keyword if "${j}"=="RequestURI" run keywords sleep ${sleep}
2021-02-03 18:36:18 +08:00
... 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
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND input text xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[2]/div/div/input ${RequestURIFind}
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND input text xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[3]/div/div/input ${RequestURIReplacewith}
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
run keyword if "${j}"=="RequestBody" run keywords sleep ${sleep}
2021-02-03 18:36:18 +08:00
... 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
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND input text xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[2]/div/div/input ${RequestBodyFind}
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND input text xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[3]/div/div/input ${RequestBodyReplacewith}
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
run keyword if "${j}"=="ResponseBody" run keywords sleep ${sleep}
2021-02-03 18:36:18 +08:00
... 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
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND input text xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[2]/div/div/input ${ResponseBodyFind}
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND input text xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[3]/div/div/input ${ResponseBodyReplacewith}
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
run keyword if "${j}"=="RequestHeader" run keywords sleep ${sleep}
2021-02-03 18:36:18 +08:00
... 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
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND input text xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[2]/div/div/input ${RequestHeaderFind}
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND input text xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[3]/div/div/input ${RequestHeaderReplacewith}
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
run keyword if "${j}"=="ResponseHeader" run keywords sleep ${sleep}
2021-02-03 18:36:18 +08:00
... 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
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND input text xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[2]/div/div/input ${ResponseHeaderFind}
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND input text xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[3]/ul/li[${i}]/div[3]/div/div/input ${ResponseHeaderReplacewith}
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-03 18:36:18 +08:00
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
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
click element xpath=//*[@id="policy_paper_left"]/div[12]/div/div/form/div[4]/div/div/div/div
2021-02-20 15:05:32 +08:00
sleep ${sleep}
run keyword if "${SearchorCreate}"=="Search" run keywords sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND input text xapth=/html/body/div/div[1]/div[1]/ul/div[1]/div/input ${Hijackname}
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND press keys xapth=/html/body/div/div[1]/div[1]/ul/div[1]/div/input ENTER
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element xpath=/html/body/div/div[1]/div[1]/ul/div[2]/div/li[1]
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
... ELSE IF "${SearchorCreate}"=="Create" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element xpath=/html/body/div/div[1]/div[1]/ul/div[1]/div/div/button
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND HijackFile-Create ${Hijackname} ${Hijackfile} ${dow_name} ${input} ${Hijackname} ${Hijacktype}
... ELSE log 传入参数错误
2021-02-02 18:27:51 +08:00
2021-02-03 18:36:18 +08:00
HijackFile-Create
[Arguments] ${Hijackname} ${Hijackfile} ${dow_name} ${input} ${Hijackname} ${Hijacktype}
[Documentation] 调用次关键字前需要添加必填参数:
... ${Hijackname}:填入新建hijack的name
... ${Hijackfile}:填入新建hijack文件的路径
... ${dow_name}:根据情况填入close或open或其他
... ${input}; 填入shuru或其他
... ${Hijacktype}:填入选择文件类型的元素
... 新建hijack
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
input id=hijack_profileName ${Hijackname} #输入name
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
Choose File xpath=//*[@id="proxy"]/div[11]/div/div[1]/div[2]/form/div[2]/div/div/div[1]/input ${Hijackfile} #上传文件
2021-02-20 15:05:32 +08:00
sleep ${sleep}
run keyword if "${dow_name}"=="close" and "${input}"=="shuru" run keywords sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND input text id=hijack_contentName ${Hijackname}
... ELSE IF "${dow_name}"=="open" click element xpath=//*[@id="contentNameChoose"]/div[1]/span[2]
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
click element id=hijackAddContentType #点击+ 打开侧滑窗口
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
click element ${Hijacktype} #选择文件类型
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
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
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
click element id=manipulation_select_insetScript
2021-02-20 15:05:32 +08:00
sleep ${sleep}
run keyword if "${SearchorCreate}"=="Search" run keywords sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND input text xapth=/html/body/div/div[1]/div[1]/ul/div[1]/div/input ${Hijackname}
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND press keys xapth=/html/body/div/div[1]/div[1]/ul/div[1]/div/input ENTER
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND click element xpath=/html/body/div/div[1]/div[1]/ul/div[2]/div/li[1]
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
... ELSE IF "${SearchorCreate}"=="Create" run keywords sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND click element xpath=/html/body/div/div[1]/div[1]/ul/div[1]/div/div/button
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-03 18:36:18 +08:00
... 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
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
input id=insert_profileName ${Insertname} #输入name
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
Choose File xpath=//*[@id="insertAddUpload"]/div[1]/input ${Insertfile} #上传文件
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
clcik element id=insert_select_format
2021-02-20 15:05:32 +08:00
sleep ${sleep}
run keyword if "${Inserttype}"=="css" run keywords sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND click element //span[.="${Inserttype}"] #选择css
2021-02-20 15:05:32 +08:00
run keyword if "${Inserttype}"=="js" run keywords sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND click element //span[.="${Inserttype}"]
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND click element id=insert_select_insertOn #点击下拉框
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND click element //span[.="${Insertjstype}"]
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
click element id=insertAddOk1 #点击OK
2021-02-02 18:27:51 +08:00
LogSession
[Arguments] ${LogSession}
[Documentation] 调用次关键字前需要添加必填参数:
... ${LogSession}:填入clcos或其他
2021-02-20 15:05:32 +08:00
run keyword if "${LogSession}"=="close" run keywords sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND click element id=manipulationSwitch0
2021-02-02 18:27:51 +08:00
... ELSE log 开启日志
2021-02-03 18:36:18 +08:00
LogOptions
[Arguments] ${LogOptions}
[Documentation] 调用次关键字前需要添加必填参数:
... ${LogOptions}:填入All或其他
2021-02-20 15:05:32 +08:00
run keyword if "${LogOptions}"=="All" run keywords sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND click element id=logType1
... ELSE log 选择Metadata only
2021-02-02 18:27:51 +08:00
Enabled
[Arguments] ${Enabled}
[Documentation] 调用次关键字前需要添加必填参数:
... ${Enabled}:填入open或其他
2021-02-20 15:05:32 +08:00
run keyword if "${Enabled}"=="open" run keywords sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND click element xpath=//*[@id="proxyManipulationUse"]/label[contains(text(), "Enabled")]/following-sibling::div/div
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element xpath=/html/body/div/div/div[3]/button[2]
... ELSE log 开启日志
2021-02-05 17:50:26 +08:00
Proxy-Policies-OK
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
click element id=proxyManipulationSuccess
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-02 18:27:51 +08:00
Create-Object-Search
[Arguments] ${name} ${filter}
[Documentation] 调用次关键字前需要添加必填参数:
... ${name}:填入是一个列表, 列表内容为object的name
2021-02-05 17:50:26 +08:00
... 选择search对象
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-05 17:50:26 +08:00
click element xpath=//*[@id="policy_paper_left"]/div[9]/div/div[1]/label[contains(text(), "${filter}")]/following-sibling::div/div
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-02 18:27:51 +08:00
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}
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-02 18:27:51 +08:00
press keys xpath=//*[@id="condistions_protocol"]/div[2]/p[contains(text(), "${filter}")]/following-sibling::div[2]/div/div[1]/input ENTER
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-02 18:27:51 +08:00
click element xpath=//*[@id="condistions_protocol"]/div[2]/p[contains(text(), "${filter}")]/following-sibling::div[2]/div/div[2]/div/div/ul/li[1]
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-02 18:27:51 +08:00
END
2021-02-03 18:36:18 +08:00
Proxy-Source
2021-02-02 18:27:51 +08:00
[Arguments] ${SourceType} ${SourceValue}
2021-02-19 18:02:10 +08:00
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
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-02 18:27:51 +08:00
click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/div/div[2]/div/div
2021-02-20 15:05:32 +08:00
sleep ${sleep}
run keyword if "${SourceType}"=="ID" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element xpath=/html/body/div/div[1]/div[1]/ul/li[2]
2021-02-20 15:05:32 +08:00
run keyword if "${SourceType}"=="Name" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element xpath=/html/body/div/div[1]/div[1]/ul/li[3]
2021-02-20 15:05:32 +08:00
run keyword if "${SourceType}"=="Action" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... AND click element xpath=/html/body/div/div[1]/div[1]/ul/li[4]
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
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}
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-02 18:27:51 +08:00
click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/i
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-02 18:27:51 +08:00
click element xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-02 18:27:51 +08:00
EditButton
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
click element xpath=//*[@id="appEdit"]/span/div/div[2]
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-02 18:27:51 +08:00
Initialize-Policie
[Arguments] ${InitializeAction}
[Documentation] 调用次关键字前需要添加必填参数:
... ${InitializeAction}:根据用例进行填写, 意思就是是那一个action就不要点击哪一个, 以免初始化失败
2021-02-20 15:05:32 +08:00
run keyword if "${InitializeAction}"=="Allow" run keywords sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND click element id=proxyManipulationdeny
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
... ELSE IF "${InitializeAction}"=="Deny" run keywords sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND click element id=proxyManipulationallow
2021-02-20 15:05:32 +08:00
... ELSE IF "${InitializeAction}"=="Monitor" run keywords sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND click element id=proxyManipulationdeny
2021-02-20 15:05:32 +08:00
... ELSE IF "${InitializeAction}"=="Redirect" run keywords sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND click element id=proxyManipulationdeny
2021-02-20 15:05:32 +08:00
... ELSE IF "${InitializeAction}"=="Replace" run keywords sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND click element id=proxyManipulationdeny
2021-02-20 15:05:32 +08:00
... ELSE IF "${InitializeAction}"=="Hijack" run keywords sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND click element id=proxyManipulationdeny
2021-02-20 15:05:32 +08:00
... ELSE IF "${InitializeAction}"=="Insert" run keywords sleep ${sleep}
2021-02-03 18:36:18 +08:00
... AND click element id=proxyManipulationdeny
... ELSE log 不修改
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-02 18:27:51 +08:00
${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
2021-02-20 15:05:32 +08:00
run keyword if "${status}"=="True" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... 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]
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
${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
2021-02-20 15:05:32 +08:00
run keyword if "${status1}"=="True" run keywords sleep ${sleep}
2021-02-02 18:27:51 +08:00
... 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]
2021-02-20 15:05:32 +08:00
... AND sleep ${sleep}
2021-02-02 18:27:51 +08:00
2021-02-05 17:50:26 +08:00
Delete-Proxy-estimate
2021-02-03 18:36:18 +08:00
[Arguments] ${securityname}
2021-02-20 15:05:32 +08:00
run keyword if "${securityname}"!="null" run keywords sleep ${sleep}
2021-02-05 17:50:26 +08:00
... AND Delete-Proxy ${securityname}
... ELSE log go on
2021-02-02 18:27:51 +08:00
2021-02-05 17:50:26 +08:00
Delete-Proxy
[Arguments] ${securityname}
Menu policys Proxy Policy
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
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
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
click element xpath=/html/body/div/div[1]/div[1]/ul/li[3]
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
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}
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/i
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
Run Keyword And Ignore Error click element xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]
2021-02-20 15:05:32 +08:00
sleep ${sleep}
sleep ${sleep}
2021-02-03 18:36:18 +08:00
Run Keyword And Ignore Error click element id=appDel
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
Run Keyword And Ignore Error click element xpath=/html/body/div/div/div[3]/button[2]
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
2021-02-05 17:50:26 +08:00
Delete-object-estimate
[Arguments] ${obj}
2021-02-20 15:05:32 +08:00
run keyword if "${obj}"!="null" run keywords sleep ${sleep}
2021-02-05 17:50:26 +08:00
... AND Delete-object ${obj}
... ELSE log go on
2021-02-03 18:36:18 +08:00
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}
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/div/div[2]/div/div/div/input #点击输入框
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
click element xpath=/html/body/div/div[1]/div[1]/ul/li[3] #点击name为搜索类型
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-19 18:02:10 +08:00
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} #输入搜索内容
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
click element xpath=//*[@id="app"]/div/div[3]/div[2]/div/div[1]/div[1]/span/div/i #点击搜索按钮
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
Run Keyword And Ignore Error click element xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]/td[1]/div/div/span #选择搜索到的列表
2021-02-20 15:05:32 +08:00
sleep ${sleep}
sleep ${sleep}
2021-02-03 18:36:18 +08:00
Run Keyword And Ignore Error click element id=objectDel #点击删除按钮
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-03 18:36:18 +08:00
Run Keyword And Ignore Error click element xpath=/html/body/div/div/div[3]/button[2]
2021-02-20 15:05:32 +08:00
sleep ${sleep}
2021-02-05 17:50:26 +08:00
END