addproject
This commit is contained in:
105
base_framework/platform_tools/case_runner10.py
Normal file
105
base_framework/platform_tools/case_runner10.py
Normal file
@@ -0,0 +1,105 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
__author__ = 'huaxuemin'
|
||||
|
||||
import argparse
|
||||
from runner9 import CaseRunner
|
||||
usage_info = '''
|
||||
usage:
|
||||
$ case_runner.py -w %WORKSPACE% -c %case_path% -t tc1,tc2 -i p0,p1,p2 -e norun,del -r True
|
||||
run tag cases in workspace
|
||||
'''
|
||||
|
||||
|
||||
def usage():
|
||||
print(usage_info)
|
||||
exit(-1)
|
||||
|
||||
|
||||
def get_test_case_name(build_id):
|
||||
try:
|
||||
if build_id:
|
||||
import pymysql
|
||||
db = pymysql.connect(host="mysql.qa.huohua.cn", user="qa-dev", password="jaeg3SCQt0", database="sparkatp",
|
||||
charset='utf8')
|
||||
cursor = db.cursor()
|
||||
get_sql = "SELECT test_case_id FROM sparkatp.build_params WHERE build_info_id={}".format(build_id)
|
||||
cursor.execute(get_sql)
|
||||
res = cursor.fetchone()
|
||||
test_case_name = ""
|
||||
if res:
|
||||
test_case_name = res[0].replace("(", "*").replace(")", "*").replace(" ", "*")
|
||||
cursor.close()
|
||||
db.close()
|
||||
return test_case_name
|
||||
except Exception as e:
|
||||
print(e)
|
||||
return ""
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description="This is for introduction parameter")
|
||||
parser.add_argument("-w", dest='workspace', help="case_runner workspace")
|
||||
parser.add_argument("-c", dest='case_path', help="case path")
|
||||
parser.add_argument("-t", dest='test_case', default='', help="test case")
|
||||
parser.add_argument("-i", dest='include', default='', help="include tag")
|
||||
parser.add_argument("-e", dest='exclude', default='', help="exclude tag")
|
||||
parser.add_argument("-r", dest='rerun', default='true', help="rerun failed case")
|
||||
parser.add_argument("-env", dest='special_env', default='', help="special env")
|
||||
parser.add_argument("-team", dest='team', default='', help="job name with team ")
|
||||
parser.add_argument("-penv", dest='physics_env', help="QA or SIM", default='QA')
|
||||
parser.add_argument("-b", dest='business', help="hh or hhi", default='hh')
|
||||
parser.add_argument("-b_id", dest='build_info_id', help="build_info_id", default='')
|
||||
parser.add_argument("-b_url", dest='build_url', help="build_url", default='')
|
||||
parser.add_argument("-is_db", dest='is_use_db', help="is_use_db", default='0')
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.workspace is None:
|
||||
usage()
|
||||
|
||||
workspace = args.workspace
|
||||
case_path = args.case_path
|
||||
test_case = args.test_case
|
||||
include = args.include
|
||||
exclude = args.exclude
|
||||
rerun = args.rerun
|
||||
special_env = args.special_env
|
||||
team = args.team.split("-")[0]
|
||||
physics_env = args.physics_env
|
||||
business = args.business
|
||||
build_info_id = args.build_info_id
|
||||
build_url = args.build_url
|
||||
is_use_db = args.is_use_db
|
||||
if str(is_use_db) == "1" and build_info_id:
|
||||
test_case_name = get_test_case_name(build_info_id)
|
||||
test_case = test_case_name if test_case_name else test_case
|
||||
|
||||
# if team not in ["CC", "EN", "H2R", "LaLive", "SCM", "TMO", "TO", "ASOP", "ASTWB", "ASORG"]:
|
||||
# team = ""
|
||||
|
||||
case_runner = CaseRunner(workspace, case_path, test_case, include, exclude, rerun, special_env, team, physics_env,
|
||||
business)
|
||||
try:
|
||||
# 更新独立环境代号到配置文件
|
||||
case_runner.update_platform()
|
||||
# 检查工作目录名字对应的端口,有就使用,没有就分配
|
||||
case_runner.assign_port()
|
||||
# 查找对应端口进程并杀掉
|
||||
case_runner.check_port()
|
||||
# 更新KWL和RF中的端口
|
||||
case_runner.update_port()
|
||||
# 更新重名测试套
|
||||
case_runner.update_suite()
|
||||
# 启动KWL
|
||||
case_runner.start_kwl()
|
||||
# 构建用例
|
||||
case_runner.run_cases()
|
||||
# 构建完成后,停止KWL
|
||||
case_runner.check_port()
|
||||
except Exception as e:
|
||||
print(e)
|
||||
# 构建完成后,入库build_url
|
||||
case_runner.record_build_url(build_info_id, build_url)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Reference in New Issue
Block a user