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_data_compare/TrafficStatistics.robot

169 lines
13 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 ***
Library Collections
Library RequestsLibrary
Library String
Resource ../../../03-Variable/Bifangapivariable.txt
Resource ForTwoKeywords.robot
*** Keywords ***
Dashboard-Traffic-bytes
# Traffics-带宽统计 统计类型bytes bifang和bigData对比 Traffic IN/OUT
[Documentation]
... 描述Traffic-Bytes统计
... 参数starttime(必传,开始时间紧)
... endtime(必传,结束时间
... 返回:对比结果
[Arguments] ${starttime} ${endtime}
${data} Set Variable startTime=${startTime}&endTime=${endTime}&statisticsUnit=bytes
${url1} Set Variable report/traffic/statisticsbyunit
${bfResponse} TrafficBFRequest ${url1} ${data}
${trafficInBytes} Set Variable ${bfResponse['data']['trafficInBytes']}
${trafficOutBytes} Set Variable ${bfResponse['data']['trafficOutBytes']}
Create Session bdapi http://${bigDataIP}:${bigDataPort}
${sql} Set Variable select sum(total_in_bytes) as traffic_in_bytes, sum(total_out_bytes) as traffic_out_bytes from traffic_metrics_log where __time >= '${startTime}' and __time < '${endTime}'
${remoteResponse} Get Request bdapi ?query=${sql}
${response} to json ${remoteResponse.content}
${trafficInBytes1} Set Variable ${response['data'][0]['traffic_in_bytes']}
${trafficOutBytes1} Set Variable ${response['data'][0]['traffic_out_bytes']}
Should Be True ${trafficInBytes}==${trafficInBytes1}
Should Be True ${trafficOutBytes}==${trafficOutBytes1}
[Return] OK
Dashboard-Traffic-packets
# Traffics-带宽统计 统计类型packets bifang和bigData对比 Traffic IN/OUT
[Documentation]
... 描述Traffic-packets统计
... 参数starttime(必传,开始时间紧)
... endtime(必传,结束时间
... 返回:对比结果
[Arguments] ${starttime} ${endtime}
${data} Set Variable startTime=${startTime}&endTime=${endTime}&statisticsUnit=packets
${url1} Set Variable report/traffic/statisticsbyunit
${bfResponse} TrafficBFRequest ${url1} ${data}
${trafficInPackets} Set Variable ${bfResponse['data']['trafficInPackets']}
${trafficOutPackets} Set Variable ${bfResponse['data']['trafficOutPackets']}
Create Session bdapi http://${bigDataIP}:${bigDataPort}
${sql} Set Variable select sum(total_in_packets) as traffic_in_packets, sum(total_out_packets) as traffic_out_packets from traffic_metrics_log where __time >= '${startTime}' and __time < '${endTime}'
${remoteResponse} Get Request bdapi ?query=${sql}
${response} to json ${remoteResponse.content}
Should Be Equal As Strings ${remoteResponse.status_code} 200
Should Be Equal As Strings ${response['status']} 200
${traffic_in_packets1} Set Variable ${response['data'][0]['traffic_in_packets']}
${traffic_out_packets1} Set Variable ${response['data'][0]['traffic_out_packets']}
Should Be True ${trafficInPackets}==${traffic_in_packets1}
Should Be True ${trafficOutPackets}==${traffic_out_packets1}
[Return] OK
Dashboard-Traffic-sessions
# Traffics-带宽统计 统计类型sessions bifang和bigData对比 Traffic IN/OUT
[Documentation]
... 描述Traffic-sessions统计
... 参数starttime(必传,开始时间紧)
... endtime(必传,结束时间
... 返回:对比结果
[Arguments] ${starttime} ${endtime}
${data} Set Variable startTime=${startTime}&endTime=${endTime}&statisticsUnit=sessions
${url1} Set Variable report/traffic/statisticsbyunit
${bfResponse} trafficBFRequest ${url1} ${data}
${sessions} Set Variable ${bfResponse['data']['sessions']}
Create Session bdapi http://${bigDataIP}:${bigDataPort}
${sql} Set Variable select sum(new_conn_num) as sessions from traffic_metrics_log where __time >= '${startTime}' and __time < '${endTime}'
${remoteResponse} Get Request bdapi ?query=${sql}
${response} to json ${remoteResponse.content}
Should Be Equal As Strings ${remoteResponse.status_code} 200
Should Be Equal As Strings ${response['status']} 200
${sessions1} Set Variable ${response['data'][0]['sessions']}
Should Be True ${sessions}==${sessions1}
[Return] OK
Dashboard-Traffic-trend-bytes
# Traffics-带宽趋势 统计类型bytes bifang和bigData对比 Traffic IN/OUT
[Documentation]
... 描述Traffic-trend-bytes
... 参数starttime(必传,开始时间紧)
... endtime(必传,结束时间
... timeGranularity(非必传,时间粒度 )
... limit(非必传,限制条数)
... 返回:对比结果
[Arguments] ${starttime} ${endtime} ${timeGranularity} ${limit}
${data} Set Variable startTime=${startTime}&endTime=${endTime}&statisticsUnit=bytes&timeGranularity=${timeGranularity}&limit=${limit}
${url1} Set Variable report/traffic/statisticsbyunit
${bfResponse} trafficBFRequest ${url1} ${data}
@{bytesOutList1} Set Variable ${bfResponse['data']['trafficOutBytesList']}
@{bytesInList1} Set Variable ${bfResponse['data']['trafficInBytesList']}
Create Session bdapi http://${bigDataIP}:${bigDataPort}
${sql} Set Variable (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'traffic_in_bytes' as type, sum(total_in_bytes) as bytes from traffic_metrics_log where \ __time >= '${startTime}' \ and __time < '${endTime}' \ group by DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') limit ${limit}) union all (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'traffic_out_bytes' as type, sum(total_out_bytes) as bytes from traffic_metrics_log where \ __time >= '${startTime}' and __time < '${endTime}' group by DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') limit ${limit})
${remoteResponse} Get Request bdapi ?query=${sql}
${response} to json ${remoteResponse.content}
Should Be Equal As Strings ${remoteResponse.status_code} 200
Should Be Equal As Strings ${response['status']} 200
@{bytesList2} Set Variable ${response['data']}
${typeIn} Set Variable traffic_in_bytes
${typeOut} Set Variable traffic_out_bytes
${types} Set Variable bytes
Run Keyword If ${bytesOutList1}!=[] and ${bytesList2}!=[] ForToTrafficTrend ${bytesOutList1} ${typeOut} ${types} ${bytesList2}
Run Keyword If ${bytesInList1}!=[] and ${bytesList2}!=[] ForToTrafficTrend ${bytesInList1} ${typeIn} ${types} ${bytesList2}
Dashboard-Traffic-trend-packets
# Traffics-带宽趋势 统计类型packets bifang和bigData对比 Traffic IN/OUT
[Documentation]
... 描述Traffic-trend-packets
... 参数starttime(必传,开始时间紧)
... endtime(必传,结束时间
... timeGranularity(非必传,时间粒度 )
... limit(非必传,限制条数)
... 返回:对比结果
[Arguments] ${starttime} ${endtime} ${timeGranularity} ${limit}
${data} Set Variable startTime=${startTime}&endTime=${endTime}&statisticsUnit=packets&timeGranularity=${timeGranularity}&limit=${limit}
${url1} Set Variable report/traffic/statisticsbyunit
${bfResponse} trafficBFRequest ${url1} ${data}
@{packetsOutList1} Set Variable ${bfResponse['data']['trafficOutPacketsList']}
@{packetsInList1} Set Variable ${bfResponse['data']['trafficInPacketsList']}
Create Session bdapi http://${bigDataIP}:${bigDataPort}
#${sql} Set Variable (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'traffic_in_packets' as type, sum(total_in_packets) as packets from traffic_metrics_log where \ __time >= '${startTime}' and __time < '${endTime}' group by DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') union all select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'traffic_out_packets' as type, sum(total_out_packets) as packets from traffic_metrics_log where __time >= '${startTime}' and __time < '${endTime}' group by DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s'))
#${remoteResponse} Get Request bdapi ?query=${sql}
${sql} Set Variable (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'traffic_in_packets' as type, sum(total_in_packets) as packets from traffic_metrics_log where \ __time >= '${startTime}' and __time < '${endTime}' group by DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') limit ${limit}) union all (select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'traffic_out_packets' as type, sum(total_out_packets) as packets from traffic_metrics_log where __time >= '${startTime}' and __time < '${endTime}' group by DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i:%s') limit ${limit})
${remoteResponse} Get Request bdapi ?query=${sql}
${response} to json ${remoteResponse.content}
Should Be Equal As Strings ${remoteResponse.status_code} 200
Should Be Equal As Strings ${response['status']} 200
@{packetsList2} Set Variable ${response['data']}
${typeIn} Set Variable traffic_in_packets
${typeOut} Set Variable traffic_out_packets
${types} Set Variable packets
Run Keyword If ${packetsOutList1}!=[] and ${packetsList2}!=[] ForToTrafficTrend ${packetsOutList1} ${typeOut} ${types} ${packetsList2}
Run Keyword If ${packetsInList1}!=[] and ${packetsList2}!=[] ForToTrafficTrend ${packetsInList1} ${typeIn} ${types} ${packetsList2}
Dashboard-Traffic-trend-sessions
# Traffics-带宽趋势 统计类型sessions bifang和bigData对比 Traffic IN/OUT
[Documentation]
... 描述Traffic-trend-sessions
... 参数starttime(必传,开始时间紧)
... endtime(必传,结束时间
... timeGranularity(非必传,时间粒度 )
... limit(非必传,限制条数)
[Arguments] ${starttime} ${endtime} ${timeGranularity} ${limit}
${data} Set Variable startTime=${startTime}&endTime=${endTime}&statisticsUnit=sessions&timeGranularity=${timeGranularity}&limit=${limit}
${url1} Set Variable report/traffic/statisticsbyunit
${bfResponse} trafficBFRequest ${url1} ${data}
@{sessionsList1} Set Variable ${bfResponse['data']['sessionsList']}
Create Session bdapi http://${bigDataIP}:${bigDataPort}
#${sql} Set Variable select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity}) *${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'total_conn_num' as type, \ sum(new_conn_num) as sessions from traffic_metrics_log where __time >= \ '${startTime}' and __time < '${endTime}' group by DATE_FORMAT(FROM_UNIXTIME(FLOOR (UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i: %s')
#${remoteResponse} Get Request bdapi ?query=${sql}
${sql} Set Variable select DATE_FORMAT(FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(__time)/${timeGranularity}) *${timeGranularity}),'%Y-%m-%d %H:%i:%s') as stat_time, 'total_conn_num' as type, \ sum(new_conn_num) as sessions from traffic_metrics_log where __time >= \ '${startTime}' and __time < '${endTime}' group by DATE_FORMAT(FROM_UNIXTIME(FLOOR (UNIX_TIMESTAMP(__time)/${timeGranularity})*${timeGranularity}),'%Y-%m-%d %H:%i: %s') limit ${limit}
${remoteResponse} Get Request bdapi ?query=${sql}
${response} to json ${remoteResponse.content}
Should Be Equal As Strings ${remoteResponse.status_code} 200
Should Be Equal As Strings ${response['status']} 200
@{sessionsList2} Set Variable ${response['data']}
${type} Set Variable total_conn_num
${types} Set Variable sessions
Run Keyword If ${sessionsList1}!=[] and ${sessionsList2}!=[] ForToTrafficTrend ${sessionsList1} ${type} ${types} ${sessionsList2}