功能测试可以手写一份测试报告
一、如何自动生成测试报告
unittest生成测试报告
测试用例:账号正确,密码错误
自己依照测试用例输入一组账号,点登录,会出现信息,密码错误
代码:
import unittest
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
# 必须要继承unittest.TestCase
class TestCase(unittest.TestCase):
# setUP 用例执行前要执行的一个方法
def setUp(self) -> None:
# 登录的准备工作:打开浏览器,访问登录页
# 通过浏览器驱动打开谷歌浏览器
self.driver = webdriver.Chrome()
# 访问登录页
self.driver.get('http://39.98.138.157/shopxo/index.php?s=/index/user/logininfo.html')
# tearDown 用例执行之后要执行的一个方法
def tearDown(self) -> None:
# 关闭浏览器,一般会等待三秒钟关闭浏览器
# alt+enter 自动导包
time.sleep(4)
self.driver.quit()
# 测试过程 测试方法 一条测试用例就是一条test 一个方法必须以test开头
# 用户名正确。密码不正确
def test_01(self):
# 找到输入框,输入用户名
# 找到输入框,输入密码
# 找到登录按钮并点击登录
self.driver.find_element(By.XPATH, '/html/body/div[4]/div/div[2]/div[2]/form/div[1]/input').send_keys('666666')
self.driver.find_element(By.XPATH, '/html/body/div[4]/div/div[2]/div[2]/form/div[2]/input').send_keys('633333')
self.driver.find_element(By.XPATH, '/html/body/div[4]/div/div[2]/div[2]/form/div[3]/button').click()
# 预期结果
# expected='密码错误'
# 做断言
# 一般而言使用if expected ==
# unittest提供了断言
time.sleep(1)
msg=self.driver.find_element(By.XPATH, '//*[@id="common-prompt"]/p').text
self.assertEqual('密码错误', msg)
if __name__ == '__main__':
unittest.main()
注意事项:断言——找到密码错误
二、优化自动生成测试报告 unittest
Pytest 是在unittest基础上加深,会更好用一点,学的难度会高一点
1、unittest生成测试报告
解决问题,导入os包,
正确答案:
说明:testCase20211214是根目录
控制台输出的也是另类的一种测试报告,但是不全面,难理解
2、unittest有一种特有的生成文本测试报告的方法
上面问题主要是路径写错了,直接找到根目录下创建文件
正确答案:
运行效果: