This commit is contained in:
朱明明
2020-07-22 10:16:20 +08:00
7 changed files with 713 additions and 140 deletions

View File

@@ -0,0 +1,309 @@
*** Settings ***
Force Tags tsg_adc_wp adc_api proxy_policy
Library OperatingSystem
Resource ../../../02-Keyword/tsg_adc/SystemCommand.robot
Resource ../../../02-Keyword/tsg_bfapi/PolicyObject.robot
Resource ../../../02-Keyword/tsg_bfapi/LogVariable.robot
Resource ../../../02-Keyword/tsg_adc/FileOperation.robot
Resource ../../../02-Keyword/tsg_bfapi/policy_object/Policy.robot
*** Variables ***
${url} /v1/policy/profile/responsepages
*** Test Cases ***
Proxy-Policy-deny-00001
[Tags] fqdn
Comment 创建fqdn
${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=$newsela.com
${rescode} ${objectId} AddObject2 ${1} ${objectDict}
Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-deny policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${objectId}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3
log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建deny策略
${policyDict} Create Dictionary policyName=Proxy-Policy-deny-00001 policyType=pxy_manipulation policyDesc=autotest action=deny userRegion={"method":"block","message":"重新开始","code":403,"protocol":"HTTP"} filterList=${objectId}|TSG_FIELD_HTTP_HOST isValid=${1} appIdObjects=2
log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 deny_objectId ${objectId}
insert_policyId_to_file1 intercept_deny_policyId ${policyId1}
insert_policyId_to_file1 deny_policyId ${policyId2}
Proxy-Policy-deny-00002
[Tags] cat
Comment 创建fqdn
${objectDict} Create Dictionary objectType=fqdn_category isValid=${1} addItemList=*mathoverflow.net
${rescode} ${objectId} AddObject2 ${1} ${objectDict}
Comment #创建引用文件
${response} CreatePolicyFile2 ${url} ${responsePageFiles} 404english.html resPages
${profiledId} Get From Dictionary ${response} profileId
Comment Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-deny policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${objectId}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3
log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建deny策略
${policyDict} Create Dictionary policyName=Proxy-Policy-deny-00002 policyType=pxy_manipulation policyDesc=autotest action=deny userRegion={"method":"block","html_profile":${profiledId},"code":403,"protocol":"HTTP"} filterList=${objectId}|TSG_FIELD_HTTP_HOST isValid=${1} appIdObjects=2
log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 deny_profileId ${profiledId}
insert_policyId_to_file1 deny_objectId1 ${objectId}
insert_policyId_to_file1 intercept_deny_policyId1 ${policyId1}
insert_policyId_to_file1 deny_policyId1 ${policyId2}
Proxy-Policy-deny-00003
[Tags] url
Comment 创建fqdn
${objectDict} Create Dictionary objectType=fqdn_category isValid=${1} addItemList=*wmtransfer.com,verifone.com,bcg.com,rolandberger.com
${rescode} ${objectId} AddObject2 ${1} ${objectDict}
Comment 创建url
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=www.wmtransfer*,$ww.verifone.com/ru/ru/o-verifone,*country=RU,capabilities
${rescode} ${objectId1} AddObject2 ${1} ${objectDict}
Comment #创建引用文件
${response} CreatePolicyFile2 ${url} ${responsePageFiles} 404china.html resPages
${profiledId} Get From Dictionary ${response} profileId
Comment Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-deny policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${objectId}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3
log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建deny策略
${policyDict} Create Dictionary policyName=Proxy-Policy-deny-00003 policyType=pxy_manipulation policyDesc=autotest action=deny userRegion={"method":"block","html_profile":${profiledId},"code":404,"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_URL isValid=${1} appIdObjects=2
log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 deny_profileId1 ${profiledId}
insert_policyId_to_file1 deny_objectId2 ${objectId}
insert_policyId_to_file1 deny_objectId3 ${objectId1}
insert_policyId_to_file1 intercept_deny_policyId2 ${policyId1}
insert_policyId_to_file1 deny_policyId2 ${policyId2}
Proxy-Policy-deny-00004
[Tags] 请求头
Comment 创建fqdn
${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=*nielsen.com
${rescode} ${objectId} AddObject2 ${1} ${objectDict}
Comment 创建url
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=insights
${rescode} ${objectId1} AddObject2 ${1} ${objectDict}
Comment 创建请求头
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=Mozilla/5.0*|User-Agent
${rescode} ${objectId2} AddObject2 ${1} ${objectDict}
Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-deny policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${objectId}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3
log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建deny策略
${policyDict} Create Dictionary policyName=Proxy-Policy-deny-00004 policyType=pxy_manipulation policyDesc=autotest action=deny userRegion={"method":"block","message":"qwertyuiop","code":404,"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_URL,${objectId2}|TSG_FIELD_HTTP_REQ_HDR isValid=${1} appIdObjects=2
log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 deny_objectId4 ${objectId}
insert_policyId_to_file1 deny_objectId5 ${objectId1}
insert_policyId_to_file1 deny_objectId6 ${objectId2}
insert_policyId_to_file1 intercept_deny_policyId3 ${policyId1}
insert_policyId_to_file1 deny_policyId3 ${policyId2}
Proxy-Policy-deny-00005
[Tags] 请求头
Comment 创建fqdn
${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=$www.thecolor.com
${rescode} ${objectId} AddObject2 ${1} ${objectDict}
Comment 创建url
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=popularcoloringpages
${rescode} ${objectId1} AddObject2 ${1} ${objectDict}
Comment 创建请求头
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=$Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/31.0.1650.63 Safari/537.36|User-Agent
${rescode} ${objectId2} AddObject2 ${1} ${objectDict}
Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-deny policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${objectId}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3
log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建deny策略
${policyDict} Create Dictionary policyName=Proxy-Policy-deny-00005 policyType=pxy_manipulation policyDesc=autotest action=deny userRegion={"method":"block","message":" онлайн фильмы","code":451,"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_URL,${objectId2}|TSG_FIELD_HTTP_REQ_HDR isValid=${1} appIdObjects=2
log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 deny_objectId7 ${objectId}
insert_policyId_to_file1 deny_objectId8 ${objectId1}
insert_policyId_to_file1 deny_objectId9 ${objectId2}
insert_policyId_to_file1 intercept_deny_policyId4 ${policyId1}
insert_policyId_to_file1 deny_policyId4 ${policyId2}
Proxy-Policy-deny-00006
[Tags] 请求头
Comment 创建fqdn
${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=$sciencebob.com
${rescode} ${objectId} AddObject2 ${1} ${objectDict}
Comment 创建url
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=experiments
${rescode} ${objectId1} AddObject2 ${1} ${objectDict}
Comment 创建请求头
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=AppleWebKit|User-Agent
${rescode} ${objectId2} AddObject2 ${1} ${objectDict}
Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-deny policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${objectId}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3
log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建deny策略
${policyDict} Create Dictionary policyName=Proxy-Policy-deny-00006 policyType=pxy_manipulation policyDesc=autotest action=deny userRegion={"method":"block","message":"明天大涨","code":404,"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_URL,${objectId2}|TSG_FIELD_HTTP_REQ_HDR isValid=${1} appIdObjects=2
log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 deny_objectId10 ${objectId}
insert_policyId_to_file1 deny_objectId11 ${objectId1}
insert_policyId_to_file1 deny_objectId12 ${objectId2}
insert_policyId_to_file1 intercept_deny_policyId5 ${policyId1}
insert_policyId_to_file1 deny_policyId5 ${policyId2}
Proxy-Policy-deny-00007
[Tags] 请求头
Comment 创建fqdn
${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=$www.europages.com.ru
${rescode} ${objectId} AddObject2 ${1} ${objectDict}
Comment 创建url
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=ezhegodnik
${rescode} ${objectId1} AddObject2 ${1} ${objectDict}
Comment 创建请求头
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=*Safari/537.36|User-Agent
${rescode} ${objectId2} AddObject2 ${1} ${objectDict}
Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-deny policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${objectId}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3
log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建deny策略
${policyDict} Create Dictionary policyName=Proxy-Policy-deny-00007 policyType=pxy_manipulation policyDesc=autotest action=deny userRegion={"method":"block","message":"今天中奖","code":403,"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_URL,${objectId2}|TSG_FIELD_HTTP_REQ_HDR isValid=${1} appIdObjects=2
log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 deny_objectId13 ${objectId}
insert_policyId_to_file1 deny_objectId14 ${objectId1}
insert_policyId_to_file1 deny_objectId15 ${objectId2}
insert_policyId_to_file1 intercept_deny_policyId6 ${policyId1}
insert_policyId_to_file1 deny_policyId6 ${policyId2}
Proxy-Policy-deny-00008
[Tags] 应答头
Comment 创建fqdn
${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=*6renyou.com
${rescode} ${objectId} AddObject2 ${1} ${objectDict}
Comment 创建url
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=user_comment
${rescode} ${objectId1} AddObject2 ${1} ${objectDict}
Comment 创建请求头
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=*utf-8|Content-Type
${rescode} ${objectId2} AddObject2 ${1} ${objectDict}
Comment #创建引用文件
${response} CreatePolicyFile2 ${url} ${responsePageFiles} 404china.html resPages
${profiledId} Get From Dictionary ${response} profileId
Comment Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-deny policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"HTTP"} filterList=${objectId}|TSG_FIELD_HTTP_HOST isValid=${1} appIdObjects=2
log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建deny策略
${policyDict} Create Dictionary policyName=Proxy-Policy-deny-00008 policyType=pxy_manipulation policyDesc=autotest action=deny userRegion={"method":"block","html_profile":${profiledId},"code":451,"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_URL,${objectId2}|TSG_FIELD_HTTP_RES_HDR isValid=${1} appIdObjects=2
log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 deny_profileId2 ${profiledId}
insert_policyId_to_file1 deny_objectId16 ${objectId}
insert_policyId_to_file1 deny_objectId17 ${objectId1}
insert_policyId_to_file1 deny_objectId18 ${objectId2}
insert_policyId_to_file1 intercept_deny_policyId7 ${policyId1}
insert_policyId_to_file1 deny_policyId7 ${policyId2}
Proxy-Policy-deny-00009
[Tags] 应答头
Comment 创建fqdn
${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=*ljale.com
${rescode} ${objectId} AddObject2 ${1} ${objectDict}
Comment 创建url
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=webdir.html
${rescode} ${objectId1} AddObject2 ${1} ${objectDict}
Comment 创建请求头
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=$text/html|Content-Type
${rescode} ${objectId2} AddObject2 ${1} ${objectDict}
Comment #创建引用文件
${response} CreatePolicyFile2 ${url} ${responsePageFiles} 404china.html resPages
${profiledId} Get From Dictionary ${response} profileId
Comment Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-deny policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"HTTP"} filterList=${objectId}|TSG_FIELD_HTTP_HOST isValid=${1} appIdObjects=2
log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建deny策略
${policyDict} Create Dictionary policyName=Proxy-Policy-deny-00009 policyType=pxy_manipulation policyDesc=autotest action=deny userRegion={"method":"block","html_profile":${profiledId},"code":451,"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_URL,${objectId2}|TSG_FIELD_HTTP_RES_HDR isValid=${1} appIdObjects=2
log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 deny_profileId3 ${profiledId}
insert_policyId_to_file1 deny_objectId19 ${objectId}
insert_policyId_to_file1 deny_objectId20 ${objectId1}
insert_policyId_to_file1 deny_objectId21 ${objectId2}
insert_policyId_to_file1 intercept_deny_policyId8 ${policyId1}
insert_policyId_to_file1 deny_policyId8 ${policyId2}
Proxy-Policy-deny-00010
[Tags] 应答头
Comment 创建fqdn
${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=*duckduckmoose.com
${rescode} ${objectId} AddObject2 ${1} ${objectDict}
Comment 创建url
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=learn
${rescode} ${objectId1} AddObject2 ${1} ${objectDict}
Comment 创建请求头
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=text/html|Content-Type
${rescode} ${objectId2} AddObject2 ${1} ${objectDict}
Comment #创建引用文件
${response} CreatePolicyFile2 ${url} ${responsePageFiles} 404english.html resPages
${profiledId} Get From Dictionary ${response} profileId
Comment Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-deny policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"HTTP"} filterList=${objectId}|TSG_FIELD_HTTP_HOST isValid=${1} appIdObjects=2
log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建deny策略
${policyDict} Create Dictionary policyName=Proxy-Policy-deny-00009 policyType=pxy_manipulation policyDesc=autotest action=deny userRegion={"method":"block","html_profile":${profiledId},"code":451,"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_URL,${objectId2}|TSG_FIELD_HTTP_RES_HDR isValid=${1} appIdObjects=2
log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 deny_profileId5 ${profiledId}
insert_policyId_to_file1 deny_objectId22 ${objectId}
insert_policyId_to_file1 deny_objectId23 ${objectId1}
insert_policyId_to_file1 deny_objectId24 ${objectId2}
insert_policyId_to_file1 intercept_deny_policyId9 ${policyId1}
insert_policyId_to_file1 deny_policyId9 ${policyId2}
Proxy-Policy-deny-00011
[Tags] 应答头
Comment 创建fqdn
${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=*tutcandy.com
${rescode} ${objectId} AddObject2 ${1} ${objectDict}
Comment 创建url
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=sketch-to
${rescode} ${objectId1} AddObject2 ${1} ${objectDict}
Comment 创建请求头
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=text*|Content-Type
${rescode} ${objectId2} AddObject2 ${1} ${objectDict}
Comment #创建引用文件
${response} CreatePolicyFile2 ${url} ${responsePageFiles} 404english.html resPages
${profiledId} Get From Dictionary ${response} profileId
Comment Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-deny policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"HTTP"} filterList=${objectId}|TSG_FIELD_HTTP_HOST isValid=${1} appIdObjects=2
log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建deny策略
${policyDict} Create Dictionary policyName=Proxy-Policy-deny-00009 policyType=pxy_manipulation policyDesc=autotest action=deny userRegion={"method":"block","html_profile":${profiledId},"code":451,"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_URL,${objectId2}|TSG_FIELD_HTTP_RES_HDR isValid=${1} appIdObjects=2
log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 deny_profileId6 ${profiledId}
insert_policyId_to_file1 deny_objectId25 ${objectId}
insert_policyId_to_file1 deny_objectId26 ${objectId1}
insert_policyId_to_file1 deny_objectId27 ${objectId2}
insert_policyId_to_file1 intercept_deny_policyId10 ${policyId1}
insert_policyId_to_file1 deny_policyId10 ${policyId2}
Proxy-Policy-deny-00012
[Tags] cookie
Proxy-Policy-deny-00013
[Tags] set-cookie
Proxy-Policy-deny-00014
[Tags] 请求体
Proxy-Policy-deny-00015
[Tags] 应答体
Proxy-Policy-deny-00016
[Tags] 最大组合1
Proxy-Policy-deny-00017
[Tags] 最大组合2

View File

@@ -438,9 +438,11 @@ Policy-Export-v1-00019
Policy-Verify-v1-00020
${objectIds} Set Variable ${EMPTY}
Comment 创建对象
${ipValue} Create Dictionary clientIp=192.168.41.67 clientPort=${1} serverIp=192.168.41.67 serverPort=${1}
${ipValue} Create Dictionary ip=192.168.41.67 port=${1}
... addrType=${4} protocol=${6}
${ipObj} Create Dictionary attributeType=ip tableName=TSG_OBJ_IP_ADDR protocol=HTTP attributeName=ip
${ipObj} Create Dictionary attributeType=ip tableName=TSG_OBJ_IP_ADDR protocol=HTTP attributeName=source
... attributeValue=${ipValue}
${ipObj1} Create Dictionary attributeType=ip tableName=TSG_OBJ_IP_ADDR protocol=HTTP attributeName=destination
... attributeValue=${ipValue}
${stringValue} Create Dictionary string=*baidu.com
${stringObj} Create Dictionary attributeType=string tableName=TSG_OBJ_URL protocol=HTTP attributeName=url
@@ -448,36 +450,40 @@ Policy-Verify-v1-00020
${appIdValue} Create Dictionary string=http.
${appIdObj} Create Dictionary attributeType=string protocol=HTTP attributeName=app_id
... attributeValue=${appIdValue}
${attributes} Create List ${ipObj} ${stringObj} ${appIdObj}
${attributes} Create List ${ipObj} ${stringObj} ${appIdObj} ${ipObj1}
${verifySession} Create Dictionary attributes=${attributes}
${verifyList} Create Dictionary policyType=tsg_security verifySession=${verifySession}
${rescode} ${resData} VerifyPolicies ${verifyList}
Policy-Verify-v1-00021
${objectIds} Set Variable ${EMPTY}
Comment 创建对象
${ipObj} Create Dictionary attributeType=ip tableName=TSG_OBJ_IP_ADDR protocol=HTTP attributeName=ip
... attributeValue={"clientIp":"192.168.41.67","clientPort":1,"serverIp":"192.168.41.67","serverPort":1,"addrType":4,"protocol":6}
${ipObj} Create Dictionary attributeType=ip tableName=TSG_OBJ_IP_ADDR protocol=HTTP attributeName=source
... attributeValue={"ip":"192.168.41.67","port":1,"addrType":4,"protocol":6}
${ipObj1} Create Dictionary attributeType=ip tableName=TSG_OBJ_IP_ADDR protocol=HTTP attributeName=destination
... attributeValue={"ip":"192.168.41.67","port":1,"addrType":4,"protocol":6}
${stringValue} Create Dictionary string=*baidu.com
${stringObj} Create Dictionary attributeType=string tableName=TSG_OBJ_URL protocol=HTTP attributeName=url
... attributeValue=${stringValue}
${appIdValue} Create Dictionary string=http.
${appIdObj} Create Dictionary attributeType=string protocol=HTTP attributeName=app_id
... attributeValue=${appIdValue}
${attributes} Create List ${ipObj} ${stringObj} ${appIdObj}
${attributes} Create List ${ipObj} ${stringObj} ${appIdObj} ${ipObj1}
${verifySession} Create Dictionary attributes=${attributes}
${verifyList} Create Dictionary policyType=tsg_security verifySession=${verifySession}
${rescode} ${resData} VerifyPolicies ${verifyList}
Policy-Verify-v1-00022
${objectIds} Set Variable ${EMPTY}
Comment 创建对象
${ipObj} Create Dictionary attributeType=ip tableName=TSG_OBJ_IP_ADDR protocol=HTTP attributeName=ip
... attributeValue={"clientIp":"192.168.41.67","clientPort":1,"serverIp":"192.168.41.67","serverPort":1,"addrType":4,"protocol":6}
${ipObj} Create Dictionary attributeType=ip tableName=TSG_OBJ_IP_ADDR protocol=HTTP attributeName=destination
... attributeValue={"ip":"192.168.41.67","port":1,"addrType":4,"protocol":6}
${ipObj1} Create Dictionary attributeType=ip tableName=TSG_OBJ_IP_ADDR protocol=HTTP attributeName=source
... attributeValue={"ip":"192.168.41.67","port":1,"addrType":4,"protocol":6}
${stringObj} Create Dictionary attributeType=string tableName=TSG_OBJ_URL protocol=HTTP attributeName=url
... attributeValue={'string':'*baidu.com'}
${appIdValue} Create Dictionary string=http.
${appIdObj} Create Dictionary attributeType=string protocol=HTTP attributeName=app_id
... attributeValue=${appIdValue}
${attributes} Create List ${ipObj} ${stringObj} ${appIdObj}
${attributes} Create List ${ipObj} ${stringObj} ${appIdObj} ${ipObj1}
${verifySession} Create Dictionary attributes=${attributes}
${verifyList} Create Dictionary policyType=tsg_security verifySession=${verifySession}
${rescode} ${resData} VerifyPolicies ${verifyList}
@@ -485,8 +491,8 @@ Policy-Verify-v1-00022
Policy-Verify-v1-00023
${objectIds} Set Variable ${EMPTY}
Comment 创建对象
${ipObj} Create Dictionary attributeType=ip tableName=TSG_OBJ_IP_ADDR protocol=HTTP attributeName=ip
... attributeValue=192.168.41.67|1|192.168.41.67|1|4|6
${ipObj} Create Dictionary attributeType=ip tableName=TSG_OBJ_IP_ADDR protocol=HTTP attributeName=source
... attributeValue=192.168.41.67|1|4|6
${stringObj} Create Dictionary attributeType=string tableName=TSG_OBJ_URL protocol=HTTP attributeName=url
... attributeValue=*baidu.com
${appIdObj} Create Dictionary attributeType=string protocol=HTTP attributeName=app_id

View File

@@ -10,6 +10,203 @@ IP_Libraries_Create_Country-001
#新建国家
Create_Ip_Libraries Country Africa 115 L ${iplist} j=2 Country=L Longitude=1 Latitude=2
#删除
Delete_IP_Libraries
Delete_IP_Libraries 115
IP_Libraries_Create_Country-002
#新建ip归属地-国家(输入框最小值)
#ip段
${iplist} create list 1.1.1.1-2.2.2.2
#新建国家
Create_Ip_Libraries Country Africa 1 1 ${iplist} Country=1
#删除
Delete_IP_Libraries 1
IP_Libraries_Create_Country-003
#新建ip归属地-国家
#ip段
${iplist} create list 1.1.1.1-2.2.2.2
#新建国家
Create_Ip_Libraries Country Africa 112 lyf ${iplist} Country=lyf Longitude=1.222222 Latitude=1.222222
#删除
Delete_IP_Libraries 112
IP_Libraries_Create_Country-004
#新建ip归属地-国家,经纬度输入负数
#ip段
${iplist} create list 1.1.1.1-2.2.2.2
#新建国家
Create_Ip_Libraries Country Africa 113 lyf ${iplist} Country=lyf Longitude=-1 Latitude=-1
#删除
Delete_IP_Libraries 113
IP_Libraries_Create_Country-005
#新建ip归属地-国家(输入框最大值)
#ip段
${iplist} create list 1.1.1.1-2.2.2.2
#新建国家
Create_Ip_Libraries Country Africa 1111111112 qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ${iplist} Country=qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Longitude=180 Latitude=90
#删除
Delete_IP_Libraries 1111111112
IP_Libraries_Create_Country-006
#新建ip归属地-国家输入多个ip组合
#ip段
${iplist} create list 1.1.1.1-2.2.2.2 0.0.0.0-255.255.255.255 ::-FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF 1234:3456::AAAA-AAAA:BBBB::FFFF
#新建国家
Create_Ip_Libraries Country Africa 116 lyf ${iplist} j=4 Country=lyf
#删除
Delete_IP_Libraries 116
IP_Libraries_Create_Country-007
#新建ip归属地-城市(国家选择内置国家)
#ip段
${iplist} create list 1.1.1.1-2.2.2.2
#新建国家
Create_Ip_Libraries Country Africa 126 Garbahaarrey ${iplist} Country=Somalia
#删除
Delete_IP_Libraries 126
IP_Libraries_Create_Country-008
#新建ip归属地-城市(国家选择非内置国家)
#ip段
${iplist} create list 1.1.1.1-2.2.2.2
#新建国家
Create_Ip_Libraries City 1 228 1 ${iplist}
#删除
Delete_IP_Libraries 228
IP_Libraries_Create_Country-009
#修改ip归属地城市
#ip段
${iplist} create list 1.1.1.1-2.2.2.2
#新建国家
Create_Ip_Libraries City 1 268 1 ${iplist}
Edit_Ip_Libraries 268 Longitude=-1 Latitude=-1
#删除
Delete_IP_Libraries 268
IP_Libraries_Create_Country-010
#使用Geo Name为搜索条件查找ip归属地信息
${iplist} create list 1.1.1.1-2.2.2.2
#新建国家
Create_Ip_Libraries City 1 181 1 ${iplist}
Switch_GeoName 181
Delete_IP_Libraries 181
IP_Libraries_Create_Country-011
#使用Country为搜索条件查找ip归属地信息
${iplist} create list 1.1.1.1-2.2.2.2
#新建国家
Create_Ip_Libraries City 1 284 1 ${iplist}
Switch_Country 1
Delete_IP_Libraries 284
IP_Libraries_Create_Country-012
#使用City为搜索条件查找ip归属地信息
${iplist} create list 1.1.1.1-2.2.2.2
#新建国家
Create_Ip_Libraries City 1 286 1 ${iplist}
Switch_City 1
Delete_IP_Libraries 286
IP_Libraries_Create_Country-013
#删除非内置的归属地信息列表
#ip段
${iplist} create list 1.1.1.1-2.2.2.2
#新建国家
Create_Ip_Libraries City 1 158 1 ${iplist}
#删除
Delete_IP_Libraries 158
IP_Libraries_Create_Country-014
#新建国家或城市添加两个以上的iprange
#ip段
${iplist} create list 1.1.1.1-2.2.2.2 1.2.2.2-3.2.2.2 10.10.10.10-20.20.20.20 15.15.15.15-25.25.25.25 13.13.13.13-26.26.26.26
#新建国家
Create_Ip_Libraries City Algeria 127 1 ${iplist} j=5 Longitude=-1 Latitude=12.13
ALL
IP_Libraries_Create_Country-015
#翻页功能以及每页的归属地条数
Pages
Ui-Pages 5
IP_Libraries_Create_Country-016
#1、ip归属地新建国家或城市经纬度输入负数和浮点数、2、ip归属地修改城市经纬度输入负数和浮点数、
#ip段
${iplist} create list 1.1.1.1-2.2.2.2
#新建国家
Create_Ip_Libraries City Algeria 117 1 ${iplist} Longitude=-1 Latitude=12.13
Edit_Ip_Libraries 117 Longitude=-2 Latitude=12.13
Delete_IP_Libraries 117
IP_Libraries_Create_Country-017
#p归属地新建国家或者城市Iprange中搜索框功能
#ip段
${iplist} create list 1.1.1.1-2.2.2.2 1.2.2.2-3.2.2.2 10.10.10.10-20.20.20.20 15.15.15.15-25.25.25.25 13.13.13.13-26.26.26.26
#新建国家
Create_Ip_Libraries City Algeria 129 1 ${iplist} j=5 Longitude=-1 Latitude=12.13
Delete_IP_Libraries 129
IP_Libraries_Create_Country-018
#新建国家Country输入中文
${iplist} create list 1.1.1.1-2.2.2.2
#新建国家
Create_Ip_Libraries Country Africa 185 中文 ${iplist} Country=中文 Longitude=-1 Latitude=-1
Delete_IP_Libraries 185
IP_Libraries_Create_Country-019
#新建国家Country输入英文
${iplist} create list 1.1.1.1-2.2.2.2
#新建国家
Create_Ip_Libraries Country Africa 185 english ${iplist} Country=english Longitude=-1 Latitude=-1
Delete_IP_Libraries 185
IP_Libraries_Create_Country-020
#新建国家Country输入俄文
${iplist} create list 1.1.1.1-2.2.2.2
#新建国家
Create_Ip_Libraries Country Africa 185 упражнение ${iplist} Country=упражнение Longitude=-1 Latitude=-1
Delete_IP_Libraries 185
IP_Libraries_Create_Country-021
#新建国家Country输入特殊字符
${iplist} create list 1.1.1.1-2.2.2.2
#新建国家
Create_Ip_Libraries Country Africa 185 @^& ${iplist} Country=@^& Longitude=-1 Latitude=-1
Delete_IP_Libraries 185
IP_Libraries_Create_Country-022
#修改国家Country输入中文
#ip段
${iplist} create list 1.1.1.1-2.2.2.2
#新建国家
Create_Ip_Libraries Country Africa 186 1 ${iplist} Country=中文 Longitude=-1 Latitude=12.13
Edit_Ip_Libraries 186 City=中文
Delete_IP_Libraries 186
IP_Libraries_Create_Country-023
#修改国家Country输入英文
#ip段
${iplist} create list 1.1.1.1-2.2.2.2
#新建国家
Create_Ip_Libraries Country Africa 187 1 ${iplist} Country=english Longitude=-1 Latitude=12.13
Edit_Ip_Libraries 187 City=english
Delete_IP_Libraries 187
IP_Libraries_Create_Country-024
#修改国家Country输入俄文
#ip段
${iplist} create list 1.1.1.1-2.2.2.2
#新建国家
Create_Ip_Libraries Country Africa 188 1 ${iplist} Country=упражнение Longitude=-1 Latitude=12.13
Edit_Ip_Libraries 188 City=упражнение
Delete_IP_Libraries 188
IP_Libraries_Create_Country-025
#修改国家Country输入特殊字符
#ip段
${iplist} create list 1.1.1.1-2.2.2.2
#新建国家
Create_Ip_Libraries Country Africa 189 1 ${iplist} Country=@^& Longitude=-1 Latitude=12.13
Edit_Ip_Libraries 189 City=@^&
Delete_IP_Libraries 189

View File

@@ -161,7 +161,7 @@ VerifyPolicies
... atrributeValue字段可为三种格式
... 1:dict
... 2:json
... 3.字符串ip的value对应格式为clientIp|clientPort|serverIp|serverPort|addrType|protocol,注意addrType,protocol为数字
... 3.字符串ip的value对应格式为ip|port|addrType|protocol,注意addrType,protocol为数字
... signature 的value对应格式为district|string
... string的格式就是string
... 以上三种方式可以混合搭配使用

View File

@@ -390,7 +390,7 @@ VerifyPolicyObj
[Arguments] ${verifyObj}
Log To Console Call VerifyPolicyObj
${emptyList} Create List
${return} ${policyType} Run Keyword And Ignore Error Get From Dictionary ${verifyObj} policyType
${return} ${policyType} Run Keyword And Ignore Error Set Variable ${verifyObj['policyType']}
#Should Not Be Empty ${policyType}
${verifySession} Get From Dictionary ${verifyObj} verifySession
Should Not Be Empty ${verifySession}
@@ -398,10 +398,10 @@ VerifyPolicyObj
Should Not Be Empty ${attributes}
FOR ${attribute} IN @{attributes}
${attributeType} Get From Dictionary ${attribute} attributeType
${return} ${tableName} Run Keyword And Ignore Error Get From Dictionary ${attribute} tableName
${return} ${protocol} Run Keyword And Ignore Error Get From Dictionary ${attribute} protocol
${attributeName} Get From Dictionary ${attribute} attributeName
${attributeValue} Get From Dictionary ${attribute} attributeValue
${return} ${tableName} Run Keyword And Ignore Error Set Variable ${attribute['tableName']}
${return} ${protocol} Run Keyword And Ignore Error Set Variable ${attribute['protocol']}
${attributeName} Get From Dictionary ${attribute} attributeName
${attributeValue} Get From Dictionary ${attribute} attributeValue
#将json转换为dict
${attributeValue} Convert To String ${attributeValue}
${start} Get Regexp Matches ${attributeValue} ^{\"
@@ -427,34 +427,32 @@ ManageIpAttributeValue
[Arguments] ${attributeValue} ${attributeName} ${type}
Run Keyword And Return If "${type}"=="str" ExtractIpAttributeValue ${attributeValue}
${dict} Create Dictionary
${return} ${clientIp} Run Keyword And Ignore Error Get From Dictionary ${attributeValue} clientIp
Run Keyword If "${clientIp}"=="${EMPTY}" and "${attributeName}"=="src_ip" Should Not Be Empty ${clientIp}
Set To Dictionary ${dict} clientIp=${clientIp}
${return} ${clientPort} Run Keyword And Ignore Error Get From Dictionary ${attributeValue} clientPort
Run Keyword If "${clientPort}"=="${EMPTY}" and "${attributeName}"=="src_ip" Should Not Be Empty ${clientPort}
Set To Dictionary ${dict} clientPort=${clientPort}
${return} ${serverIp} Run Keyword And Ignore Error Get From Dictionary ${attributeValue} serverIp
Run Keyword If "${serverIp}"=="${EMPTY}" and "${attributeName}"=="dest_ip" Should Not Be Empty ${serverIp}
Set To Dictionary ${dict} serverIp=${serverIp}
${return} ${serverPort} Run Keyword And Ignore Error Get From Dictionary ${attributeValue} serverPort
Run Keyword If "${serverPort}"=="${EMPTY}" and "${attributeName}"=="dest_ip" Should Not Be Empty ${serverPort}
Set To Dictionary ${dict} serverPort=${serverPort}
${return} ${addrType} Run Keyword And Ignore Error Get From Dictionary ${attributeValue} addrType
Should Be Equal As Strings ${return} PASS
${return} ${ip} Run Keyword And Ignore Error Set Variable ${attributeValue['ip']}
Run Keyword If "${ip}"=="${EMPTY}" and "${attributeName}"=="source" Should Not Be Empty ${ip}
Run Keyword If "${ip}"=="${EMPTY}" and "${attributeName}"=="destination" Should Not Be Empty ${ip}
Set To Dictionary ${dict} ip=${ip}
${return} ${port} Run Keyword And Ignore Error Set Variable ${attributeValue['port']}
Run Keyword If "${port}"=="${EMPTY}" and "${attributeName}"=="source" Should Not Be Empty ${port}
Run Keyword If "${port}"=="${EMPTY}" and "${attributeName}"=="destination" Should Not Be Empty ${port}
Set To Dictionary ${dict} port=${port}
${return} ${addrType} Run Keyword And Ignore Error Set Variable ${attributeValue['addrType']}
Run Keyword If "${port}"=="${EMPTY}" and "${attributeName}"=="source" Should Not Be Empty ${addrType}
Run Keyword If "${port}"=="${EMPTY}" and "${attributeName}"=="destination" Should Not Be Empty ${addrType}
Set To Dictionary ${dict} addrType=${addrType}
${return} ${protocol} Run Keyword And Ignore Error Get From Dictionary ${attributeValue} protocol
Should Be Equal As Strings ${return} PASS
${return} ${protocol} Run Keyword And Ignore Error Set Variable ${attributeValue['protocol']}
Run Keyword If "${port}"=="${EMPTY}" and "${attributeName}"=="source" Should Not Be Empty ${protocol}
Run Keyword If "${port}"=="${EMPTY}" and "${attributeName}"=="destination" Should Not Be Empty ${protocol}
Set To Dictionary ${dict} protocol=${protocol}
[Return] ${dict}
ExtractIpAttributeValue
[Arguments] ${attributeValue}
${list} Split String ${attributeValue} |
${len} Get Length ${list}
Should Be Equal As Integers ${len} 6
${addrType} Evaluate int(${list}[4])
${protocol} Evaluate int(${list}[5])
${dict} Create Dictionary clientIp=${list}[0] clientPort=${list}[1] serverIp=${list}[2]
... serverPort=${list}[3] addrType=${addrType} protocol=${protocol}
Should Be Equal As Integers ${len} 4
${addrType} Evaluate int(${list}[2])
${protocol} Evaluate int(${list}[3])
${dict} Create Dictionary ip=${list}[0] port=${list}[1]
... addrType=${addrType} protocol=${protocol}
[Return] ${dict}
ManageSignatureAttributeValue
[Arguments] ${attributeValue} ${type}

View File

@@ -100,7 +100,7 @@ Create-Traffic Mirror Profiles
Sleep 1
input id=trafficmirror_addrArray0 ${shuru}
sleep 2
click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div/div[2]/form/div[5]/div/div/button[1] #点击OK
click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[2]/button[1] #点击OK
Sleep 2
input id=one-input ${name} #搜索输入框输入name
Sleep 1
@@ -166,7 +166,7 @@ Create-Response Pages
Sleep 2
Choose File xpath=//*[@id="policy_Manipulation_create6"]/div[2]/form/div[2]/div/div/div/input ${file} #上传文件
Sleep 2
click xpath=//*[@id="policy_Manipulation_create6"]/div[2]/form/div[4]/div/div/button[1] #点击OK缇交
click id=responseAddOk1 #点击OK缇交
Sleep 1
input xpath=//*[@id="one-input"] ${name} #搜索框输入
Sleep 1
@@ -289,7 +289,7 @@ Edit-Traffic Mirror Profiles
sleep 1
input id=trafficmirror_addrArray0 ${shuju} #输入内容
sleep 1
click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div/div[2]/form/div[8]/div/div/button[1] #点击ok
click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[2]/button[1] #点击ok
import-Trusted Certificate Authorities
[Arguments] ${name} ${file}
@@ -413,7 +413,7 @@ Search-Cached Intermediate Certificates
input id=sreach_input ${id-sni}
click id=select_new_search_btn #点击搜索按钮
Sleep 1
click xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[8]/div/div/div/p/a/i #点击下载
click xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[7]/div/div/div/p/a/i #点击下载
Sleep 10
click ${enabled} #点击enabled按钮
sleep 1
@@ -926,7 +926,7 @@ Policy_Verify
sleep 2
${APP-ID} Set Variable ${APP-ID1}
Run Keyword If "${Select-Test}"=="Security Policy Match" and "${APP-ID}"=="Protocol-HTTP" Run Keywords click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[1]/div[1]/form/div[9]/div/div/div/span/span/i
... AND Wait Until Page Contains Element xpath=/html/body/div/div[1]/div[1]/ul/li[1] 10
... AND Wait Until Page Contains Element id=Protocol-HTTPhttp 10
... AND log $$$$$$1111111
... AND click id=Protocol-HTTPhttp
... AND sleep 2
@@ -959,8 +959,8 @@ Policy_Verify
\ run keyword if "${key}"=="Host" Run Keywords click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[1]/div[1]/form/div[10]/div/div
\ ... AND sleep 1
\ ... AND click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[1]/div[1]/form/div[10]/div[1]/div/div[1]/div[1]/span/span/i
\ ... AND Wait Until Page Contains Element xpath=/html/body/div/div[1]/div[1]/ul/li[1] 10
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[1]
\ ... AND Wait Until Page Contains Element xpath=/html/body/div/div[1]/div[1]/ul/li[2] 10
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[2]
\ ... AND sleep 1
\ ... AND input xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[1]/div[1]/form/div[10]/div[1]/div/div[2]/input ${dict}[${key}]
\ ... AND sleep 1
@@ -968,7 +968,7 @@ Policy_Verify
\ ... AND sleep 1
\ ... AND click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[1]/div[1]/form/div[10]/div[1]/div/div[1]/div[1]/span/span/i
\ ... AND sleep 1
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[1]
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[3]
\ ... AND sleep 1
\ ... AND input xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[1]/div[1]/form/div[10]/div[1]/div/div[2]/input ${dict}[${key}]
\ ... AND sleep 1
@@ -976,7 +976,7 @@ Policy_Verify
\ ... AND sleep 1
\ ... AND click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[1]/div[1]/form/div[10]/div[1]/div/div[1]/div[1]/span/span/i
\ ... AND sleep 1
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[1]
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[4]
\ ... AND sleep 1
\ ... AND input xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[1]/div[1]/form/div[10]/div[1]/div/div[2]/input ${dict}[${key}]
\ ... AND sleep 1
@@ -984,7 +984,7 @@ Policy_Verify
\ ... AND sleep 1
\ ... AND click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[1]/div[1]/form/div[10]/div[1]/div/div[1]/div[1]/span/span/i
\ ... AND sleep 1
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[1]
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[5]
\ ... AND sleep 1
\ ... AND Req_Res_Body ${dict}[${key}]
\ ... AND sleep 1
@@ -992,7 +992,7 @@ Policy_Verify
\ ... AND sleep 1
\ ... AND click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[1]/div[1]/form/div[10]/div[1]/div/div[1]/div[1]/span/span/i
\ ... AND sleep 1
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[1]
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[6]
\ ... AND sleep 1
\ ... AND Req_Res_Body ${dict}[${key}]
\ ... AND sleep 1
@@ -1008,7 +1008,7 @@ Policy_Verify
\ ... AND sleep 1
\ ... AND click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[1]/div[1]/form/div[10]/div[1]/div/div[1]/div[1]/span/span/i
\ ... AND sleep 1
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[1]
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[2]
\ ... AND sleep 1
\ ... AND Req_Res_Body ${dict}[${key}]
\ ... AND sleep 1
@@ -1016,7 +1016,7 @@ Policy_Verify
\ ... AND sleep 1
\ ... AND click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[1]/div[1]/form/div[10]/div[1]/div/div[1]/div[1]/span/span/i
\ ... AND sleep 1
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[1]
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[3]
\ ... AND sleep 1
\ ... AND Req_Res_Body ${dict}[${key}]
\ ... AND sleep 1
@@ -1040,7 +1040,7 @@ Policy_Verify
\ ... AND sleep 1
\ ... AND click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[1]/div[1]/form/div[10]/div[1]/div/div[1]/div[1]/span/span/i
\ ... AND sleep 1
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[1]
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[2]
\ ... AND sleep 1
\ ... AND Req_Res_Body ${dict}[${key}]
\ ... AND sleep 1
@@ -1048,7 +1048,7 @@ Policy_Verify
\ ... AND sleep 1
\ ... AND click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[1]/div[1]/form/div[10]/div[1]/div/div[1]/div[1]/span/span/i
\ ... AND sleep 1
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[1]
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[3]
\ ... AND sleep 1
\ ... AND Req_Res_Body ${dict}[${key}]
\ ... AND sleep 1
@@ -1056,7 +1056,7 @@ Policy_Verify
\ ... AND sleep 1
\ ... AND click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[1]/div[1]/form/div[10]/div[1]/div/div[1]/div[1]/span/span/i
\ ... AND sleep 1
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[1]
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[4]
\ ... AND sleep 1
\ ... AND Req_Res_Body ${dict}[${key}]
\ ... AND sleep 1
@@ -1064,7 +1064,7 @@ Policy_Verify
\ ... AND sleep 1
\ ... AND click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[1]/div[1]/form/div[10]/div[1]/div/div[1]/div[1]/span/span/i
\ ... AND sleep 1
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[1]
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[5]
\ ... AND sleep 1
\ ... AND Req_Res_Body ${dict}[${key}]
\ ... AND sleep 1
@@ -1072,7 +1072,7 @@ Policy_Verify
\ ... AND sleep 1
\ ... AND click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[1]/div[1]/form/div[10]/div[1]/div/div[1]/div[1]/span/span/i
\ ... AND sleep 1
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[1]
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[6]
\ ... AND sleep 1
\ ... AND Req_Res_Body ${dict}[${key}]
\ ... AND sleep 1
@@ -1080,15 +1080,7 @@ Policy_Verify
\ ... AND sleep 1
\ ... AND click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[1]/div[1]/form/div[10]/div[1]/div/div[1]/div[1]/span/span/i
\ ... AND sleep 1
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[1]
\ ... AND sleep 1
\ ... AND Req_Res_Body ${dict}[${key}]
\ ... AND sleep 1
\ run keyword if "${key}"=="ATT CONT" Run Keywords click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[1]/div[1]/form/div[10]/div/div
\ ... AND sleep 1
\ ... AND click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[1]/div[1]/form/div[10]/div[1]/div/div[1]/div[1]/span/span/i
\ ... AND sleep 1
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[1]
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[7]
\ ... AND sleep 1
\ ... AND Req_Res_Body ${dict}[${key}]
\ ... AND sleep 1
@@ -1104,7 +1096,7 @@ Policy_Verify
\ ... AND sleep 1
\ ... AND click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[1]/div[1]/form/div[10]/div[1]/div/div[1]/div[1]/span/span/i
\ ... AND sleep 1
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[1]
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[2]
\ ... AND sleep 1
\ ... AND Req_Res_Body ${dict}[${key}]
\ ... AND sleep 1
@@ -1112,7 +1104,7 @@ Policy_Verify
\ ... AND sleep 1
\ ... AND click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[1]/div[1]/form/div[10]/div[1]/div/div[1]/div[1]/span/span/i
\ ... AND sleep 1
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[1]
\ ... AND click xpath=/html/body/div/div[1]/div[1]/ul/li[3]
\ ... AND sleep 1
\ ... AND Req_Res_Body ${dict}[${key}]
\ ... AND sleep 1
@@ -1165,7 +1157,7 @@ Create_Ip_Libraries
... AND input id=ip_geography_Country1 ${Country}
run keyword if "${type}"=="City" Run Keywords click id=security_action_city
... AND sleep 1
... AND click id=ip_geography_continent
... AND click id=ip_geography_Country
... AND sleep 1
... AND Switch_Geographic_Locations ${Continent/Country}
sleep 1
@@ -1189,7 +1181,36 @@ Create_Ip_Libraries
${GeoNameText} get text xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[1]/div/div/div
sleep 2
Should Be Equal As Strings ${GeoNameText} ${GeoNameID} #断言
Edit_Ip_Libraries
[Arguments] ${GeoNameID} ${City}=null ${ip}=null ${j}=1 ${Country}=null ${Longitude}=null ${Latitude}=null ${type}=null ${type1}=null
click id=tagEdit #点击Edit按钮
sleep 2
run keyword if "${City}"!="null" input id=ip_geography_City ${City}
sleep 1
run keyword if "${type}"=="edit" Run Keywords click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[2]/form/div[3]/div/div[2]/div[2]/ul/li/div[2]/i[1]
... AND sleep 1
... AND clear element text xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[2]/form/div[3]/div/div[2]/div[2]/ul/li/div[1]/form/div/div/div
... AND sleep 1
... AND input id=ip_input0 ${ip}[0]
... AND sleep 1
run keyword if "${type}"=="create" Ip_Range_Edit_Create ${j} ${ip}
sleep 1
run keyword if "${type}"=="delete" and "${type1}"=="create" Run Keywords click xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[1]/div[2]/form/div[3]/div/div[2]/div[2]/ul/li/div[2]/i[2]
... AND sleep 1
... AND Ip_Range_Edit_Create ${j} ${ip}
run keyword if "${type}"=="null" log 不做更改
run keyword if "${Longitude}"!="null" Run Keywords input id=ip_geography_longitude ${Longitude}
... AND sleep 1
run keyword if "${Latitude}"!="null" Run Keywords input id=ip_geography_latitude ${Latitude}
... AND sleep 1
click id=IP_library_add
sleep 2
#验证修改是否成功
Switch_GeoName ${GeoNameID}
${GeoNameText} get text xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[1]/div/div/div
sleep 2
Should Be Equal As Strings ${GeoNameText} ${GeoNameID} #断言
Switch_Geographic_Locations
[Arguments] ${Continent/Country}
sleep 1
@@ -1210,11 +1231,21 @@ Ip_Range_Create
\ sleep 1
\ input id=ip_input${i} ${ip}[${i}]
\ sleep 1
Ip_Range_Edit_Create
[Arguments] ${j} ${ip}
sleep 1
Switch_GeoName
: FOR ${i} IN RANGE ${j}
\ sleep 1
\ click id=addIPList
\ sleep 1
\ input id=ip_input${i} ${ip}[${i}]
\ sleep 1
sleep 1
Switch_GeoName
[Arguments] ${GeoName}
sleep 2
click id=clear_input_btm
sleep 1
input id=one-input ${GeoName}
sleep 1
click id=select_new_search_btn
@@ -1222,6 +1253,7 @@ Ip_Range_Create
click xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[1]/div/div/div
sleep 1
Delete_IP_Libraries
Switch_GeoName ${GeoName}
sleep 2
click id=tagDel
sleep 2
@@ -1230,6 +1262,8 @@ Delete_IP_Libraries
Switch_GeoName1
[Arguments] ${GeoName}
sleep 2
click id=clear_input_btm
sleep 1
click id=one-input
sleep 1
click id=input_list_li1
@@ -1247,6 +1281,8 @@ Switch_GeoName1
Switch_Country
[Arguments] ${Country}
sleep 2
click id=clear_input_btm
sleep 1
click id=one-input
sleep 1
click id=input_list_li2
@@ -1263,6 +1299,8 @@ Switch_Country
Switch_City
[Arguments] ${City}
sleep 2
click id=clear_input_btm
sleep 1
click id=one-input
sleep 1
click id=input_list_li3
@@ -1275,4 +1313,31 @@ Switch_City
sleep 1
${CCityText} get text xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr[1]/td[4]/div/div/div
sleep 2
Should Match ${CityText} ${City} #断言
Should Match ${CityText} ${City} #断言
Pages
[Arguments]
Sleep 1
click id=children5 #点击一级目录Settings
Sleep 1
click id=sidebarIP_Libraries #点击二级目录IP_Libraries
Sleep 2
Ui-Pages
[Arguments] ${pages}
click element xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[4]/div/ul/li[1]
sleep 2
click element xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[4]/div/button[2]/i
sleep 2
Clear Element Text xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[4]/div/span[2]/div/input
sleep 2
input text xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[4]/div/span[2]/div/input ${pages}
sleep 2
press keys xpath=//*[@id="app"]/div/div[3]/div/div/div[2]/div[4]/div/span[2]/div/input ENTER
sleep 2
ALL
[Arguments]
click element xpath=//*[@id="ly-table1-listcontent"]/div/div[3]/table/tbody/tr/td[5]/div/div/div/div/div[2]/div[7]
sleep 2
click element xpath=//*[@id="policy_IP_library1"]/div/p/i
sleep 2

View File

@@ -1,66 +1,64 @@
*** Variables ***
#登录类型api | cli | ${None}tsg mib | 未指定默认为ui
${loginType} api
#执行环境是否Widonws
${systemType} Windows
#API配置信息
${host} 192.168.40.120
${port} 8080
${authmode} 1
${authCode} ${EMPTY}
${ldapId} 27
${version} v1
${version2} v2
${username} autotest
${password} 111111
${encodePassword} ${EMPTY}
${token} ${EMPTY}
#[Documentation] 测试终端IP统一配置
${testClentIP} 192.168.41.255
${testSubscriberID} $test2552
#自动化标签
${userTagIds} ${EMPTY}
#Documentation] 是否添加测试终端IP到策略统一配置0为不添加测试终端IP1为添加测试终端IP默认1
${addTestClentIPFlag} 0
#执行需要暂停时间
#策略下发后到验证需等待时间
${policyVerificationSleepSeconds} 20
#策略验证后到验证策略日志需等待时间
${policyLogVerificationSleepSeconds} 60
${path} E:/auto_git/eclipsegit/tsg_autotest/05-Other/
${currentpath} E:/auto_git/eclipsegit/tsg_autotest/
${curlbatpath} ${path}/curl/
${mailpath} ${path}/mail/
${responsePageFiles} ${path}/response_pages_files/
#全流程分阶段测试参数
#[Documentation] 当前测试部分all为一个终端全网全流程测试
#1为添加策略和对象测试
#2为功能端业务验证部分测试
#3为llog日志验证测试
${testPart} all
#UI配置的本地IP名称
${LocahIPName} ${EMPTY}
${ipType} ipv4
${ipMask} 255.255.255.255
${browserType} chrome
# Cli自动化测试变量[start]
${cliHost} 192.168.40.165
${cliUsername} tsgadmin
${cliPassword} Cli2019
${timeout} 600s
${retryInterval} 300s
@{PolicyTypes} tsg_security pxy_manipulation
@{ObjectTypes} ip url fqdn keywords subscriberid fqdn_category account
... http_signature
# Cli自动化测试变量[end]
# SNMP服务测试变量[start]
${snmpHost} 192.168.40.165
${snmpPort} 50161
${snmpConnTimeout} 5 # 默认超时时间为6s设置timeout值后超时时间为n*6s
${snmpCommunity} public
# SNMP服务测试变量[end]
#API配置信息
${oamHost} 192.168.40.210
${oamPort} 50080
#命中日志绝对值差,用于比对两种接口查询数据结果差值
${hitsAbs} 1000
*** Variables ***
#登录类型api | cli | ${None}tsg mib | 未指定默认为ui
${loginType} ui
#执行环境是否Widonws
${systemType} Windows
#API配置信息
${host} 192.168.40.120
${port} 8080
${authmode} 1
${authCode} ${EMPTY}
${ldapId} 27
${version} v1
${version2} v2
${username} autotest
${password} 111111
${encodePassword} ${EMPTY}
${token} ${EMPTY}
#[Documentation] 测试终端IP统一配置
${testClentIP} 192.168.41.255
${testSubscriberID} $test2552
#自动化标签
${userTagIds} ${EMPTY}
#Documentation] 是否添加测试终端IP到策略统一配置0为不添加测试终端IP1为添加测试终端IP默认1
${addTestClentIPFlag} 0
#执行需要暂停时间
#策略下发后到验证需等待时间
${policyVerificationSleepSeconds} 20
#策略验证后到验证策略日志需等待时间
${policyLogVerificationSleepSeconds} 60
${path} F:/tsg-git/tsg_autotest/05-Other/
${currentpath} E:/auto_git/eclipsegit/tsg_autotest/
${curlbatpath} ${path}/curl/
${mailpath} ${path}/mail/
${responsePageFiles} ${path}/response_pages_files/
#全流程分阶段测试参数
#[Documentation] 当前测试部分all为一个终端全网全流程测试
#1为添加策略和对象测试
#2为功能端业务验证部分测试
#3为llog日志验证测试
${testPart} all
#UI配置的本地IP名称
${LocahIPName} ${EMPTY}
${ipType} ipv4
${ipMask} 255.255.255.255
${browserType} chrome
# Cli自动化测试变量[start]
${cliHost} 192.168.40.165
${cliUsername} tsgadmin
${cliPassword} Cli2019
${timeout} 600s
${retryInterval} 300s
@{PolicyTypes} tsg_security pxy_manipulation
@{ObjectTypes} ip url fqdn keywords subscriberid fqdn_category account
... http_signature
# Cli自动化测试变量[end]
# SNMP服务测试变量[start]
${snmpHost} 192.168.40.165
${snmpPort} 50161
${snmpConnTimeout} 5 # 默认超时时间为6s设置timeout值后超时时间为n*6s
${snmpCommunity} public
# SNMP服务测试变量[end]
#API配置信息
${oamHost} 192.168.40.210
${oamPort} 50080