当前位置:网站首页>自动化测试之unittest框架
自动化测试之unittest框架
2022-07-31 05:19:00 【欧粒粒】
1.unittest框架
UI功能单元测试
(1)测试固件(框架里的固定方法)
setup方法,测试环境和数据的准备工作
tearDown 做测试用例执行完成后的清理工作
(2)测试用例
一个测试用例是一个方法 def 名字以test_开头
(2)测试套件
把测试用例组织到一起进行一个整体的测试
必须以继承的方式来使用,
2.测试套件
(1)unittest.TestSuite
addTest(脚本名称.类名.方法名)
一个测试方法
(2)makesuit
unittest.makeSuite(脚本名.类名)
可以把一个类中所有的测试方法添加到测试套件里
suit = unittest.TestSuite()
suit.addTest(unittest.makeSuite(testbaidu1.Baidu1))
suit.addTest(unittest.makeSuite(testbaidu2.Baidu2))
return suit(3)TestLoader
unittest.TestLoader().loadTestsFromTestCase()
把一个类中所有的测试方法创建成一个测试套件返回
(4)discover
driver = unittest.defaultTestLoader.discover("文件夹", pattern="要运行的测试用例所在的文件名称", top_level_dir=None)把一个文件夹下的所有测试脚本的测试用例都执行一遍
3.测试用例的执行顺序
按,0~9 A~Z a~z,并不是谁写在前面就执行谁
4.忽略测试用例的执行
对于不想运行的测试用例打标签:
@unittest.skip("skipping")5.实例
from selenium import webdriver
import time
import unittest
class TestUnit1(unittest.TestCase):
# 获取浏览器的驱动
def setUp(self):
# driver = webdriver.Chrome()
self.driver = webdriver.Firefox()
self.driver.maximize_window()
self.url = "https://www.baidu.com/"
self.driver.get(self.url)
time.sleep(3)
# 在百度中搜索信息-汉字
# 测试用例的起名要用 test_
@unittest.skip("skipping")
def test_search1(self):
self.driver.find_element_by_id("kw").send_keys("长津湖")
self.driver.find_element_by_id("su").click()
time.sleep(6)
# 在百度中搜索信息-英文
def test_search2(self):
self.driver.find_element_by_id("kw").send_keys("Lisa")
self.driver.find_element_by_id("su").click()
time.sleep(6)
# 关闭浏览器
def tearDown(self):
self.driver.quit()
if __name__ == "__main__":
unittest.main()
import unittest
from src0716 import testbaidu1
from src0716 import testbaidu2
def createsuite():
# addTest
# suite = unittest.TestSuite()
# suite.addTest(testbaidu1.Baidu1("test_hao"))
# suite.addTest(testbaidu1.Baidu1("test_hbaidu"))
# suite.addTest(testbaidu2.Baidu2("test_hao"))
# suite.addTest(testbaidu2.Baidu2("test_baidusearch"))
# return suite
# makesuite
# suite = unittest.TestSuite()
# suite.addTest(unittest.makeSuite(testbaidu1.Baidu1))
# suite.addTest(unittest.makeSuite(testbaidu2.Baidu2))
# return suite
# TestLoader
# suite1 = unittest.TestLoader().loadTestsFromTestCase(testbaidu1.Baidu1)
# suite2 = unittest.TestLoader().loadTestsFromTestCase(testbaidu2.Baidu2)
# suite = unittest.TestSuite([suite1, suite2])
# return suite
# discover
discover = unittest.defaultTestLoader.discover("../src0716", pattern="testbaidu*.py", top_level_dir=None)
return discover
if __name__ == "__main__":
suite = createsuite()
runner = unittest.TextTestRunner(verbosity=2)
runner.run(suite)
边栏推荐
- PyTorch Study Notes 08 - Loading Datasets
- 定义一个类,super的使用,私有属性
- fdisk分区,gdisk添加磁盘,parted进行磁盘分区,parted新增分区,临时挂载和永久挂载
- 2021-09-30
- cenos7配置IP,配置IP不生效
- The solution to the IDEA console not being able to enter information
- ES6-01-ES的简介
- DSPE-PEG-Thiol DSPE-PEG-SH phospholipid-polyethylene glycol-thiol liposome for later use
- The content of the wangeditor editor is transferred to the background server for storage
- 【Rhapsody学习笔记】3:Dishwasher
猜你喜欢
随机推荐
IDEA概述和安装及调试
衡量 DevOps 成功与否的重要度量指标
【博学谷学习记录】超强总结,用心分享 | 软件测试 UnitTest框架
Learning and understanding of ROS service programming
nacos1.4.1创建配置报错
虚拟机查看端口号进程
Use usb_cam to open multiple cameras at the same time
ROS service transfer pictures
力扣刷题之排序链表
一种用QT实现即时通信软件表情发送与接收的思路
cenos7配置IP,配置IP不生效
常用浏览器内核的了解、ES5和ES6的区别、ES6的更新的笔试题
UR3机器人雅克比矩阵
国际站卖家大促攻略,只需要做好这几件事
螺旋矩阵Ⅱ
文件内容浏览cut、uniq、sort、tr命令的使用,
The array technique, my love
多线程截取视频为每帧
【Rhapsody学习笔记】2:Count Down
Getting Started with MySQL: The Case Statement Works Well









