首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于Django的电子商务网站开发(连载13)

基于Django的电子商务网站开发(连载13)

作者头像
顾翔
发布2019-12-11 15:21:01
2760
发布2019-12-11 15:21:01
举报
1. 接口测试

重新构造初始化数据。

loginConfig.xml

<node> <case> <id>0</id> <username>Johnson</username> <password>000000</password> <email>Johnson@126.com</email> </case> <case> <TestId>loginReg-testcase001</TestId> <Title>用户登录</Title> <Method>post</Method> <Desc>正确用户名,错误密码</Desc> <Url>http://127.0.0.1:8000/login_action/</Url> <InptArg>{"username":"Johnson","password":"123456"}</InptArg> <Result>200</Result> <CheckWord>用户名或者密码错误</CheckWord> </case> <case> <TestId> loginReg-testcase002</TestId> <Title>用户登录</Title> <Method>post</Method> <Desc>错误用户名,正确密码</Desc> <Url>http://127.0.0.1:8000/login_action/</Url> <InptArg>{"username":"smith","password":"000000"}</InptArg> <Result>200</Result> <CheckWord>用户名或者密码错误</CheckWord> </case> <case> <TestId> loginReg-testcase003</TestId> <Title>用户登录</Title> <Method>post</Method> <Desc>错误用户名,错误密码</Desc> <Url>http://127.0.0.1:8000/login_action/</Url> <InptArg>{"username":"smith","password":"123456"}</InptArg> <Result>200</Result> <CheckWord>用户名或者密码错误</CheckWord> </case> <case> <TestId> loginReg-testcase004</TestId> <Title>用户登录</Title> <Method>post</Method> <Desc>正确用户名,正确密码</Desc> <Url>http://127.0.0.1:8000/login_action/</Url> <InptArg>{"username":"Johnson","password":"000000"}</InptArg> <Result>200</Result> <CheckWord>查看购物车</CheckWord> </case></node>

测试代码如下。

loginTest.py

#!/usr/bin/env python#coding:utf-8import unittest,requestsfrom util import GetXML,DB class mylogin(unittest.TestCase): def setUp(self): print("--------测试开始--------") #定义数据库表名 self.userTable = "goods_user" #建立GetXML对象变量 xmlInfo = GetXML("loginConfig.xml") #获得初始化信息 self.userValues = xmlInfo.getUserInitInfo() #建立DB对象变量 self.dataBase= DB() #连接数据库 self.dataBase.connect() #插入初始化数据库 self.dataBase.insert(self.userTable,self.userValues) #获得所有测试数据 self.mylists = xmlInfo.getxmldata() def test_login(self): for mylist in self.mylists: #获取传输参数 payload = eval(mylist["InptArg"]) #获取测试URL url=mylist["Url"] #发送请求 try: if mylist["Method"] == "post": data = requests.post(url,data=payload) elif mylist["Method"] == "get": data = requests.get(url,params=payload) else: print ("Method 参数获取错误") except Exception as e: self.assertEqual(mylist["Result"],"404") else: #验证返回码 self.assertEqual(mylist["Result"],str(data.status_code)) #验证返回文本 self.assertIn(mylist["CheckWord"],str(data.text)) def tearDown(self): #获取初始化数据库中的记录主码 id = self.userValues.split(',')[0] #删除这条记录 self.dataBase.delete(self.userTable,"id="+id) #关闭数据库连接 self.dataBase.close() print("--------测试结束--------") if __name__=='__main__': #构造测试集 suite=unittest.TestSuite() suite.addTest(mylogin("test_login")) #运行测试集合 runner=unittest.TextTestRunner() runner.run(suite)

星云测试

http://www.teststars.cc

奇林软件

http://www.kylinpet.com

联合通测

http://www.quicktesting.net

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试培训 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 接口测试
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档