当前位置: 首页>編程日記>正文

外卖点餐项目的测试

外卖点餐项目的测试

外卖点餐项目的测试

  • 一、测试的流程
  • 二、测试用例的编写
  • 三、自动化测试登录、退出功能
  • 四、测试报告

一、测试的流程

  • 测试计划:
    1.第一天,用自动化测试Selenium测试登录、退出功能,以及页面是否可以正常分页展示
    2.第二天,手动测试员工管理、分类管理、菜品管理、套餐管理的添加,删除,查询,修改功能
  • 测试设计和开发:编写测试用例如下
  • 测试的执行:如下
  • 报告评估如下:

二、测试用例的编写

在这里插入图片描述

三、自动化测试登录、退出功能

unittestDemo

from ddt import data,ddt,unpack,file_data
from selenium import webdriver
import time
import unittest
import os,sys,csvdef getTxt(file_name):rows=[]path=sys.path[0]with open(path+'\\'+file_name,'rt') as f:readers=csv.reader(f,delimiter=',',quotechar='|')next(readers,None)for row in readers:temprows=[]for i in row:temprows.append(i)rows.append(temprows)return rows
@ddt
class TestUnit(unittest.TestCase):#获取输出库驱动def setUp(self):self.driver=webdriver.Chrome()self.driver.maximize_window()self.url="http://paulstrong.top:8080/backend/page/login/login.html"self.driver.get(self.url)time.sleep(3)@data(*getTxt('test_data.txt'))@unpackdef test_Login(self, value1, value2):driver = self.driverurl = self.urldriver.get(url)username = driver.find_element_by_xpath("/html/body/div/div/div/form/div[2]/div/div/input")password = driver.find_element_by_xpath("/html/body/div/div/div/form/div[3]/div/div/input")username.clear()username.send_keys(value1)time.sleep(2)password.clear()password.send_keys(value2)driver.find_element_by_class_name("login-btn").click()time.sleep(1)url = driver.current_urltry:self.assertEqual(url, "http://paulstrong.top:8080/backend/index.html", msg="登录失败")except:self.save_erroImage(self.driver, "error.png")@data(*getTxt('test_data.txt'))@unpackdef test_outLogin(self,value1,value2):driver=self.driverurl=self.urldriver.get(url)username=driver.find_element_by_xpath("/html/body/div/div/div/form/div[2]/div/div/input")password=driver.find_element_by_xpath("/html/body/div/div/div/form/div[3]/div/div/input")username.clear()username.send_keys(value1)time.sleep(2)password.clear()password.send_keys(value2)driver.find_element_by_class_name("login-btn").click()time.sleep(1)driver.find_element_by_class_name("outLogin").click()time.sleep(1)url=driver.current_urltry:self.assertEqual(url, "http://paulstrong.top:8080/backend/page/login/login.html", msg="登录失败")except:self.save_erroImage(self.driver,"error.png")def save_erroImage(self, driver, fileName):if not os.path.exists("./image"):os.makedirs("./image")now=time.strftime("%Y%m%d-%H%M%S",time.localtime(time.time()))driver.get_screenshot_as_file("./image/"+now+"-"+fileName)def tearDown(self):self.driver.quit()if __name__=="__main__":unittest.main()

testSuit

import unittest
from test_demo import unittestDemo
def creatSuit():# 测试套件 disvover#discover(dir,pattern,top_level_dir=None)discover = unittest.defaultTestLoader.discover("../demo",pattern="unittestD*.py",top_level_dir=None)return discover
if __name__=="__main__":suite=creatSuit()runner=unittest.TextTestRunner()runner.run(suite)

html自动生成

import HTMLTestRunner
import os
import sys
import time
import unittestdef createsuite():discovers = unittest.defaultTestLoader.discover("../demo", pattern="unittestD*.py", top_level_dir=None)print(discovers)return discoversif __name__=="__main__":# 文件夹要创建在哪里curpath = sys.path[0]print(sys.path)print(sys.path[0])# 1,创建文件夹,创建的这个文件夹干什么if not os.path.exists(curpath+'/resultreport'):os.makedirs(curpath+'/resultreport')# 2,文件夹的命名,不能让名称重复# 时间  时分秒 ——》名称绝对不会重复now = time.strftime("%Y-%m-%d-%H %M %S", time.localtime(time.time()))print(now)print(time.time())print(time.localtime(time.time()))# 文件名filename = curpath + '/resultreport/'+ now + 'resultreport.html'with open(filename, 'wb') as fp:runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u"测试报告",description=u"用例执行情况", verbosity=2)suite = createsuite()runner.run(suite)
  • 登录功能的测试
    1.密码用户名全部正确的情况下
    在这里插入图片描述
    2.密码位数不够的情况下

    • 生成的错误截图在这里插入图片描述
      在这里插入图片描述

    3.用户名不存在情况下

    • 错误截图在这里插入图片描述
      在这里插入图片描述

    4.密码错位情况下
    在这里插入图片描述
    在这里插入图片描述

  • 退出功能的测试
    (找到退出的元素然后点击)
    在这里插入图片描述

四、测试报告

在这里插入图片描述
本次测试实在windows操作系统上的谷歌浏览器,利用python编写自动化脚本和手动测试,对点餐网站的基本功能进行测试,总共测试用例36条,通过33条,发现3处BUG,通过率为92%,核心功能测试全部通过,主要BUG在页面展示、兼容性和性能方面,可以采用Redis来提升效率。


https://www.fengoutiyan.com/post/13698.html

相关文章:

  • 外卖丢餐谁索赔
  • 美团外卖取餐号在哪看
  • 美团外卖怎么帮别人点餐
  • 出餐快的餐饮有哪些
  • 扫码点餐面试题
  • 社区每月餐项目
  • 餐厨项目
  • 美团外卖在线考试全题答案
  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機