python界面开发 导入excel文件选项_【Python】Python实现Excel用例直接导入testlink-UI界面小工具(代码已传码云)...

1 @dataclass2 classClientTestLink:3 """

4 testlink二次封装5 """

6 user_api_pwd: str7 client_url: str = "http://你的testlink地址/testlink/lib/api/xmlrpc/v1/xmlrpc.php"

8

9 def __post_init__(self):10 self.tlc =TestlinkAPIClient(self.client_url, self.user_api_pwd)11

12 defget_projects(self):13 """获取testLink内所有项目"""

14 project_list =[]15 for project inself.tlc.getProjects():16 project_list.append([project.get("id"), project.get("name")])17 returnproject_list18

19 defget_project_id_by_name(self, project_name):20 """获取项目id根据项目名称"""

21 returnself.tlc.getProjectIDByName(project_name)22

23 defget_test_suites(self, project_id):24 """获取指定项目里(需要项目id)的测试用例集"""

25 test_suite_list =[]26 test_suites =self.tlc.getFirstLevelTestSuitesForTestProject(project_id)27 for test_suite intest_suites:28 test_suite_list.append([test_suite.get("id"), test_suite.get("name")])29 returntest_suite_list30

31 defget_test_suite_id(self, project_id, test_suite_name):32 """查询一级目录"""

33 all_suites =self.get_test_suites(project_id)34 for i inall_suites:35 if i[1] ==test_suite_name:36 returni[0]37 else:38 pass

39 returnFalse40

41 defget_test_suite_for_test_suite(self, test_suite_id):42 """查询用例集下是否含有某用例集"""

43 try:44 test_suite_id =self.tlc.getTestSuitesForTestSuite(test_suite_id)45 returntest_suite_id46 exceptException:47 returnFalse48

49 def create_test_suite(self, project_id: int, test_suite_name: str, parent_id: int =None):50 """判断是否拥有测试用例集,如果没有就创建测试用例集"""

51 suite_data = self.tlc.createTestSuite(project_id, test_suite_name, test_suite_name, parentid=parent_id)52 cheak_bool =isinstance(suite_data, list)53 ifcheak_bool:54 return suite_data[0].get("id")55 else:56 if parent_id isNone:57 return self.get_test_suite_id(project_id=project_id, test_suite_name=test_suite_name)58 else:59 for k, v inself.get_test_suite_for_test_suite(parent_id).items():60 ifisinstance(v, dict):61 if v.get("name") ==test_suite_name:62 return v.get("id")63 else:64 pass

65 else:66 return self.get_test_suite_for_test_suite(parent_id).get("id")67

68 defcreate_test_case(self, project_id: int, test_suite_id: int, test_case_name, summary, preconditions,69 step, result, author_login):70 """创建测试用例"""

71 self.tlc.initStep(step, result, 1)72 return self.tlc.createTestCase(testprojectid=project_id,73 testsuiteid=test_suite_id,74 testcasename=test_case_name,75 summary=summary,76 preconditions=preconditions,77 authorlogin=author_login78 )79

80 defupdate_project_keywords(self, project_id, test_case_id, keyword_value):81 """加关键字"""

82 test_case = self.tlc.getTestCase(testcaseid=test_case_id)[0]83 args ={84 'testprojectid': project_id,85 'testcaseexternalid': test_case['full_tc_external_id'],86 'version': int(test_case['version'])87 }88 keyword = self.tlc.addTestCaseKeywords({args['testcaseexternalid']: [keyword_value]})89 returnkeyword90

91 defupdate_custom_field(self, project_id, test_case_id, custom_fields: dict):92 """更新自定义字段"""

93 test_case = self.tlc.getTestCase(testcaseid=test_case_id)[0]94 args ={95 'testprojectid': project_id,96 'testcaseexternalid': test_case['full_tc_external_id'],97 'version': int(test_case['version'])98 }99 custom =self.tlc.updateTestCaseCustomFieldDesignValue(100 args['testcaseexternalid'], args['version'], args['testprojectid'], custom_fields)101 return custom

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值