前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于Django的电子商务网站开发(连载35)

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

作者头像
顾翔
发布2019-12-11 17:16:37
3110
发布2019-12-11 17:16:37
举报

新年加入啄木鸟公众号,好运滚滚來!

顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscript,

主文件是:zentao.py 。bugreport是禅道,script是python3+selenium 3,按照规则在禅道上书写的bugreport可由zentao.py程序生成py测试脚本。

3.3.3 删除订单

1.urls.py

...url(r'^delete_orders/(?P<orders_id>[0-9]+)/(?P<sign>[0-9]+)/$', views.delete_orders),...

(1)orders_id为删除的单个订单或者总订单id。

(2)sign=1或者3表示删除单个订单。

(3)sign =2表示删除总订单。

(4)sign=1或者2表示从查看总订单进入删除。

(5)sign=3表示从查看单个订单进入删除。

2.views.py

...# 删除订单# id=1,3删除单个订单,id=2删除总订单# id=1,2从查看总订单进入,id=3从查看单个订单进入def delete_orders(request,orders_id,sign): util = Util() username = util.check_user(request) if username=="": uf = LoginForm() return render(request,"index.html",{'uf':uf,"error":"请登录后再进入"}) else: #如果删除单个订单 if sign == "1" or sign=="3": #通过主键获得单个订单的内容 order_filter = get_object_or_404(Order,id=orders_id) #获得当前订单所属于的总订单 orders_filter = get_object_or_404(Orders,id=order_filter.order_id) #删除这个单个订单 Order.objects.filter(id=orders_id).delete() #判断这个总订单下是否还有没有商品 judge_order = Order.objects.filter(order_id = orders_filter.id) #如果没有商品了 if (len(judge_order))==0: #删除这个订单所处于的总订单记录 Orders.objects.filter(id=orders_filter.id).delete() #如果标记为3,返回商品列表页面 if sign=="3": response = HttpResponseRedirect('/goods_view/') # 跳入商品列表页面 #如果标记为1,返回查看所有订单页面 if sign=="1": response = HttpResponseRedirect('/view_all_order/') # 跳入商品列表页面 #如果还有商品,且标记为3,返回订单确认页面 elif sign=="3": response = HttpResponseRedirect('/view_order/'+str(orders_filter.id)+'/') # 跳入订单确认 #否则返回所有订单页面 else: response = HttpResponseRedirect('/view_all_order/') # 跳入查看所有订单 #如果删除总订单 if sign == "2": #删除单个订单 Order.objects.filter(order_id=orders_id).delete() #删除总订单 Orders.objects.filter(id=orders_id).delete() #返回查看所有订单页面 response = HttpResponseRedirect('/view_all_order/') # 跳入查看所有订单 return response...

(1)登录用户通过判断语句ifsign == "1" or sign=="3"来就决定是否删除单独一个订单。

(2)如果是删除单独一个订单。

① 通过语句order_filter = get_object_or_404(Order,id=orders_id),获得单独订单信息内容。

② 通过语句orders_filter =get_object_or_404(Orders,id=order_filter.order_id)获得当前订单所属于的总订单信息。

③ 通过语句Order.objects.filter(id=orders_id).delete()中删除这个订单,需要注意的是如果这个订单所属的总订单都没有订单了,那么就必须把这个订单给删除。

④ 通过语句judge_order = Order.objects.filter(order_id= orders_filter.id)判断这个订单所属的总订单是否没有订单了,如果判断语句if (len(judge_order))==0结果为真,那么通过语句Orders.objects.filter(id=orders_filter.id).delete()把这条订单所属于的总订单给删除,然后根据sign=="1"还是sign=="3"返回方法goods_view()或view_order。

(3)如果ifsign=="2",也就是说删除的是总订单,先通过语句Order.objects.filter(order_id=orders_id).delete()删除这个总订单下的所有单个订单,然后通过和语句Orders.objects.filter(id=orders_id).delete()删除这个总订单,最后调用方法view_all_order()。

(4)删除单个订单可以从订单确认页面进入,也可以从查看所有订单页面进入。删除总订单只能从查看所有订单页面进入。参见图3-19和图3-20。

3.模板

这里的模板为查看所有订单页面和订单确认页面,没有单独模板页面。

4.接口测试
1)测试用例

表3-17为删除订单的测试用例。设计两个测试用例,一个是删除总的订单,另外一个是删除单个订单。

表3-17 删除订单的测试用例

编号

描述

期望结果

1

删除当前建立的单个订单

删除成功,且在显示页面中不显示

2

删除当前建立的总个订单

删除成功,且在显示页面中不显示

2)XML数据文件

在orderConfig.xml后面加上。

...<!--- 删除当前建立的单个订单 --> <case> <TestId>order-testcase004</TestId> <Title>订单信息</Title> <Method>get</Method> <Desc>删除当前建立的单个订单</Desc> <Url>http://127.0.0.1:8000/delete_orders/0/1/</Url> <InptArg></InptArg> <Result>200</Result> <CheckWord>NOT,订单id:0</CheckWord><!--- 检查单个订单是否被删除 --> </case> <!--- 删除当前建立的总个订单 --> <case> <TestId>order-testcase005</TestId> <Title>订单信息</Title> <Method>get</Method> <Desc>删除当前建立的总个订单</Desc> <Url>http://127.0.0.1:8000/delete_orders/0/2/</Url> <InptArg></InptArg> <Result>200</Result> <CheckWord>NOT,上海市外滩一号</CheckWord><!--- 检查总订单是否被删除 --> </case></node>

3)测试代码

测试代码保持不变。

星云测试

http://www.teststars.cc

奇林软件

http://www.kylinpet.com

联合通测

http://www.quicktesting.net

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3.3.3 删除订单
    • 1.urls.py
      • 2.views.py
        • 3.模板
          • 4.接口测试
            • 1)测试用例
            • 2)XML数据文件
            • 3)测试代码
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档