This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
dongxiaoyan-tsg-autotest/02-Keyword/tsg_bfapi/dashboard_keywords/TrafficStatistics.robot
2020-09-01 18:11:51 +08:00

801 lines
71 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

*** Settings ***
Test Teardown TeardownDelete ${reportId} ${report_url} ${chartId} ${chart_url} ${datasetId} ${dataset_url} ${resultId} ${result_url}
Force Tags tsg_bf_api chartlibrary_create report
Library OperatingSystem
Resource ../../../03-Variable/BifangApiVariable.txt
Resource ../Common.robot
Resource ../offline_stat_report/ApiRequest1.robot
Library DateTime
Library Collections
Library RequestsLibrary
Library String
Resource ../../../03-Variable/Bifangapivariable.txt
*** Variables ***
${dataset_url} /${version}/report/dataset
${datasetId} ${EMPTY}
${reportId} ${EMPTY}
${report_url} /${version}/report/offlinejob
${chartId} ${EMPTY}
${chart_url} /${version}/report/chart
${result_url} /${version}/report/offlinejob/result
${resultId} ${EMPTY}
*** Keywords ***
TrafficBFRequest
[Arguments] ${url} ${data}
${header} Create Dictionary Content-Type=application/x-www-form-urlencoded Authorization=${token}
Create Session api http://${host}:${port}/${version} headers=${header}
${bfRemoteResponse} Get Request api ${url}?${data} headers=${header}
${bfResponse} to json ${bfRemoteResponse.content}
Should Be Equal As Strings ${bfRemoteResponse.status_code} 200
Should Be Equal As Strings ${bfResponse['code']} 200
[Return] ${bfResponse}
Time-granularity
[Arguments] ${starttime} ${endtime}
${1} ${4} str2sec ${starttime}
${2} ${5} str2sec ${endtime}
log ${4}
log ${5}
${6} evaluate (int(${5})-int(${4}))*86400
${7} evaluate int(${6})+int(${2})
${3} evaluate int(${7})-int(${1})
log ${3}
[Return] ${3}
Dashboard-Traffic-new
# Traffics-带宽统计 统计类型bytes packets sessions bifang和report对比
[Documentation]
... 描述Traffic-Bytes统计
... 参数starttime(必传,开始时间紧)
... endtime(必传,结束时间
... 返回:对比结果
[Arguments] ${starttime} ${endtime} ${name}
${data} Set Variable startTime=${startTime}&endTime=${endTime}
${url1} Set Variable report/traffic/statisticsbyunit
${bfResponse} TrafficStatistics.trafficBFRequest ${url1} ${data}
${trafficpackets} Set Variable ${bfResponse['data']['trafficTotalPackets']}
${trafficbytes} Set Variable ${bfResponse['data']['trafficTotalBytes']}
${trafficsession} Set Variable ${bfResponse['data']['sessions']}
#新建DataSet
#${name} Set Variable Report_Result-001
BasePostRequestOK ${dataset_url} {"list":{"name":"${name}","logType":"connection_record_log","filterConnector":"and","havingConnector":"and","groupColumnList":[{"name":"common_recv_time"}],"queryColumnList":[{"name":"common_recv_time","expression":"","label":"Receive Time"},{"name":"common_s2c_pkt_num,common_c2s_pkt_num","expression":"sum","label":"Packets Received+Packets Sent","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_s2c_byte_num,common_c2s_byte_num","expression":"sum","label":"Bytes Received+Bytes Sent","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_log_id","expression":"count","label":"sessions","expressionList":[]}],"filterConditionList":[],"havingConditionList":[]}} #根据name查询出该Dataset的id
${response} BaseGetRequestOK ${dataset_url} pageSize=20&pageNo=1&id=&name=${name}&logType=&opStartTime=&opEndTime=&opUser=
${datasetId} Set Variable ${response}[data][list][0][id]
#根据DataSet的id新建ChartLien图形表
BasePostRequestOK ${chart_url} {"list":{"id":null,"name":"${name}","description":"","datasetId":${datasetId},"chartType":"line","dataTop":0,"orderBy":"","orderDesc":0,"drilldownTop":0,"includeOther":false,"timeline":{"dataBinding":"Receive Time","label":"","format":"Time"},"line":[{"dataBinding":"Packets Received+Packets Sent","type":"Line Up","format":"Default","legend":"Packets Received+Packets Sent"},{"dataBinding":"Bytes Received+Bytes Sent","type":"Line Up","format":"Default","legend":"Bytes Received+Bytes Sent"},{"dataBinding":"sessions","type":"Line Up","format":"Default","legend":"sessions"}],"groupBy":null}}
#根据name查询出该Chart的id
${response1} BaseGetRequestOK ${chart_url} pageSize=20&pageNo=1&id=&name=${name}&opUser=
${chartId} Set Variable ${response1}[data][list][0][id]
#新建Report时间计划为Today图表引用Line。
BasePostRequestOK ${report_url} {"reportJobList":{"rangeType":"customize","rangeInterval":1,"rangeUnit":"","jobName":"${name}","scheduleId":"","chartList":[{"chartId":${chartId},"timeGranulartiy":5,"timeUnit":"minute","disabled":false}],"isNotice":0,"noticeMethod":"","receivers":[""],"receiver":"","startTime":"${starttime}","endTime":"${endtime}","filterConnector":"and","filterCondition":[]}}
#查询Report的id
${response1} BaseGetRequestOK ${report_url} pageSize=20&pageNo=1&jobIds=&jobName=${name}&opStartTime=&opEndTime=&opUser=&scheduleId=
${reportId} Set Variable ${response1}[data][list][0][jobId]
#查询Report结果的状态并判断状态结果如果状态是执行成功查看report结果内容
FOR ${i} IN RANGE 50
sleep 10
#report执行状态查询
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
${status} Set Variable ${response1}[data][list][0][status]
${resultId} Set Variable ${response1}[data][list][0][resultId]
run keyword if "${status}"=="0" log non-execution
... ELSE IF "${status}"=="1" log executing
... ELSE IF "${status}"=="2" Exit For Loop
... ELSE log Exec failure
END
#Report报表详情查询
${response1} BaseGetRequestOK ${result_url} resultId=${resultId}&jobId=${reportId}
${startTime1} Set Variable ${response1}[data][list][0][startTime]
${endTime1} Set Variable ${response1}[data][list][0][endTime]
${response2} BaseGetRequestOK /v1/report/offlinejob/result/traffic startTime=${startTime1}&endTime=${endTime1}
${sessions} Set Variable ${response2}[data][list][0][total_new_sessions]
${bytes} Set Variable ${response2}[data][list][0][total_bytes_transferred]
#${Time-granularity} Time-granularity ${starttime} ${endtime}
${packets} Set Variable ${response2}[data][list][0][total_packets_transferred]
${number} evaluate (int(${sessions})-int(${trafficsession}))/int(${sessions})
${number1} evaluate (int(${bytes})-int(${trafficbytes}))/int(${bytes})
${number2} evaluate (int(${packets})-int(${trafficpackets}))/int(${packets})
Should Be True ${number}<=${contrast}
Should Be True ${number1}<=${contrast}
Should Be True ${number2}<=${contrast}
[Return] OK
SessionStatistics-NewLive-new
# dashboard界面新建和活跃连接数统计 bifang和bigData对比
[Documentation]
... 描述Session-NewLive统计(新建和存活的链接数)
... 参数starttime(必传,开始时间紧)
... endtime(必传,结束时间
... 返回:对比结果
[Arguments] ${starttime} ${endtime} ${name}
${data} Set Variable startTime=${startTime}&endTime=${endTime}
${url1} Set Variable report/traffic/sessions/statisticsbytype
${bfResponse} TrafficStatistics.trafficBFRequest ${url1} ${data}
${newCount} Set Variable ${bfResponse['data']['newCount']}
${liveCount} Set Variable ${bfResponse['data']['liveCount']}
#新建DataSet
#${name} Set Variable Report_Result-001
BasePostRequestOK ${dataset_url} {"list":{"name":"${name}","logType":"connection_record_log","filterConnector":"and","havingConnector":"and","groupColumnList":[{"name":"common_recv_time"}],"queryColumnList":[{"name":"common_recv_time","expression":"","label":"Receive Time"},{"name":"common_s2c_pkt_num,common_c2s_pkt_num","expression":"sum","label":"Packets Received+Packets Sent","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_s2c_byte_num,common_c2s_byte_num","expression":"sum","label":"Bytes Received+Bytes Sent","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_log_id","expression":"count","label":"sessions","expressionList":[]}],"filterConditionList":[],"havingConditionList":[]}} #根据name查询出该Dataset的id
${response} BaseGetRequestOK ${dataset_url} pageSize=20&pageNo=1&id=&name=${name}&logType=&opStartTime=&opEndTime=&opUser=
${datasetId} Set Variable ${response}[data][list][0][id]
#根据DataSet的id新建ChartLien图形表
BasePostRequestOK ${chart_url} {"list":{"id":null,"name":"${name}","description":"","datasetId":${datasetId},"chartType":"line","dataTop":0,"orderBy":"","orderDesc":0,"drilldownTop":0,"includeOther":false,"timeline":{"dataBinding":"Receive Time","label":"","format":"Time"},"line":[{"dataBinding":"Packets Received+Packets Sent","type":"Line Up","format":"Default","legend":"Packets Received+Packets Sent"},{"dataBinding":"Bytes Received+Bytes Sent","type":"Line Up","format":"Default","legend":"Bytes Received+Bytes Sent"},{"dataBinding":"sessions","type":"Line Up","format":"Default","legend":"sessions"}],"groupBy":null}}
#根据name查询出该Chart的id
${response1} BaseGetRequestOK ${chart_url} pageSize=20&pageNo=1&id=&name=${name}&opUser=
${chartId} Set Variable ${response1}[data][list][0][id]
#新建Report时间计划为Today图表引用Line。
BasePostRequestOK ${report_url} {"reportJobList":{"rangeType":"customize","rangeInterval":1,"rangeUnit":"","jobName":"${name}","scheduleId":"","chartList":[{"chartId":${chartId},"timeGranulartiy":5,"timeUnit":"minute","disabled":false}],"isNotice":0,"noticeMethod":"","receivers":[""],"receiver":"","startTime":"${starttime}","endTime":"${endtime}","filterConnector":"and","filterCondition":[]}}
#查询Report的id
${response1} BaseGetRequestOK ${report_url} pageSize=20&pageNo=1&jobIds=&jobName=${name}&opStartTime=&opEndTime=&opUser=&scheduleId=
${reportId} Set Variable ${response1}[data][list][0][jobId]
#查询Report结果的状态并判断状态结果如果状态是执行成功查看report结果内容
FOR ${i} IN RANGE 50
sleep 10
#report执行状态查询
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
${status} Set Variable ${response1}[data][list][0][status]
${resultId} Set Variable ${response1}[data][list][0][resultId]
run keyword if "${status}"=="0" log non-execution
... ELSE IF "${status}"=="1" log executing
... ELSE IF "${status}"=="2" Exit For Loop
... ELSE log Exec failure
END
#Report报表详情查询
${response1} BaseGetRequestOK ${result_url} resultId=${resultId}&jobId=${reportId}
log 11111111111111${response1}[data][list][0]
${startTime1} Set Variable ${response1}[data][list][0][startTime]
${endTime1} Set Variable ${response1}[data][list][0][endTime]
${response2} BaseGetRequestOK /v1/report/offlinejob/result/traffic startTime=${startTime1}&endTime=${endTime1}
${sessions} Set Variable ${response2}[data][list][0][total_new_sessions]
${number} evaluate (int(${sessions})-int(${newCount}))/int(${sessions})
Should Be True ${number}<=${contrast}
[Return] OK
SecurityEventActionHit-new
# dashboard界面 安全策略各动作命中计数 bytes packets sessions bifang和report对比
[Documentation]
... 描述Security-Action-packets
... 参数starttime(必传,开始时间紧)
... timeGranularity(必传,时间粒度 )
... limit(必传,限制条数)
... endtime(必传,结束时间)
... logType(必填,日志类型。)
... name 名字
... action 动作0为none128为allow16为deny2为intercept1为monitor
[Arguments] ${starttime} ${endtime} ${timeGranularity} ${limit} ${name} ${action}
${logType} Set Variable security_event_hits_log
${data} Set Variable startTime=${startTime}&endTime=${endTime}&logType=${logType}&timeGranularity=${timeGranularity}&limit=${limit}
${url1} Set Variable report/policyevent/hit/action
${bfResponse} TrafficStatistics.trafficBFRequest ${url1} ${data}
${actionCountList} Set Variable ${bfResponse['data']['actionCount']}
#新建DataSet
#${name} Set Variable Report_Result-001
BasePostRequestOK ${dataset_url} {"list":{"name":"${name}","logType":"security_event_log","filterConnector":"and","havingConnector":"and","groupColumnList":[{"name":"common_action"}],"queryColumnList":[{"name":"common_action","expression":"","label":"Action"},{"name":"common_c2s_pkt_num,common_s2c_pkt_num","expression":"sum","label":"Packets Sent+Packets Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_byte_num,common_s2c_byte_num","expression":"sum","label":"Bytes Sent+Bytes Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_log_id","expression":"count","label":"sessions","expressionList":[]}],"filterConditionList":[{"name":"common_action","expression":"=","expressionList":["=","!=",">","<",">=","<="],"value":[${action}],"type":"int"}],"havingConditionList":[]}}
${response} BaseGetRequestOK ${dataset_url} pageSize=20&pageNo=1&id=&name=${name}&logType=&opStartTime=&opEndTime=&opUser=
${datasetId} Set Variable ${response}[data][list][0][id]
#根据DataSet的id新建ChartLien图形表
BasePostRequestOK ${chart_url} {"list":{"id":null,"name":"${name}","description":"","datasetId":${datasetId},"chartType":"table","dataTop":10,"orderBy":"","orderDesc":"","drilldownTop":null,"includeOther":false,"tableType":"Regular","columns":[{"title":"Action","width":20,"dataBindings":[{"dataType":"","dataBinding":"Action","format":"Default","legend":"","name":"common_action"}]},{"title":"Packets Sent+Packets Received","width":20,"dataBindings":[{"dataType":"","dataBinding":"Packets Sent+Packets Received","format":"Default","legend":"","name":"common_c2s_pkt_num,common_s2c_pkt_num"}]},{"title":"Bytes Sent+Bytes Received","width":20,"dataBindings":[{"dataType":"","dataBinding":"Bytes Sent+Bytes Received","format":"Default","legend":"","name":"common_c2s_byte_num,common_s2c_byte_num"}]},{"title":"sessions","width":20,"dataBindings":[{"dataType":"","dataBinding":"sessions","format":"Default","legend":"","name":"common_log_id"}]}]}}
#根据name查询出该Chart的id
${response1} BaseGetRequestOK ${chart_url} pageSize=20&pageNo=1&id=&name=${name}&opUser=
${chartId} Set Variable ${response1}[data][list][0][id]
#新建Report时间计划为Today图表引用Line。
BasePostRequestOK ${report_url} {"reportJobList":{"rangeType":"customize","rangeInterval":"","rangeUnit":"","jobName":"${name}","scheduleId":"","chartList":[{"chartId":${chartId},"timeGranulartiy":1,"timeUnit":"","disabled":true}],"isNotice":0,"noticeMethod":"","receivers":[""],"receiver":"","startTime":"${starttime}","endTime":"${endtime}","filterConnector":"and","filterCondition":[]}}
#查询Report的id
${response1} BaseGetRequestOK ${report_url} pageSize=20&pageNo=1&jobIds=&jobName=${name}&opStartTime=&opEndTime=&opUser=&scheduleId=
${reportId} Set Variable ${response1}[data][list][0][jobId]
#查询Report结果的状态并判断状态结果如果状态是执行成功查看report结果内容
FOR ${i} IN RANGE 50
sleep 10
#report执行状态查询
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
${status} Set Variable ${response1}[data][list][0][status]
${resultId} Set Variable ${response1}[data][list][0][resultId]
run keyword if "${status}"=="0" log non-execution
... ELSE IF "${status}"=="1" log executing
... ELSE IF "${status}"=="2" Exit For Loop
... ELSE log Exec failure
END
#Report报表详情查询
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
#判断resultRows字段
${resultRows} Set Variable ${response1}[data][list][0][resultRows]
${responselist} run keyword if '${resultRows}'=='0' SecurityEventActionHit-if ELSE SecurityEventActionHit-else ${reportId} ${resultId}
${responselist1} run keyword if '${action}'=='0' action-0 ${actionCountList}
... ELSE IF '${action}'=='128' action-128 ${actionCountList}
... ELSE IF '${action}'=='16' action-16 ${actionCountList}
... ELSE IF '${action}'=='1' action-1 ${actionCountList}
... ELSE IF '${action}'=='2' action-2 ${actionCountList}
${number} run keyword if '${responselist1}[0]'=='0' SecurityEventActionHit-if-1 ELSE evaluate int(${responselist}[0])/int(${responselist1}[0])-1
${number1} run keyword if '${responselist1}[1]'=='0' SecurityEventActionHit-if-1 ELSE evaluate int(${responselist}[1])/int(${responselist1}[1])-1
${number2} run keyword if '${responselist1}[2]'=='0' SecurityEventActionHit-if-1 ELSE evaluate int(${responselist}[1])/int(${responselist1}[2])-1
Should Be True ${number}<=${contrast}
Should Be True ${number1}<=${contrast}
Should Be True ${number2}<=${contrast}
[Return] OK
SecurityEventActionHit-if
${responselist} create list 0 0 0
[Return] ${responselist}
SecurityEventActionHit-if-1
${number} Set Variable 0
[Return] ${number}
SecurityEventActionHit-else
[Arguments] ${reportId} ${resultId}
${response1} BaseGetRequestOK /v1/report/offlinejob/result/detail jobId=${reportId}&resultId=${resultId}
${packets} Set Variable ${response1}[data][list][0][tableData][columns][1][dataBindings][0][data][0]
${bytes} Set Variable ${response1}[data][list][0][tableData][columns][2][dataBindings][0][data][0]
${sessions} Set Variable ${response1}[data][list][0][tableData][columns][3][dataBindings][0][data][0]
${responselist} create list ${bytes} ${packets} ${sessions}
[Return] ${responselist}
action-0
[Arguments] ${actionCountList}
${packets} Set Variable ${actionCountList}[0][packets]
${bytes} Set Variable ${actionCountList}[0][bytes]
${sessions} Set Variable ${actionCountList}[0][sessions]
${responselist1} create list ${bytes} ${packets} ${sessions}
[Return] ${responselist1}
action-128
[Arguments] ${actionCountList}
${packets} Set Variable ${actionCountList}[1][packets]
${bytes} Set Variable ${actionCountList}[1][bytes]
${sessions} Set Variable ${actionCountList}[1][sessions]
${responselist1} create list ${bytes} ${packets} ${sessions}
[Return] ${responselist1}
action-16
[Arguments] ${actionCountList}
${packets} Set Variable ${actionCountList}[2][packets]
${bytes} Set Variable ${actionCountList}[2][bytes]
${sessions} Set Variable ${actionCountList}[2][sessions]
${responselist1} create list ${bytes} ${packets} ${sessions}
[Return] ${responselist1}
action-1
[Arguments] ${actionCountList}
${packets} Set Variable ${actionCountList}[3][packets]
${bytes} Set Variable ${actionCountList}[3][bytes]
${sessions} Set Variable ${actionCountList}[3][sessions]
${responselist1} create list ${bytes} ${packets} ${sessions}
[Return] ${responselist1}
action-2
[Arguments] ${actionCountList}
${packets} Set Variable ${actionCountList}[4][packets]
${bytes} Set Variable ${actionCountList}[4][bytes]
${sessions} Set Variable ${actionCountList}[4][sessions]
${responselist1} create list ${bytes} ${packets} ${sessions}
[Return] ${responselist1}
ClientIPTopN-new
#dashboard 源IP统计 bifang和bigData对比
[Documentation]
... 描述ProxyPinning
... 参数starttime(必传,开始时间)
... orderBy(必传,排序 sessions、bytes、packets 从这三个中选择)
... limit(必传,限制条数)
... endtime(必传,结束时间)
[Arguments] ${starttime} ${endtime} ${orderBy} ${limit} ${name} ${char-orderby}
${data} Set Variable startTime=${startTime}&endTime=${endTime}&orderBy=${orderBy}&limit=${limit}
${url1} Set Variable report/traffic/topn/clientip
${bfResponse} TrafficStatistics.TrafficBFRequest ${url1} ${data}
@{List1} Set Variable ${bfResponse['data']['list']}
#新建DataSet
#${name} Set Variable Report_Result-001
BasePostRequestOK ${dataset_url} {"list":{"name":"${name}","logType":"connection_record_log","filterConnector":"and","havingConnector":"and","groupColumnList":[{"name":"common_client_ip"}],"queryColumnList":[{"name":"common_client_ip","expression":"","label":"Client IP"},{"name":"common_log_id","expression":"count","label":"sessions","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_byte_num","expression":"sum","label":"Bytes Sent","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_s2c_byte_num","expression":"sum","label":"Bytes Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_byte_num,common_s2c_byte_num","expression":"sum","label":"Bytes Sent+Bytes Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_pkt_num","expression":"sum","label":"Packets Sent","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_s2c_pkt_num","expression":"sum","label":"Packets Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_pkt_num,common_s2c_pkt_num","expression":"sum","label":"Packets Sent+Packets Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]}],"filterConditionList":[],"havingConditionList":[]}}
${response} BaseGetRequestOK ${dataset_url} pageSize=20&pageNo=1&id=&name=${name}&logType=&opStartTime=&opEndTime=&opUser=
${datasetId} Set Variable ${response}[data][list][0][id]
#根据DataSet的id新建ChartLien图形表
BasePostRequestOK ${chart_url} {"list":{"id":null,"name":"${name}","description":"","datasetId":${datasetId},"chartType":"table","dataTop":${limit},"orderBy":"${char-orderby}","orderDesc":0,"drilldownTop":null,"includeOther":false,"tableType":"Regular","columns":[{"title":"Client IP","width":10,"dataBindings":[{"dataType":"","dataBinding":"Client IP","format":"Default","legend":"","name":"common_client_ip"}]},{"title":"sessions","width":10,"dataBindings":[{"dataType":"","dataBinding":"sessions","format":"Default","legend":"","name":"common_log_id"}]},{"title":"Bytes Sent","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Sent","format":"Default","legend":"","name":"common_c2s_byte_num"}]},{"title":"Bytes Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Received","format":"Default","legend":"","name":"common_s2c_byte_num"}]},{"title":"Bytes Sent+Bytes Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Sent+Bytes Received","format":"Default","legend":"","name":"common_c2s_byte_num,common_s2c_byte_num"}]},{"title":"Packets Sent","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Sent","format":"Default","legend":"","name":"common_c2s_pkt_num"}]},{"title":"Packets Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Received","format":"Default","legend":"","name":"common_s2c_pkt_num"}]},{"title":"Packets Sent+Packets Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Sent+Packets Received","format":"Default","legend":"","name":"common_c2s_pkt_num,common_s2c_pkt_num"}]}]}}
#根据name查询出该Chart的id
${response1} BaseGetRequestOK ${chart_url} pageSize=20&pageNo=1&id=&name=${name}&opUser=
${chartId} Set Variable ${response1}[data][list][0][id]
#新建Report时间计划为Today图表引用Line。
BasePostRequestOK ${report_url} {"reportJobList":{"rangeType":"customize","rangeInterval":"","rangeUnit":"","jobName":"${name}","scheduleId":"","chartList":[{"chartId":${chartId},"timeGranulartiy":1,"timeUnit":"","disabled":true}],"isNotice":0,"noticeMethod":"","receivers":[""],"receiver":"","startTime":"${starttime}","endTime":"${endtime}","filterConnector":"and","filterCondition":[]}}
#查询Report的id
${response1} BaseGetRequestOK ${report_url} pageSize=20&pageNo=1&jobIds=&jobName=${name}&opStartTime=&opEndTime=&opUser=&scheduleId=
${reportId} Set Variable ${response1}[data][list][0][jobId]
#查询Report结果的状态并判断状态结果如果状态是执行成功查看report结果内容
FOR ${i} IN RANGE 50
sleep 10
#report执行状态查询
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
${status} Set Variable ${response1}[data][list][0][status]
${resultId} Set Variable ${response1}[data][list][0][resultId]
run keyword if "${status}"=="0" log non-execution
... ELSE IF "${status}"=="1" log executing
... ELSE IF "${status}"=="2" Exit For Loop
... ELSE log Exec failure
END
#Report报表详情查询
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
#判断resultRows字段
${resultRows} Set Variable ${response1}[data][list][0][resultRows]
${responselist} run keyword if '${resultRows}'=='0' ClientIPTopN-new-if ELSE ClientIPTopN-new-else ${reportId} ${resultId}
${list2} create list
${list3} create list
${list4} create list
${list5} create list
${list6} create list
${list7} create list
${list8} create list
${list9} create list
FOR ${j} IN @{List1}
ClientIPTopN-new-for ${j} ${list2} ${list3} ${list4} ${list5} ${list6} ${list7} ${list8} ${list9}
END
${responselist1} create list ${list2} ${list3} ${list4} ${list5} ${list6} ${list7} ${list8} ${list9}
${retourn} intersection ${responselist} ${responselist1}
Should Be True "${retourn}"=="ture"
ClientIPTopN-new-if
${list2} create list
${list3} create list
${list4} create list
${list5} create list
${list6} create list
${list7} create list
${list8} create list
${list9} create list
${responselist} create list {list2} ${list3} ${list4} ${list5} ${list6} ${list7} ${list8} ${list9}
[Return] ${responselist}
ClientIPTopN-new-else
[Arguments] ${reportId} ${resultId}
${response1} BaseGetRequestOK /v1/report/offlinejob/result/detail jobId=${reportId}&resultId=${resultId}
${Client IP} Set Variable ${response1}[data][list][0][tableData][columns][0][dataBindings][0][data]
${sessions} Set Variable ${response1}[data][list][0][tableData][columns][1][dataBindings][0][data]
${Bytes Sent} Set Variable ${response1}[data][list][0][tableData][columns][2][dataBindings][0][data]
${Bytes Received} Set Variable ${response1}[data][list][0][tableData][columns][3][dataBindings][0][data]
${Bytes Sent+Bytes Received} Set Variable ${response1}[data][list][0][tableData][columns][4][dataBindings][0][data]
${Packets Sent} Set Variable ${response1}[data][list][0][tableData][columns][5][dataBindings][0][data]
${Packets Received} Set Variable ${response1}[data][list][0][tableData][columns][6][dataBindings][0][data]
${Packets Sent+Packets Received} Set Variable ${response1}[data][list][0][tableData][columns][7][dataBindings][0][data]
${responselist} create list ${Client IP} ${sessions} ${Bytes Sent} ${Bytes Received} ${Bytes Sent+Bytes Received} ${Packets Sent} ${Packets Received} ${Packets Sent+Packets Received}
[Return] ${responselist}
ClientIPTopN-new-for
[Arguments] ${j} ${listclientIp} ${listsessions} ${listsentBytes} ${listreceivedBytes} ${listtotalBytes} ${listsentPackets} ${listreceivedPackets} ${listtotalPackets}
FOR ${v} ${k} IN ENUMERATE @{j}
run keyword if '${k}'=='clientIp' or '${k}'=='serverIp' or '${k}'=='subscriberid' or '${k}'=='domain' append to list ${listclientIp} ${j}[${k}]
${str1} run keyword if '${k}'=='sessions' evaluate str(${j}[${k}])
run keyword if ${str1}!=None append to list ${listsessions} ${str1}
${str2} run keyword if '${k}'=='sentBytes' evaluate str(${j}[${k}])
run keyword if ${str2}!=None append to list ${listsentBytes} ${str2}
${str3} run keyword if '${k}'=='receivedBytes' evaluate str(${j}[${k}])
run keyword if ${str3}!=None append to list ${listreceivedBytes} ${str3}
${str4} run keyword if '${k}'=='totalBytes' evaluate str(${j}[${k}])
run keyword if ${str4}!=None append to list ${listtotalBytes} ${str4}
${str5} run keyword if '${k}'=='sentPackets' evaluate str(${j}[${k}])
run keyword if ${str5}!=None append to list ${listsentPackets} ${str5}
${str6} run keyword if '${k}'=='receivedPackets' evaluate str(${j}[${k}])
run keyword if ${str6}!=None append to list ${listreceivedPackets} ${str6}
${str7} run keyword if '${k}'=='totalPackets' evaluate str(${j}[${k}])
run keyword if ${str7}!=None append to list ${listtotalPackets} ${str7}
END
ServiceIPTopN-new
#dashboard 目的IP统计 bifang和bigData对比
[Documentation]
... 描述ProxyPinning
... 参数starttime(必传,开始时间紧)
... orderBy(必传,排序 sessions、bytes、packets 从这三个中选择)
... limit(必传,限制条数)
... endtime(必传,结束时间
[Arguments] ${starttime} ${endtime} ${orderBy} ${limit} ${name} ${char-orderby}
${data} Set Variable startTime=${startTime}&endTime=${endTime}&orderBy=${orderBy}&limit=${limit}
${url1} Set Variable report/traffic/topn/serverip
${bfResponse} TrafficStatistics.trafficBFRequest ${url1} ${data}
@{List1} Set Variable ${bfResponse['data']['list']}
#新建DataSet
#${name} Set Variable Report_Result-001
BasePostRequestOK ${dataset_url} {"list":{"name":"${name}","logType":"connection_record_log","filterConnector":"and","havingConnector":"and","groupColumnList":[{"name":"common_server_ip"}],"queryColumnList":[{"name":"common_server_ip","expression":"","label":"Server IP"},{"name":"common_log_id","expression":"count","label":"sessions","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_byte_num","expression":"sum","label":"Bytes Sent","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_s2c_byte_num","expression":"sum","label":"Bytes Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_byte_num,common_s2c_byte_num","expression":"sum","label":"Bytes Sent+Bytes Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_pkt_num","expression":"sum","label":"Packets Sent","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_s2c_pkt_num","expression":"sum","label":"Packets Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_pkt_num,common_s2c_pkt_num","expression":"sum","label":"Packets Sent+Packets Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]}],"filterConditionList":[],"havingConditionList":[]}}
${response} BaseGetRequestOK ${dataset_url} pageSize=20&pageNo=1&id=&name=${name}&logType=&opStartTime=&opEndTime=&opUser=
${datasetId} Set Variable ${response}[data][list][0][id]
#根据DataSet的id新建ChartLien图形表
BasePostRequestOK ${chart_url} {"list":{"id":null,"name":"${name}","description":"","datasetId":${datasetId},"chartType":"table","dataTop":${limit},"orderBy":"${char-orderby}","orderDesc":0,"drilldownTop":null,"includeOther":false,"tableType":"Regular","columns":[{"title":"Server IP","width":10,"dataBindings":[{"dataType":"","dataBinding":"Server IP","format":"Default","legend":"","name":"common_server_ip"}]},{"title":"sessions","width":10,"dataBindings":[{"dataType":"","dataBinding":"sessions","format":"Default","legend":"","name":"common_log_id"}]},{"title":"Bytes Sent","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Sent","format":"Default","legend":"","name":"common_c2s_byte_num"}]},{"title":"Bytes Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Received","format":"Default","legend":"","name":"common_s2c_byte_num"}]},{"title":"Bytes Sent+Bytes Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Sent+Bytes Received","format":"Default","legend":"","name":"common_c2s_byte_num,common_s2c_byte_num"}]},{"title":"Packets Sent","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Sent","format":"Default","legend":"","name":"common_c2s_pkt_num"}]},{"title":"Packets Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Received","format":"Default","legend":"","name":"common_s2c_pkt_num"}]},{"title":"Packets Sent+Packets Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Sent+Packets Received","format":"Default","legend":"","name":"common_c2s_pkt_num,common_s2c_pkt_num"}]}]}}
#根据name查询出该Chart的id
${response1} BaseGetRequestOK ${chart_url} pageSize=20&pageNo=1&id=&name=${name}&opUser=
${chartId} Set Variable ${response1}[data][list][0][id]
#新建Report时间计划为Today图表引用Line。
BasePostRequestOK ${report_url} {"reportJobList":{"rangeType":"customize","rangeInterval":"","rangeUnit":"","jobName":"${name}","scheduleId":"","chartList":[{"chartId":${chartId},"timeGranulartiy":1,"timeUnit":"","disabled":true}],"isNotice":0,"noticeMethod":"","receivers":[""],"receiver":"","startTime":"${starttime}","endTime":"${endtime}","filterConnector":"and","filterCondition":[]}}
#查询Report的id
${response1} BaseGetRequestOK ${report_url} pageSize=20&pageNo=1&jobIds=&jobName=${name}&opStartTime=&opEndTime=&opUser=&scheduleId=
${reportId} Set Variable ${response1}[data][list][0][jobId]
#查询Report结果的状态并判断状态结果如果状态是执行成功查看report结果内容
FOR ${i} IN RANGE 50
sleep 10
#report执行状态查询
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
${status} Set Variable ${response1}[data][list][0][status]
${resultId} Set Variable ${response1}[data][list][0][resultId]
run keyword if "${status}"=="0" log non-execution
... ELSE IF "${status}"=="1" log executing
... ELSE IF "${status}"=="2" Exit For Loop
... ELSE log Exec failure
END
#Report报表详情查询
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
#判断resultRows字段
${resultRows} Set Variable ${response1}[data][list][0][resultRows]
${responselist} run keyword if '${resultRows}'=='0' ClientIPTopN-new-if ELSE ClientIPTopN-new-else ${reportId} ${resultId}
${list2} create list
${list3} create list
${list4} create list
${list5} create list
${list6} create list
${list7} create list
${list8} create list
${list9} create list
FOR ${j} IN @{List1}
ClientIPTopN-new-for ${j} ${list2} ${list3} ${list4} ${list5} ${list6} ${list7} ${list8} ${list9}
END
${responselist1} create list ${list2} ${list3} ${list4} ${list5} ${list6} ${list7} ${list8} ${list9}
${retourn} intersection ${responselist} ${responselist1}
Should Be True "${retourn}"=="ture"
SecurityEventpolicyidtopHit-new
# dashboard界面 安全策略各动作命中计数 bifang和report对比
[Documentation]
... 描述Security-Action-packets
... 参数starttime(必传,开始时间紧)
... limit(必传,限制条数)
... endtime(必传,结束时间)
... logType(必填,日志类型。)
[Arguments] ${starttime} ${endtime} ${limit} ${name}
${logType} Set Variable security_event_hits_log
${data} Set Variable startTime=${startTime}&endTime=${endTime}&logType=${logType}&limit=${limit}
${url1} Set Variable report/policyevent/hit/topn
${bfResponse} TrafficStatistics.trafficBFRequest ${url1} ${data}
@{List1} Set Variable ${bfResponse['data']['list']}
#新建DataSet
#${name} Set Variable Report_Result-001
BasePostRequestOK ${dataset_url} {"list":{"name":"${name}","logType":"security_event_log","filterConnector":"and","havingConnector":"and","groupColumnList":[{"name":"common_policy_id"}],"queryColumnList":[{"name":"common_policy_id","expression":"","label":"Policy ID"},{"name":"common_log_id","expression":"count","label":"sessions","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]}],"filterConditionList":[],"havingConditionList":[]}}
${response} BaseGetRequestOK ${dataset_url} pageSize=20&pageNo=1&id=&name=${name}&logType=&opStartTime=&opEndTime=&opUser=
${datasetId} Set Variable ${response}[data][list][0][id]
#根据DataSet的id新建ChartLien图形表
BasePostRequestOK ${chart_url} {"list":{"id":null,"name":"${name}","description":"","datasetId":${datasetId},"chartType":"table","dataTop":${limit},"orderBy":"sessions","orderDesc":0,"drilldownTop":null,"includeOther":false,"tableType":"Regular","columns":[{"title":"Policy ID","width":20,"dataBindings":[{"dataType":"","dataBinding":"Policy ID","format":"Default","legend":"","name":"common_policy_id"}]},{"title":"sessions","width":20,"dataBindings":[{"dataType":"","dataBinding":"sessions","format":"Default","legend":"","name":"common_log_id"}]}]}}
#根据name查询出该Chart的id
${response1} BaseGetRequestOK ${chart_url} pageSize=20&pageNo=1&id=&name=${name}&opUser=
${chartId} Set Variable ${response1}[data][list][0][id]
#新建Report时间计划为Today图表引用Line。
BasePostRequestOK ${report_url} {"reportJobList":{"rangeType":"customize","rangeInterval":"","rangeUnit":"","jobName":"${name}","scheduleId":"","chartList":[{"chartId":${chartId},"timeGranulartiy":1,"timeUnit":"","disabled":true}],"isNotice":0,"noticeMethod":"","receivers":[""],"receiver":"","startTime":"${starttime}","endTime":"${endtime}","filterConnector":"and","filterCondition":[]}}
#查询Report的id
${response1} BaseGetRequestOK ${report_url} pageSize=20&pageNo=1&jobIds=&jobName=${name}&opStartTime=&opEndTime=&opUser=&scheduleId=
${reportId} Set Variable ${response1}[data][list][0][jobId]
#查询Report结果的状态并判断状态结果如果状态是执行成功查看report结果内容
FOR ${i} IN RANGE 50
sleep 10
#report执行状态查询
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
${status} Set Variable ${response1}[data][list][0][status]
${resultId} Set Variable ${response1}[data][list][0][resultId]
run keyword if "${status}"=="0" log non-execution
... ELSE IF "${status}"=="1" log executing
... ELSE IF "${status}"=="2" Exit For Loop
... ELSE log Exec failure
END
#Report报表详情查询
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
#判断resultRows字段
${resultRows} Set Variable ${response1}[data][list][0][resultRows]
${responselist} run keyword if '${resultRows}'=='0' SecurityEventpolicyidtopHit-new-if ELSE SecurityEventpolicyidtopHit-new-else ${reportId} ${resultId}
${list2} create list
${list3} create list
FOR ${j} IN @{List1}
SecurityEventpolicyidtopHit-new-for ${j} ${list2} ${list3}
END
${responselist1} create list ${list2} ${list3}
${retourn} intersection ${responselist} ${responselist1}
Should Be True "${retourn}"=="ture"
SecurityEventpolicyidtopHit-new-if
${list2} create list
${list3} create list
${responselist} create list ${list2} ${list3}
[Return] ${responselist}
SecurityEventpolicyidtopHit-new-else
[Arguments] ${reportId} ${resultId}
${response1} BaseGetRequestOK /v1/report/offlinejob/result/detail jobId=${reportId}&resultId=${resultId}
${policyId} Set Variable ${response1}[data][list][0][tableData][columns][0][dataBindings][0][data]
${sessions} Set Variable ${response1}[data][list][0][tableData][columns][1][dataBindings][0][data]
${responselist} create list ${policyId} ${sessions}
[Return] ${responselist}
SecurityEventpolicyidtopHit-new-for
[Arguments] ${j} ${listpolicyId} ${listsessions}
FOR ${v} ${k} IN ENUMERATE @{j}
${str} run keyword if '${k}'=='policyId' evaluate str(${j}[${k}])
run keyword if ${str}!=None append to list ${listpolicyId} ${str}
${str1} run keyword if '${k}'=='sessions' evaluate str(${j}[${k}])
run keyword if ${str1}!=None append to list ${listsessions} ${str1}
END
SubscriberIDTopN-new
#dashboard SubscriberIDP统计 bifang和report对比
[Documentation]
... 描述ProxyPinning
... 参数starttime(必传,开始时间紧)
... orderBy(必传,排序 sessions、bytes、packets 从这三个中选择)
... limit(必传,限制条数)
... endtime(必传,结束时间
[Arguments] ${starttime} ${endtime} ${orderBy} ${limit} ${name} ${char-orderby}
${data} Set Variable startTime=${startTime}&endTime=${endTime}&orderBy=${orderBy}&limit=${limit}
${url1} Set Variable report/traffic/topn/subscriberid
${bfResponse} TrafficStatistics.trafficBFRequest ${url1} ${data}
@{List1} Set Variable ${bfResponse['data']['list']}
#新建DataSet
#${name} Set Variable Report_Result-001
BasePostRequestOK ${dataset_url} {"list":{"name":"${name}","logType":"connection_record_log","filterConnector":"and","havingConnector":"and","groupColumnList":[{"name":"common_subscriber_id"}],"queryColumnList":[{"name":"common_subscriber_id","expression":"","label":"Subscriber ID"},{"name":"common_log_id","expression":"count","label":"sessions","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_byte_num","expression":"sum","label":"Bytes Sent","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_s2c_byte_num","expression":"sum","label":"Bytes Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_byte_num,common_s2c_byte_num","expression":"sum","label":"Bytes Sent+Bytes Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_pkt_num","expression":"sum","label":"Packets Sent","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_s2c_pkt_num","expression":"sum","label":"Packets Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_pkt_num,common_s2c_pkt_num","expression":"sum","label":"Packets Sent+Packets Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]}],"filterConditionList":[],"havingConditionList":[]}}
${response} BaseGetRequestOK ${dataset_url} pageSize=20&pageNo=1&id=&name=${name}&logType=&opStartTime=&opEndTime=&opUser=
${datasetId} Set Variable ${response}[data][list][0][id]
#根据DataSet的id新建ChartLien图形表
BasePostRequestOK ${chart_url} {"list":{"id":null,"name":"${name}","description":"","datasetId":${datasetId},"chartType":"table","dataTop":${limit},"orderBy":"${char-orderby}","orderDesc":0,"drilldownTop":null,"includeOther":false,"tableType":"Regular","columns":[{"title":"Subscriber ID","width":10,"dataBindings":[{"dataType":"","dataBinding":"Subscriber ID","format":"Default","legend":"","name":"common_subscriber_id"}]},{"title":"sessions","width":10,"dataBindings":[{"dataType":"","dataBinding":"sessions","format":"Default","legend":"","name":"common_log_id"}]},{"title":"Bytes Sent","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Sent","format":"Default","legend":"","name":"common_c2s_byte_num"}]},{"title":"Bytes Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Received","format":"Default","legend":"","name":"common_s2c_byte_num"}]},{"title":"Bytes Sent+Bytes Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Sent+Bytes Received","format":"Default","legend":"","name":"common_c2s_byte_num,common_s2c_byte_num"}]},{"title":"Packets Sent","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Sent","format":"Default","legend":"","name":"common_c2s_pkt_num"}]},{"title":"Packets Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Received","format":"Default","legend":"","name":"common_s2c_pkt_num"}]},{"title":"Packets Sent+Packets Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Sent+Packets Received","format":"Default","legend":"","name":"common_c2s_pkt_num,common_s2c_pkt_num"}]}]}}
#根据name查询出该Chart的id
${response1} BaseGetRequestOK ${chart_url} pageSize=20&pageNo=1&id=&name=${name}&opUser=
${chartId} Set Variable ${response1}[data][list][0][id]
#新建Report时间计划为Today图表引用Line。
BasePostRequestOK ${report_url} {"reportJobList":{"rangeType":"customize","rangeInterval":"","rangeUnit":"","jobName":"${name}","scheduleId":"","chartList":[{"chartId":${chartId},"timeGranulartiy":1,"timeUnit":"","disabled":true}],"isNotice":0,"noticeMethod":"","receivers":[""],"receiver":"","startTime":"${starttime}","endTime":"${endtime}","filterConnector":"and","filterCondition":[]}}
#查询Report的id
${response1} BaseGetRequestOK ${report_url} pageSize=20&pageNo=1&jobIds=&jobName=${name}&opStartTime=&opEndTime=&opUser=&scheduleId=
${reportId} Set Variable ${response1}[data][list][0][jobId]
#查询Report结果的状态并判断状态结果如果状态是执行成功查看report结果内容
FOR ${i} IN RANGE 50
sleep 10
#report执行状态查询
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
${status} Set Variable ${response1}[data][list][0][status]
${resultId} Set Variable ${response1}[data][list][0][resultId]
run keyword if "${status}"=="0" log non-execution
... ELSE IF "${status}"=="1" log executing
... ELSE IF "${status}"=="2" Exit For Loop
... ELSE log Exec failure
END
#Report报表详情查询
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
#判断resultRows字段
${resultRows} Set Variable ${response1}[data][list][0][resultRows]
${responselist} run keyword if '${resultRows}'=='0' ClientIPTopN-new-if ELSE ClientIPTopN-new-else ${reportId} ${resultId}
${list2} create list
${list3} create list
${list4} create list
${list5} create list
${list6} create list
${list7} create list
${list8} create list
${list9} create list
FOR ${j} IN @{List1}
ClientIPTopN-new-for ${j} ${list2} ${list3} ${list4} ${list5} ${list6} ${list7} ${list8} ${list9}
END
${responselist1} create list ${list2} ${list3} ${list4} ${list5} ${list6} ${list7} ${list8} ${list9}
${retourn} intersection ${responselist} ${responselist1}
Should Be True "${retourn}"=="ture"
DomainsTopN-new
#dashboard 目的IP统计 bifang和bigData对比
[Documentation]
... 描述ProxyPinning
... 参数starttime(必传,开始时间紧)
... orderBy(必传,排序 sessions、bytes、packets 从这三个中选择)
... limit(必传,限制条数)
... endtime(必传,结束时间
[Arguments] ${starttime} ${endtime} ${orderBy} ${limit} ${name} ${char-orderby}
${data} Set Variable startTime=${startTime}&endTime=${endTime}&orderBy=${orderBy}&limit=${limit}
${url1} Set Variable report/traffic/topn/domain
${bfResponse} TrafficStatistics.trafficBFRequest ${url1} ${data}
@{List1} Set Variable ${bfResponse['data']['list']}
#新建DataSet
#${name} Set Variable Report_Result-001
BasePostRequestOK ${dataset_url} {"list":{"name":"${name}","logType":"connection_record_log","filterConnector":"and","havingConnector":"and","groupColumnList":[{"name":"http_domain"}],"queryColumnList":[{"name":"http_domain","expression":"","label":"Http.Domain"},{"name":"common_log_id","expression":"count","label":"sessions","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_byte_num","expression":"sum","label":"Bytes Sent","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_s2c_byte_num","expression":"sum","label":"Bytes Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_byte_num,common_s2c_byte_num","expression":"sum","label":"Bytes Sent+Bytes Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_pkt_num","expression":"sum","label":"Packets Sent","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_s2c_pkt_num","expression":"sum","label":"Packets Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]},{"name":"common_c2s_pkt_num,common_s2c_pkt_num","expression":"sum","label":"Packets Sent+Packets Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]}],"filterConditionList":[],"havingConditionList":[]}}
${response} BaseGetRequestOK ${dataset_url} pageSize=20&pageNo=1&id=&name=${name}&logType=&opStartTime=&opEndTime=&opUser=
${datasetId} Set Variable ${response}[data][list][0][id]
#根据DataSet的id新建ChartLien图形表
BasePostRequestOK ${chart_url} {"list":{"id":null,"name":"${name}","description":"","datasetId":${datasetId},"chartType":"table","dataTop":${limit},"orderBy":"${char-orderby}","orderDesc":0,"drilldownTop":null,"includeOther":false,"tableType":"Regular","columns":[{"title":"Http.Domain","width":10,"dataBindings":[{"dataType":"","dataBinding":"Http.Domain","format":"Default","legend":"","name":"http_domain"}]},{"title":"sessions","width":10,"dataBindings":[{"dataType":"","dataBinding":"sessions","format":"Default","legend":"","name":"common_log_id"}]},{"title":"Bytes Sent","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Sent","format":"Default","legend":"","name":"common_c2s_byte_num"}]},{"title":"Bytes Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Received","format":"Default","legend":"","name":"common_s2c_byte_num"}]},{"title":"Bytes Sent+Bytes Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Bytes Sent+Bytes Received","format":"Default","legend":"","name":"common_c2s_byte_num,common_s2c_byte_num"}]},{"title":"Packets Sent","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Sent","format":"Default","legend":"","name":"common_c2s_pkt_num"}]},{"title":"Packets Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Received","format":"Default","legend":"","name":"common_s2c_pkt_num"}]},{"title":"Packets Sent+Packets Received","width":10,"dataBindings":[{"dataType":"","dataBinding":"Packets Sent+Packets Received","format":"Default","legend":"","name":"common_c2s_pkt_num,common_s2c_pkt_num"}]}]}}
#根据name查询出该Chart的id
${response1} BaseGetRequestOK ${chart_url} pageSize=20&pageNo=1&id=&name=${name}&opUser=
${chartId} Set Variable ${response1}[data][list][0][id]
#新建Report时间计划为Today图表引用Line。
BasePostRequestOK ${report_url} {"reportJobList":{"rangeType":"customize","rangeInterval":"","rangeUnit":"","jobName":"${name}","scheduleId":"","chartList":[{"chartId":${chartId},"timeGranulartiy":1,"timeUnit":"","disabled":true}],"isNotice":0,"noticeMethod":"","receivers":[""],"receiver":"","startTime":"${starttime}","endTime":"${endtime}","filterConnector":"and","filterCondition":[]}}
#查询Report的id
${response1} BaseGetRequestOK ${report_url} pageSize=20&pageNo=1&jobIds=&jobName=${name}&opStartTime=&opEndTime=&opUser=&scheduleId=
${reportId} Set Variable ${response1}[data][list][0][jobId]
#查询Report结果的状态并判断状态结果如果状态是执行成功查看report结果内容
FOR ${i} IN RANGE 50
sleep 10
#report执行状态查询
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
${status} Set Variable ${response1}[data][list][0][status]
${resultId} Set Variable ${response1}[data][list][0][resultId]
run keyword if "${status}"=="0" log non-execution
... ELSE IF "${status}"=="1" log executing
... ELSE IF "${status}"=="2" Exit For Loop
... ELSE log Exec failure
END
#Report报表详情查询
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
#判断resultRows字段
${resultRows} Set Variable ${response1}[data][list][0][resultRows]
${responselist} run keyword if '${resultRows}'=='0' ClientIPTopN-new-if ELSE ClientIPTopN-new-else ${reportId} ${resultId}
${list2} create list
${list3} create list
${list4} create list
${list5} create list
${list6} create list
${list7} create list
${list8} create list
${list9} create list
FOR ${j} IN @{List1}
ClientIPTopN-new-for ${j} ${list2} ${list3} ${list4} ${list5} ${list6} ${list7} ${list8} ${list9}
END
${responselist1} create list ${list2} ${list3} ${list4} ${list5} ${list6} ${list7} ${list8} ${list9}
${retourn} intersection ${responselist} ${responselist1}
Should Be True "${retourn}"=="ture"
ProxyEventActionHit-new
# dashboard界面 安全策略各动作命中计数 bytes packets sessions bifang和report对比
[Documentation]
... 描述Security-Action-packets
... 参数starttime(必传,开始时间紧)
... timeGranularity(必传,时间粒度 )
... limit(必传,限制条数)
... endtime(必传,结束时间)
... logType(必填,日志类型。)
... name 名字
... action 动作0为none128为allow16为deny2为intercept1为monitor
[Arguments] ${starttime} ${endtime} ${timeGranularity} ${limit} ${name} ${action}
${logType} Set Variable proxy_event_hits_log
${data} Set Variable startTime=${startTime}&endTime=${endTime}&logType=${logType}&timeGranularity=${timeGranularity}&limit=${limit}
${url1} Set Variable report/policyevent/hit/action
${bfResponse} TrafficStatistics.trafficBFRequest ${url1} ${data}
${actionCountList} Set Variable ${bfResponse['data']['actionCount']}
#新建DataSet
#${name} Set Variable Report_Result-001
BasePostRequestOK ${dataset_url} {"list":{"name":"${name}","logType":"proxy_event_log","filterConnector":"and","havingConnector":"and","groupColumnList":[{"name":"common_sub_action"}],"queryColumnList":[{"name":"common_sub_action","expression":"","label":"Sub Action"},{"name":"common_c2s_byte_num,common_s2c_byte_num","expression":"sum","label":"Bytes Sent+Bytes Received","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]}],"filterConditionList":[{"name":"common_sub_action","expression":"=","expressionList":["=","!=","Prefix","Suffix","Sub","notEmpty"],"value":["${action}"],"type":"string"}],"havingConditionList":[]}}
${response} BaseGetRequestOK ${dataset_url} pageSize=20&pageNo=1&id=&name=${name}&logType=&opStartTime=&opEndTime=&opUser=
${datasetId} Set Variable ${response}[data][list][0][id]
#根据DataSet的id新建ChartLien图形表
BasePostRequestOK ${chart_url} {"list":{"id":null,"name":"${name}","description":"","datasetId":${datasetId},"chartType":"pie","dataTop":0,"orderBy":"","orderDesc":"","includeOther":false,"xAxis":{"dataBinding":"Sub Action","label":"","dataTop":5,"dataType":""},"yAxis":[{"dataBinding":"Bytes Sent+Bytes Received","format":"Default","legend":""}]}}
#根据name查询出该Chart的id
${response1} BaseGetRequestOK ${chart_url} pageSize=20&pageNo=1&id=&name=${name}&opUser=
${chartId} Set Variable ${response1}[data][list][0][id]
#新建Report时间计划为Today图表引用Line。
BasePostRequestOK ${report_url} {"reportJobList":{"rangeType":"customize","rangeInterval":"","rangeUnit":"","jobName":"${name}","scheduleId":"","chartList":[{"chartId":${chartId},"timeGranulartiy":1,"timeUnit":"","disabled":true}],"isNotice":0,"noticeMethod":"","receivers":[""],"receiver":"","startTime":"${starttime}","endTime":"${endtime}","filterConnector":"and","filterCondition":[]}}
#查询Report的id
${response1} BaseGetRequestOK ${report_url} pageSize=20&pageNo=1&jobIds=&jobName=${name}&opStartTime=&opEndTime=&opUser=&scheduleId=
${reportId} Set Variable ${response1}[data][list][0][jobId]
#查询Report结果的状态并判断状态结果如果状态是执行成功查看report结果内容
FOR ${i} IN RANGE 50
sleep 10
#report执行状态查询
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
${status} Set Variable ${response1}[data][list][0][status]
${resultId} Set Variable ${response1}[data][list][0][resultId]
run keyword if "${status}"=="0" log non-execution
... ELSE IF "${status}"=="1" log executing
... ELSE IF "${status}"=="2" Exit For Loop
... ELSE log Exec failure
END
#Report报表详情查询
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
#判断resultRows字段
${resultRows} Set Variable ${response1}[data][list][0][resultRows]
${responselist} run keyword if '${resultRows}'=='0' SecurityEventActionHit-if ELSE SecurityEventActionHit-else ${reportId} ${resultId}
${responselist1} run keyword if '${action}'=='0' action-0 ${actionCountList}
... ELSE IF '${action}'=='allow' action-allow ${actionCountList}
... ELSE IF '${action}'=='deny' action-deny ${actionCountList}
... ELSE IF '${action}'=='monitor' action-monitor ${actionCountList}
... ELSE IF '${action}'=='replace' action-replace ${actionCountList}
... ELSE IF '${action}'=='redirect' action-redirect ${actionCountList}
... ELSE IF '${action}'=='insert' action-insert ${actionCountList}
... ELSE IF '${action}'=='hijack' action-hijack ${actionCountList}
${number} run keyword if '${responselist1}[0]'=='0' SecurityEventActionHit-if-1 ELSE evaluate int(${responselist}[0])/int(${responselist1}[0])-1
Should Be True ${number}<=${contrast}
[Return] OK
action-allow
[Arguments] ${actionCountList}
log ${actionCountList}
${sessions} Set Variable ${actionCountList}[0][sessions]
${responselist1} create list ${sessions}
[Return] ${responselist1}
action-deny
[Arguments] ${actionCountList}
${sessions} Set Variable ${actionCountList}[1][sessions]
${responselist1} create list ${sessions}
[Return] ${responselist1}
action-monitor
[Arguments] ${actionCountList}
${sessions} Set Variable ${actionCountList}[2][sessions]
${responselist1} create list ${sessions}
[Return] ${responselist1}
action-replace
[Arguments] ${actionCountList}
${sessions} Set Variable ${actionCountList}[3][sessions]
${responselist1} create list ${sessions}
[Return] ${responselist1}
action-redirect
[Arguments] ${actionCountList}
${sessions} Set Variable ${actionCountList}[4][sessions]
${responselist1} create list ${sessions}
[Return] ${responselist1}
action-insert
[Arguments] ${actionCountList}
${sessions} Set Variable ${actionCountList}[5][sessions]
${responselist1} create list ${sessions}
[Return] ${responselist1}
action-hijack
[Arguments] ${actionCountList}
${sessions} Set Variable ${actionCountList}[6][sessions]
${responselist1} create list ${sessions}
[Return] ${responselist1}
ProxyPolicytopHit-new
# dashboard界面 安全策略各动作命中计数 packets bifang和bigData对比
[Documentation]
... 描述Security-Action-packets
... 参数starttime(必传,开始时间紧)
... limit(必传,限制条数)
... endtime(必传,结束时间)
... logType(必填,日志类型。)
[Arguments] ${starttime} ${endtime} ${limit} ${name}
${logType} Set Variable proxy_event_hits_log
${data} Set Variable startTime=${startTime}&endTime=${endTime}&logType=${logType}&limit=${limit}
${url1} Set Variable report/policyevent/hit/topn
${bfResponse} TrafficStatistics.trafficBFRequest ${url1} ${data}
${List1} Set Variable ${bfResponse['data']['list']}
#新建DataSet
#${name} Set Variable Report_Result-001
BasePostRequestOK ${dataset_url} {"list":{"name":"${name}","logType":"proxy_event_log","filterConnector":"and","havingConnector":"and","groupColumnList":[{"name":"common_policy_id"}],"queryColumnList":[{"name":"common_policy_id","expression":"","label":"Policy ID"},{"name":"common_log_id","expression":"count","label":"sessions","expressionList":[{"label":"sum","value":"sum"},{"label":"min","value":"min"},{"label":"max","value":"max"},{"label":"avg","value":"avg"},{"label":"count","value":"count"}]}],"filterConditionList":[],"havingConditionList":[]}}
${response} BaseGetRequestOK ${dataset_url} pageSize=20&pageNo=1&id=&name=${name}&logType=&opStartTime=&opEndTime=&opUser=
${datasetId} Set Variable ${response}[data][list][0][id]
#根据DataSet的id新建ChartLien图形表
BasePostRequestOK ${chart_url} {"list":{"id":null,"name":"${name}","description":"","datasetId":${datasetId},"chartType":"table","dataTop":10,"orderBy":"","orderDesc":"","drilldownTop":null,"includeOther":false,"tableType":"Regular","columns":[{"title":"Policy ID","width":20,"dataBindings":[{"dataType":"","dataBinding":"Policy ID","format":"Default","legend":"","name":"common_policy_id"}]},{"title":"sessions","width":20,"dataBindings":[{"dataType":"","dataBinding":"sessions","format":"Default","legend":"","name":"common_log_id"}]}]}}
#根据name查询出该Chart的id
${response1} BaseGetRequestOK ${chart_url} pageSize=20&pageNo=1&id=&name=${name}&opUser=
${chartId} Set Variable ${response1}[data][list][0][id]
#新建Report时间计划为Today图表引用Line。
BasePostRequestOK ${report_url} {"reportJobList":{"rangeType":"customize","rangeInterval":"","rangeUnit":"","jobName":"${name}","scheduleId":"","chartList":[{"chartId":${chartId},"timeGranulartiy":1,"timeUnit":"","disabled":true}],"isNotice":0,"noticeMethod":"","receivers":[""],"receiver":"","startTime":"${starttime}","endTime":"${endtime}","filterConnector":"and","filterCondition":[]}}
#查询Report的id
${response1} BaseGetRequestOK ${report_url} pageSize=20&pageNo=1&jobIds=&jobName=${name}&opStartTime=&opEndTime=&opUser=&scheduleId=
${reportId} Set Variable ${response1}[data][list][0][jobId]
#查询Report结果的状态并判断状态结果如果状态是执行成功查看report结果内容
FOR ${i} IN RANGE 50
sleep 10
#report执行状态查询
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
${status} Set Variable ${response1}[data][list][0][status]
${resultId} Set Variable ${response1}[data][list][0][resultId]
run keyword if "${status}"=="0" log non-execution
... ELSE IF "${status}"=="1" log executing
... ELSE IF "${status}"=="2" Exit For Loop
... ELSE log Exec failure
END
#Report报表详情查询
${response1} BaseGetRequestOK ${result_url} jobId=${reportId}
#判断resultRows字段
${resultRows} Set Variable ${response1}[data][list][0][resultRows]
${responselist} run keyword if '${resultRows}'=='0' SecurityEventpolicyidtopHit-new-if ELSE SecurityEventpolicyidtopHit-new-else ${reportId} ${resultId}
${responselist1} run keyword if '${List1}'=='[]' SecurityEventpolicyidtopHit-new-if ELSE for ${List1}
${retourn} intersection ${responselist} ${responselist1}
Should Be True "${retourn}"=="ture"
for
[Arguments] ${List1}
${list2} create list
${list3} create list
log ${List1}
FOR ${j} IN @{List1}
SecurityEventpolicyidtopHit-new-for ${j} ${list2} ${list3}
END
${responselist1} create list ${list2} ${list3}