【自动化测试】第一次项目实施

测试项目简介:基于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:", rsptry: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为:", resourceIdreturn resourceIdexcept Exception as msg:raise RuntimeError(msg)
@classmethod
def get(cls, resourceId):'''# 查询单个虚拟机信息resourceId:资源id'''uri = '/resources/%s' % resourceIdrsp = 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:", rsptry:if rsp['result_code'] == 200:cls.wait_for_status(resourceId, EnumStatus)print "虚拟机操作成功 ,虚拟机当前状态为  %s" % EnumStatustime.sleep(10)returnexcept Exception as msg:raise RuntimeError(rsp, msg)
testcase中拼把增删改查的接口拼装起来,组合成一条虚拟机创建/修改/查询/删除的测试用例
@datadrive.DataDrive(testdata)
class BatchCreateAnddel_VM_TEST(TstackTestCase, Clean_resource):'''虚拟机批量创建-批量销毁'''owner = "xxxx"timeout = 20priority = Highstatus = Designdef 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
代码分享完成,跑起来看看效果。

 输出测试报告看看。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/188726.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

双11背后的中国云厂商:新“标准化”,和调整后的新韧性

降价并不代表一味的压缩自身利润空间,云厂商已经开始向具有更高利润空间的PaaS、SaaS产品腾挪,核心产品在总包占比越来越高。 作者|斗斗 编辑|皮爷 出品|产业家 今年云厂商,全面拥抱双11。 作为中国最大的云计算服务提供商&#xff0…

Unity中Shader矩阵的行列式

文章目录 前言一、什么是矩阵的行列式?1、只有方阵才有行列式(即 n X n 的矩阵)2、数学上表示为 det(A) 或者 |A|3、行列式可以看做有向面积 或 体积 在空间中的变化影响 二、2 x 2矩阵的行列式三、3 x 3矩阵的行列式四、行列式计算总结五、使…

UE的PlayerController方法Convert Mouse Location To World Space

先上图: Convert Mouse Location To World这是PlayerController对象中很重要的方法。 需要说明的是两个输出值。 第一个是World Location,这是个基于世界空间的位置值,一开始我以为这个值和当前摄像机的位置是重叠的,但是打印出来…

git撤销未git commit的文件

目录 一、问题描述 二、方式1:git命令撤销(更专业) 1、文件已git add,未git commit 2、本地修改,未git add (1)撤销处于unstage的文件,即删除已有变动 (2&#xff…

故障发现、定位提效超 70%,去哪儿可观测体系做了哪些优化?

一分钟精华速览 去哪儿网的原有监控系统在指标数量上展现出了强大实力——上亿指标量和百万级的告警量,但在故障数据方面却稍显不足——订单类故障平均发现时间长达 4 分钟,仅有 20%的订单类故障能在 1 分钟内被发现,近半数的故障处理时长超…

华夏ERP打包手册

Maven安装及环境配置 1.下载 浏览器搜索maven点击apache Maven 2.选择安装目录,注意不能有中文 3.环境变量配置 点击计算机右键属性>高级系统设置>环境变量 新建系统变量 MAVEN_HOME 变量值是安装目录 进入path点击新建点击编辑,写入% MAVEN_H…

YashanDB服务端个人版安装部署

介绍 崖山数据库系统YashanDB是深圳计算科学研究院完全自主研发设计的新型数据库系统,融入原创理论,支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景,为客户提供一站式的企业级融合数据…

Linux中的进程等待(超详细)

Linux中的进程等待 1. 进程等待必要性2. 进程等待的方法2.1 wait方法2.2 waitpid方法 3. 获取子进程status4. 具体代码实现 1. 进程等待必要性 我们知道,子进程退出,父进程如果不管不顾,就可能造成‘僵尸进程’的问题,进而造成内…

vue3 ts vite 主题色功能

开发工具:vue3 ts vite 如上图,选择个颜色整个变化,如下图 默认主题为绿色 切换成其它色。 这里面的颜色块,你也可以给个取器色组件,可切换成任意色。切换时主要执行下方的方法,有兴趣可自己研究下。 /…

torch - 张量Tensor简介与创建

张量是什么? 张量就是多维数组,0维张量叫标量,1维张量是向量,2维张量是矩阵,灰度图片大多都使用2维张量所表示的,3维张量一般用于RGB图片的表示。 张量的属性 其中后四个是用于Tensor自动求导。前四个和T…

C语言--写一个函数返回bool值,来判断给定的字符串A和B(假设都是小写字母),是否是B中的字符都存在于A中,如果是返回true,否则返回false

一.题目描述 写一个函数返回bool值,来判断给定的字符串A和B(假设都是小写字母),是否是B中的字符都存在于A中,如果是返回true,否则返回false。例如: 字符串A:abcde 字符串B&#xff…

C++ string类(一)

1.C语言中的字符串 C语言中,字符串是以\0结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符 OOP(Object Oriented Programming)的思想,而且…