一、背景
测试hadoop 组件 hdfs,hive,spark,yarn等,用例较多,迭代也多,所以考虑用自动化,来提高效率和质量。
—下载地址:Auto_Test-v1.0.tar
1.目录结构与简介
解压tar包后,请阅读readme.ini
Auto_Test-v1.0
├── bin
│ ├── lib -> /opt/sc/Auto_Test-v1.0/lib
│ ├── logs -> /opt/sc/Auto_Test-v1.0/log
│ └── testcase -> /opt/sc/Auto_Test-v1.0/testcase
├── conf
├── lib
├── log
│ ├── result
│ └── tmp
│ ├── hive_level1.case
│ └── tpc-ds_66.case
├── report
├── scripts
│ ├── hive_level1.case
│ └── tpc-ds_66.case
└── testcase
1.用例编写 testcase目录,直接创建一个文件,然后编写用例,列之间用###隔开
如 序号 ### 用例标题 ### 用例执行部分 ### 期望返回值 ### 期望message(支持正则表达式)
1 ###测试create database ### create database if not exists hive_autotest_v1; ### 0 ###No rows affected (.* seconds)
备注: 注释行 以#开头,也可以存在空行
用例执行部分,可以是sql脚本或者sql语法,如测试其他组件,可以改变执行函数,用例执行部分看需求填写,如测试hdfs,用例执行部分可以改成cmd命令
2.执行用例方法
sh run_hive1.0.sh 获取参数帮助
如sh run_hive1.0.sh -f hive_level1.case(用例文件,要放在testcase目录下) -t 7(并发线程数,可选) --caseid 1,2,3-10,40-50(选择执行的用例序号,可选) --init yes(是否需要初始化测试环境,可选,如需要必须填yes)
备注 :当init为yes时,会到scripts/$case目录下找setup.sh 并执行脚本,进行测试环境的初始化。
自动化运行后,页面会打印当前进度,等待执行结束后,会打印用例执行情况,pass:10,fail:0,block:0
3.conf目录
env环境,用于声明基本的环境变量,如程序的根目录等
4.lib/中 05.hive_test.sh 中exec_beeline_cmd是测试执行函数,如测试其他组件,可自行编写执行函数
01,02,03,04 其他脚本时辅助函数
- 日志log
log 目录下有run.log 记录运行时的详细日志,log/tmp/$case/ 用于存放每个用例的执行时的日志,可用于问题定位
log/result 存放用例执行的结果,result_时间戳.log - scripts 目录
该目录存放 用例的初始化脚本,和用例中执行部分需要的脚本文件等,如tpc-ds 查询脚本
7.report 目录
该目录存放每次执行的测试报告,比如并发执行,打印的结果乱序,会进行排序,且只打印序号,标题,结果,mesg
二、使用示例