独立接口面向对象设计

使用面向对象的编程思想,来进行独立接口面向对象的设计,一个接口测试对应一个类,这样后面做框架也比较规范一些。

类定义包含类的属性和类的方法。

类属性包含接口访问地址和接口测试数据

类方法包含测试方法

1、V1.0 实现一组正常注册数据的接口测试

# 用面向对象思想设计正常注册接口测试,脚本传入一组测试数据
import requests

#定义测试类
class register_test():
    # 定义属性,一般是定义在类的初始化方法中
    def __init__(self):
        self.url="http://localhost:8080/jwshoplogin/user/register.do"
        self.userinfo={"username":"程勇",
                       "password":"123456",
                       "email":"chengyong@51testing.com",
                       "phone":"13889564546",
                       "question":"喜欢读的书",
                       "answer":"幸福人生"}
    def registertest(self):
        #发送接口请求
        s=requests.session()
        response=s.post(self.url,data=self.userinfo).json()
        print(response)

if __name__ == '__main__':
    registobj=register_test()
    registobj.registertest()

输出结果:

{'status': 0, 'data': '注册成功'}

2、实现CSV读取数据传入

# 用面向对象思想设计正常注册接口测试,脚本传入一组测试数据
import requests
import csv
import requests
#定义测试类
class register_test():
    # 定义属性,一般是定义在类的初始化方法中
    def __init__(self):
        self.url="http://localhost:8080/jwshoplogin/user/register.do"



    def registertest(self):
        #发送接口请求
        file1=open("userinfo.csv","r")
        table=csv.reader(file1)
        self.userinfo = {}

        for row in table:
            print(row[0])
            self.userinfo["username"]=row[0]
            self.userinfo["password"]=row[1]
            self.userinfo["email"]=row[2]
            self.userinfo["phone"]=row[3]
            self.userinfo["question"]=row[4]
            self.userinfo["answer"]=row[5]
            s=requests.session()
            response=s.post(self.url,data=self.userinfo).text
            print(response)
        file2.close()

if __name__ == '__main__':
    registobj=register_test()
    registobj.registertest()

测试结果:

程勇6
{"status":1,"msg":"邮件已经存在"}
程勇7
{"status":0,"data":"注册成功"}

3、V3.0 实现测试报告的写入

# 用面向对象思想设计正常注册接口测试,脚本传入一组测试数据
import requests
import csv
import requests
#定义测试类
class register_test():
    # 定义属性,一般是定义在类的初始化方法中
    def __init__(self):
        self.url="http://localhost:8080/jwshoplogin/user/register.do"

    def registertest(self):
        #发送接口请求
        file1=open("userinfo.csv","r")
        file2=open("testresult.csv","w")
        table=csv.reader(file1)
        self.userinfo = {}

        for row in table:
            print(row[0])
            self.userinfo["username"]=row[0]
            self.userinfo["password"]=row[1]
            self.userinfo["email"]=row[2]
            self.userinfo["phone"]=row[3]
            self.userinfo["question"]=row[4]
            self.userinfo["answer"]=row[5]
            s=requests.session()
            response=s.post(self.url,data=self.userinfo).text
            print(response)
            msg=response.find("status")
            if msg>0:
                print("测试通过")
                file2.write("测试通过"+"\n")
            else:
                file2.write("测试失败"+"\n")
        file2.close()


if __name__ == '__main__':
    registobj=register_test()
    registobj.registertest()

运行结果:

其中邮件和用户名前面用过一次,所以不能再用了。

程勇6
{"status":1,"msg":"邮件已经存在"}
测试通过
程勇7
{"status":1,"msg":"用户名已经存在"}
测试通过

测试结果已经写入到结果的CSV文件中。

希望本篇文章对您有帮助,愿每个测试都能顺利转为测试开发,提高职业技能,成为前1%的存在,为社会创造更大的价值,为公司节约更多的成本,为自己和家庭谋求更高的收入,所有人不受职业年龄限制,越老越吃香,直至财富自由;愿测试技术越来越进步,软件质量进一步得到提高,效率提高。愿祖国更加美好,人民更加幸福。多喜乐,常安宁。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值