*** Settings *** Library Collections Library RequestsLibrary Library String Resource ../../../03-Variable/Bifangapivariable.txt Resource ForTwoKeywords.robot *** Keywords *** ServiceIPTopN #dashboard 目的IP统计 bifang和bigData对比 [Documentation] ... 描述:ProxyPinning ... 参数:starttime(必传,开始时间紧) ... orderBy(必传,排序 sessions、bytes、packets 从这三个中选择) ... limit(必传,限制条数) ... endtime(必传,结束时间 [Arguments] ${starttime} ${endtime} ${orderBy} ${limit} ${data} Set Variable startTime=${startTime}&endTime=${endTime}&orderBy=${orderBy}&limit=${limit} ${url1} Set Variable report/traffic/topn/serverip ${bfResponse} trafficBFRequest ${url1} ${data} @{List1} Set Variable ${bfResponse['data']['list']} Create Session bdapi http://${bigDataIP}:${bigDataPort} ${sql} Set Variable select destination as server_ip, sum(session_num) as sessions, sum(c2s_byte_num) as sent_bytes, sum(s2c_byte_num) as received_bytes, sum(c2s_byte_num + s2c_byte_num) as bytes, \ sum(c2s_pkt_num) as sent_packets ,sum(s2c_pkt_num) as received_packets, sum(c2s_pkt_num+s2c_pkt_num) as packets from top_external_host_log \ where \ __time >= '${startTime}' and __time < '${endTime}' and order_by='${orderBy}' group by destination order by ${orderBy} desc 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 @{list} Set Variable ${response['data']} ${type1} Set Variable serverIp ${type} Set Variable server_ip Run Keyword If ${List1}!=[] and ${list}!=[] ForToTopN-One ${List1} ${type1} ${type} ${list}