外卖点餐项目的测试
外卖点餐项目的测试一、测试的流程二、测试用例的编写三、自动化测试登录功能四、手动测试五、loadrunner性能测试六、测试报告一、测试的流程测试计划:1.第一天,用自动化测试Selenium测试登录功能,手动测试员工管理、分类管理、菜品管理的增改查功能2.第二天,手动测试套餐管理核定单明细,并用loadrunner进行性能测试测试设计和开发:编写测试用例如下测试的执行:如下报告评估如下:二、测试
·
外卖点餐项目的测试
一、测试的流程
- 测试计划:
1.第一天,用自动化测试Selenium测试登录、退出功能,以及页面是否可以正常分页展示
2.第二天,手动测试员工管理、分类管理、菜品管理、套餐管理的添加,删除,查询,修改功能 - 测试设计和开发:编写测试用例如下
- 测试的执行:如下
- 报告评估如下:
二、测试用例的编写
三、自动化测试登录、退出功能
unittestDemo
from ddt import data,ddt,unpack,file_data
from selenium import webdriver
import time
import unittest
import os,sys,csv
def 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'))
@unpack
def test_Login(self, value1, value2):
driver = self.driver
url = self.url
driver.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_url
try:
self.assertEqual(url, "http://paulstrong.top:8080/backend/index.html", msg="登录失败")
except:
self.save_erroImage(self.driver, "error.png")
@data(*getTxt('test_data.txt'))
@unpack
def test_outLogin(self,value1,value2):
driver=self.driver
url=self.url
driver.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_url
try:
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 unittest
def createsuite():
discovers = unittest.defaultTestLoader.discover("../demo", pattern="unittestD*.py", top_level_dir=None)
print(discovers)
return discovers
if __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来提升效率。
更多推荐
已为社区贡献1条内容
所有评论(0)