fromcommon.yaml_info.configure_yamlimport*fromcommon.robot_methodimport*defget_testcase_params(file_name,case_type):
""" 该函数为测试用例yaml文件转换使用,任何测试用例都需要通过该函数重新组装数据类型 暂时为两种方式,一个是单校验,一个是双校验 单校验:params,check 双校验:params,set_check,get_check 必须严格按照格式编写yaml文件 :param file_name: :param case_type: :return: """try:
robot_type="6"+socket_fuction.send_cmd_with_retvalue(cmd="getRobotSubtype")["result"]try:
case_data=get_case_yaml(file_name=file_name)["test_case_params"] print(case_data)
try:ifrobot_type=="63"orrobot_type=="612":
try:
case_type_data=case_data[case_type][robot_type]
data_info=len(case_data[case_type][robot_type])
except:
case_type_data=case_data[case_type]["default"]
data_info=len(case_data[case_type]["default"])
else:case_type_data=case_data[case_type]["default"]
data_info=len(case_data[case_type]["default"])
except:case_type_data=case_data[case_type]
data_info=len(case_data[case_type])
ifdata_info==3:data=list(zip(case_type_data["cmd"],
case_type_data["params"],
case_type_data["check"]))
elifdata_info==4:if"params_special"incase_type_data.keys():data=list(zip(case_type_data["cmd"],
case_type_data["params"],
case_type_data["params_special"],
case_type_data["check"]))
else:
data=list(zip(case_type_data["cmd"],
case_type_data["params"],
case_type_data["set_check"],
case_type_data["get_check"]))
elifdata_info==5:data=list(zip(case_type_data["cmd"],
case_type_data["params"],
case_type_data["params_special"],
case_type_data["set_check"],
case_type_data["get_check"]))
elifdata_info==6:data=list(zip(case_type_data["cmd"],
case_type_data["params"],
case_type_data["params_special"],
case_type_data["params_special2"],
case_type_data["set_check"],
case_type_data["get_check"]))
elifdata_info==7:if"special_check"incase_type_data.keys():
data=list(zip(case_type_data["cmd"],
case_type_data["params"],
case_type_data["params_special"],
case_type_data["params_special2"],
case_type_data["set_check"],
case_type_data["get_check"],
case_type_data["special_check"]))
else:
data=list(zip(case_type_data["cmd"],
case_type_data["params"],
case_type_data["params_special"],
case_type_data["params_special2"],
case_type_data["params_special3"],
case_type_data["set_check"],
case_type_data["get_check"]))
else:
returnFalsereturndataexcept:
return"请检查params:"+case_type+"文件格式是否存在问题"exceptExceptionase:
print(e)
print("SDK机器人类型数据无法读取到,终止自动化")
defget_testcase_title(file_name,case_type):
try:
robot_type="6"+socket_fuction.send_cmd_with_retvalue(cmd="getRobotSubtype")["result"]print(robot_type)
try:
data_info=get_case_yaml(file_name=file_name)["test_case_title"]
try:ifrobot_type=="63"orrobot_type=="612":
try:
print(data_info[case_type][robot_type])
title_data=data_info[case_type][robot_type]
print(title_data)
except:
title_data=data_info[case_type]["default"]
print(title_data)
else:
title_data=data_info[case_type]["default"]
print(title_data)
returntitle_dataexcept:
title_data=data_info[case_type]
print(title_data)
except:
return"请检查title:"+case_type+"文件格式是否存在问题"exceptExceptionase:
print(e)
print("SDK机器人类型数据无法读取到,终止自动化")
if__name__=='__main__':
case_title=get_testcase_title(file_name="SDK/robot_movenmentservice/movenmentservice_II.yaml",case_type="robot_move_by_rotate_title")