zoukankan      html  css  js  c++  java
  • RobotFramework 实战1——数据检查自动化

    具体代码如下:

    *** Settings ***
    Suite Setup date_wsj
    Library DatabaseLibrary
    Resource ../../../flow.txt

    *** Test Cases ***
    001-App产品原创稿件阅读量-近1日
    #计算出产品变量的个数
    ${proLen} get Length ${app}
    #产品个数就是循环的次数
    : FOR ${X} IN RANGE 0 ${proLen} 1
    #查询出昨日的数值
    ${original_read_cnt_yesterday} Query select product_name,original_read_cnt from edm_fact_cs_product_summary_d where product_type='APP'and product_name='${app[${X}]}' and summary_date>='${yesterday}'
    #查询出条数(是list的形式)
    ${qr} Query select product_name,original_read_cnt from edm_fact_cs_product_summary_d where product_type='APP'and product_name='${app[${X}]}' and original_read_cnt > '0'and summary_date>='${monthAgo}'
    #将条数换成数值(获取list的长度,将list中的元素个数转换为数值)
    ${len} Get Length ${qr}
    #如果结果为0,继续执行
    Continue For Loop If ${len}==0
    #计算出平均值
    ${original_read_cnt_Average} Query select product_name,sum(original_read_cnt) /${len} from edm_fact_cs_product_summary_d where product_type='APP'and product_name='${app[${X}]}' and original_read_cnt > '0'and summary_date>='${monthAgo}'group by product_name
    #计算出最大值
    ${Max_Average} Evaluate ${original_read_cnt_Average[0][1]}*2
    #计算出最小值
    ${Min_Average} Evaluate ${original_read_cnt_Average[0][1]}*0.7
    #昨日值与最大值和最小值比较,若在这个范围内,则昨日数据正常
    Run Keyword And Continue On Failure Should Be True ${Max_Average}>=${original_read_cnt_yesterday[0][1]}>=${Min_Average}
    #打印日志(注意,list[x][y]的用法,此用例中sql查询结果均为list)
    log ${qr[0]}:${Max_Average}>=${original_read_cnt_yesterday[0][1]}>=${Min_Average}

    001-App产品原创稿件阅读量-近1周
    ${proLen} get Length ${app}
    : FOR ${X} IN RANGE 0 ${proLen} 1
    ${original_read_cnt_week} Query SELECT product_name,summary_start_date,summary_end_date,original_read_cnt FROM edm_fact_cs_product_summary_w where product_type='APP'and product_name='${app[${X}]}'and summary_end_date>='${weekAgo}'order by summary_start_date desc;
    ${qr} Query SELECT product_name,summary_start_date,summary_end_date,original_read_cnt FROM edm_fact_cs_product_summary_w where product_type='APP'and product_name='${app[${X}]}'and original_read_cnt > '0'and summary_start_date>='${halfYearAgo}'order by summary_start_date desc;
    ${len} Get Length ${qr}
    Continue For Loop If ${len}==0
    ${original_read_cnt_Average} Query select product_name,sum(original_read_cnt) /${len} from edm_fact_cs_product_summary_w where product_type='APP'and product_name='${app[${X}]}' and original_read_cnt > '0'and summary_start_date>='${halfYearAgo}'group by product_name
    ${Max_Average} Evaluate ${original_read_cnt_Average[0][1]}*2
    ${Min_Average} Evaluate ${original_read_cnt_Average[0][1]}*0.7
    Run Keyword And Continue On Failure Should Be True ${Max_Average}>=${original_read_cnt_week[0][3]}>=${Min_Average}
    log ${qr[0][0]}:${Max_Average}>=${original_read_cnt_week[0][3]}>=${Min_Average}

    001-App产品原创稿件阅读量-近1月
    ${proLen} get Length ${app}
    : FOR ${X} IN RANGE 0 ${proLen} 1
    ${original_read_cnt_month} Query SELECT product_name,summary_start_date,summary_end_date,original_read_cnt FROM edm_fact_cs_product_summary_m where product_type='APP'and product_name='${app[${X}]}'and summary_end_date>='${monthAgo}'order by summary_start_date desc;
    ${qr} Query SELECT product_name,summary_start_date,summary_end_date,original_read_cnt FROM edm_fact_cs_product_summary_m where product_type='APP'and product_name='${app[${X}]}'and original_read_cnt > '0'and summary_start_date>='${yearAgo}'order by summary_start_date desc;
    ${len} Get Length ${qr}
    Continue For Loop If ${len}==0
    ${original_read_cnt_Average} Query select product_name,sum(original_read_cnt) /${len} from edm_fact_cs_product_summary_m where product_type='APP'and product_name='${app[${X}]}' and original_read_cnt > '0'and summary_start_date>='${yearAgo}'group by product_name
    ${Max_Average} Evaluate ${original_read_cnt_Average[0][1]}*2
    ${Min_Average} Evaluate ${original_read_cnt_Average[0][1]}*0.7
    Run Keyword And Continue On Failure Should Be True ${Max_Average}>=${original_read_cnt_month[0][3]}>=${Min_Average}
    log ${qr[0][0]}:${Max_Average}>=${original_read_cnt_month[0][3]}>=${Min_Average}

  • 相关阅读:
    和Java相关的书籍,想成为架构师的请收藏一下啊
    CF1404C Fixed Point Removal 题解
    Harbour.Space Scholarship Contest 2021-2022 (open for everyone, rated, Div. 1 + Div. 2) E~G 题解
    ABC223G Vertex Deletion 题解
    ARC103D Distance Sums 题解
    ARC103B Robot Arms 题解
    ABC221G Jumping sequence 题解
    ABC221F Diameter set 题解
    ABC211H Count Multiset 题解
    CF1342E Placing Rooks 题解
  • 原文地址:https://www.cnblogs.com/wushujun/p/12174936.html
Copyright © 2011-2022 走看看