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

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

作者头像
顾翔
发布2019-12-11 16:46:37
5070
发布2019-12-11 16:46:37
举报
文章被收录于专栏:啄木鸟软件测试

3.5.4 删除购物车中的某种商品

1.urls.py

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

(1)good_id为购物车中待删除商品的id。

2.views.py

...# 把购物车中的商品移出购物车def remove_chart(request,good_id): util = Util() username = util.check_user(request) if username=="": uf = LoginForm() return render(request,"index.html",{'uf':uf,"error":"请登录后再进入"}) else: #获取指定id的商品 good = get_object_or_404(Goods, id=good_id) response = HttpResponseRedirect('/view_chart/') #移出购物车 response.set_cookie(str(good.id),1,0) return response...

(1)登录的用户通过语句good= get_object_or_404(Goods, id=good_id)获得需要移出的商品信息。

(2)通过语句response.set_cookie(str(good.id),1,0)将其移出购物车,移出购物车,只要把cookie的生效时间改为小于或者等于0即可(本处设置为0)。

3.模板

当指定的商品从购物车被删除以后,返回查看购物车页面,所以在这里的模板与“查看购物车”模块的模板一样。

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

表3-10为删除购物车中一个商品的测试用例。从购物车中删除指定的商品,检验这个商品是否不在购物车的商品详情中显示。

表3-10 删除购物车中一个商品测试用例

编号

描述

期望结果

1

把初始化的商品从购物车中删除

删除成功,不在购物车的商品详情中显示

2)XML数据文件

... <!--- 把初始化的商品从购物车中删除 --> <case> <TestId>chart-testcase006</TestId> <Title>购物车</Title> <Method>get</Method> <Desc>把初始化的商品从购物车中删除</Desc> <Url>http://127.0.0.1:8000/remove_chart/0/</Url> <InptArg></InptArg> <Result>200</Result> <CheckWord>NOT,龙井茶叶</CheckWord><!--- 龙井茶叶在购物车中不显示 --> </case>...

与商品中的测试用例goods-testcase005一样,CheckWord中的“NOT,龙井茶叶”,表示“龙井茶叶”不在购物车中。

3)测试代码

由于现在的<CheckWord>标签中出现了“NOT,”,所以在原有的测试代码chartTest.py基础上,按照商品测试代码一样进行修改。

... #如果mylist["CheckWord"]标签中存在"NOT"字符串,调用断言方法assertNotIn()if "NOT" in mylist["CheckWord"]:self.assertNotIn((mylist["CheckWord"]).split(",")[1],str(data.text))#否则调用断言方法assertIn()else: self.assertIn(mylist["CheckWord"],str(data.text))...

3.5.5删除购物车内所有的商品

1.urls.py

...url(r'^remove_chart_all/$', views.remove_chart_all),...

2.views.py

...# 删除购物车中所有内容def remove_chart_all(request): util = Util() username = util.check_user(request) if username=="": uf = LoginForm() return render(request,"index.html",{'uf':uf,"error":"请登录后再进入"}) else: response = HttpResponseRedirect('/view_chart/') #获取所有购物车中的内容 cookie_list = util.deal_cookes(request) #遍历购物车中的内容,一个一个地删除 for key in cookie_list: response.set_cookie(str(key),1,0) return response...

(1)登录的用户通过语句cookie_list= util.deal_cookes(request)获取购物车中的所有商品。

(2)通过循环语句forkey in cookie_list遍历购物车中的所有商品,和上节一样,通过语句response.set_cookie(str(key),1,0)把cookie的有效时间设置为0,从而达到把商品从购物车中删除的功能。

3.模板

当所有商品从购物车被删除以后,返回查看购物车页面,所以在这里的模板与“查看购物车”模块模板是一样的。

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

表3-11为删除购物车中所有商品的测试用例。从购物车中删除所有的商品,检验购物车中是否不存在任何商品。

表3-11 删除购物车中所有商品测试用例

编号

描述

期望结果

1

把购物车中的所有商品均删除

删除成功,购物车中不存在任何商品

2)XML数据文件

... <!--- 把购物车中的所有商品均删除 --> <case> <TestId>chart-testcase007</TestId> <Title>购物车</Title> <Method>get</Method> <Desc>把购物车中的所有商品均删除</Desc> <Url>http://127.0.0.1:8000/remove_chart_all/</Url> <InptArg></InptArg> <Result>200</Result> <CheckWord>NOT,&lt;td&gt;</CheckWord><!--- 不存在任何的<td>标识 --> </case></node>

NOT,&lt;td&gt;表示页面中不存在任何<td>标识。

3)测试代码

测试代码内容不变。

星云测试

http://www.teststars.cc

奇林软件

http://www.kylinpet.com

联合通测

http://www.quicktesting.net

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

本文分享自 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3.5.4 删除购物车中的某种商品
    • 1.urls.py
      • 2.views.py
        • 3.模板
          • 4.接口测试
            • 1)测试用例
            • 2)XML数据文件
            • 3)测试代码
        • 3.5.5删除购物车内所有的商品
          • 1.urls.py
            • 2.views.py
              • 3.模板
                • 4.接口测试
                  • 1)测试用例
                  • 2)XML数据文件
                  • 3)测试代码
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档