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

测试项目简介:基于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
代码分享完成,跑起来看看效果。

 输出测试报告看看。

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值