...url(r'^remove_chart/(?P<good_id>[0-9]+)/$', views.remove_chart),... |
---|
(1)good_id为购物车中待删除商品的id。
...# 把购物车中的商品移出购物车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-10为删除购物车中一个商品的测试用例。从购物车中删除指定的商品,检验这个商品是否不在购物车的商品详情中显示。
表3-10 删除购物车中一个商品测试用例
编号 | 描述 | 期望结果 |
---|---|---|
1 | 把初始化的商品从购物车中删除 | 删除成功,不在购物车的商品详情中显示 |
... <!--- 把初始化的商品从购物车中删除 --> <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,龙井茶叶”,表示“龙井茶叶”不在购物车中。
由于现在的<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))... |
---|
...url(r'^remove_chart_all/$', views.remove_chart_all),... |
---|
...# 删除购物车中所有内容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-11为删除购物车中所有商品的测试用例。从购物车中删除所有的商品,检验购物车中是否不存在任何商品。
表3-11 删除购物车中所有商品测试用例
编号 | 描述 | 期望结果 |
---|---|---|
1 | 把购物车中的所有商品均删除 | 删除成功,购物车中不存在任何商品 |
... <!--- 把购物车中的所有商品均删除 --> <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,<td></CheckWord><!--- 不存在任何的<td>标识 --> </case></node> |
---|
NOT,<td>表示页面中不存在任何<td>标识。
测试代码内容不变。
星云测试
http://www.teststars.cc
奇林软件
http://www.kylinpet.com
联合通测
http://www.quicktesting.net