测试项目简介:基于python语言
跨平台的测试自动化工具,适用于后台、原生或混合型客户端应用的测试。它支持 Android、iOS、Web、后台、云服务和 Windows 端的 UI 自动化测试。
上手快,操作简单,只要有一点python基础,打来文件就可以直接上手。
1、测试项目的文件目录介绍
2、直接上实战项目
跨平台的测试自动化工具,适用于后台、原生或混合型客户端应用的测试。它支持 Android、iOS、Web、后台、云服务和 Windows 端的 UI 自动化测试
在testlib中把接口封装成增删改查四个,然后在testcase中将增删改查的接口拼接起来,组合成一条对资源进行创建、修改、查询、删除操作的测试用例。
实例一:
testlib中封装好的接口:创建 -- 修改 --查询 --删除
@classmethod def create(cls, body): '''创建虚拟机资源 '''uri = '/xxx/create' rsp = cls.get_api(cls.host, cls.base_uri).post(uri, body=body) print "Response:", rsp try: resourceId = rsp['data']['data']['result']['resourceResults'][0]['resourceId'] taskId = rsp['data']['data']['taskId'] if rsp['result_code'] == 200: cls.wait_for_status_create(taskId, cls.taskType.Create, resourceId, cls.EnumStatus.Running) print "虚拟机创建成功 资源id为:", resourceId return resourceId except Exception as msg: raise RuntimeError(msg)
- @classmethod
- def get(cls, resourceId):
- '''
- # 查询单个虚拟机信息
- resourceId:资源id
- '''
- uri = '/resources/%s' % resourceId
- rsp = cls.get_api(cls.host, cls.base_uri).get(uri)
- try:
- if rsp['result_code'] == 200:
- return rsp
- except Exception as msg:
- raise RuntimeError(msg, rsp)
- @classmethod
- def rename(cls, resourceId, name, C):
- '''虚拟机修改名称
- '''
- uri = '/xx/name'
- data = {
- "resourceId": resourceId,
- "name": name,
- "C": C
- }
- rsp = cls.get_api(cls.host, cls.base_uri).put(uri, body=data)
-
- try:
- if rsp['result_code'] == 200:
- return rsp
- except Exception as msg:
- raise RuntimeError(msg, rsp)
- return Model._solve_the_response(rsp)
- @classmethod
- def operate_vm(cls, B resourceId, D):
- '''
- !销毁操作
- uri = '/xxx/action'
- data = {
- "resourceIds": [resourceId],
- "B": B,
- "D": D,
-
- }
- rsp = cls.get_api(cls.host, cls.base_uri).post(uri, body=data)
- print "Response:", rsp
- try:
- if rsp['result_code'] == 200:
- cls.wait_for_status(resourceId, EnumStatus)
- print "虚拟机操作成功 ,虚拟机当前状态为 %s" % EnumStatus
- time.sleep(10)
- return
- except Exception as msg:
- raise RuntimeError(rsp, msg)
testcase中拼把增删改查的接口拼装起来,组合成一条虚拟机创建/修改/查询/删除的测试用例
- @datadrive.DataDrive(testdata)
- class BatchCreateAnddel_VM_TEST(TstackTestCase, Clean_resource):
- '''虚拟机批量创建-批量销毁
- '''
- owner = "xxxx"
- timeout = 20
- priority = High
- status = Design
-
- def run_test(self):
- body, step_name = self.casedata
- # -----------------------------创建虚拟机----------------------------------------------
- self.start_step(step_name)
- rsp = VM.Create(body)
- resourceId = rsp['data']['result']['resourceResults'][0]['resourceId']
- self.assert_equal("验证失败“,rsp["result_code"],200)
- #---------------------------------查询虚拟机-------------------------------------------
- self.start_step("获取Id列表中的资源情况")
- VM.get_resource_by_id(VmResourceId)
-
- #--------------------------------------修改虚拟机名称---------------------------------
- self.start_step("修改虚拟机名称")
- name, operator = self.casedata #参数化,数据驱动的方式
- rsp = VM.rename(VmResourceId, name, C)
- self.assert_equal("虚拟机修改名称失败", rsp['result_code'], 200)
- # ------------------------------------------------------------------------------
- self.start_step("销毁虚拟机")
- VM.operate_Batchvm(A, VmResourceId,B)
- self.success_label()
- if __name__ == '__main__':
BatchCreateAnddel_VM_TEST().debug_run()
pass 代码分享完成,跑起来看看效果。
输出测试报告看看。
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取