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}

  • 相关阅读:
    HttpModule & HttpHandler
    试图运行项目时出错:无法启动调试 没有正确安装调试器
    DataTable 手动排序 无效的问题解决方法??
    合并多个DLL文件
    恢复mysql方法
    在不同版本的IIS下使用ASP.NET MVC
    Enterprise Library 4.1 October 2008
    去除HTML标记
    Mac相关命令
    Mac常用快捷键
  • 原文地址:https://www.cnblogs.com/wushujun/p/12174936.html
Copyright © 2011-2022 走看看