Unittest方法 -- 测试分离
2024-09-06 13:19:16
一、下面是it.py 脚本,把浏览器前置和后置条件分离了
"""套件公用测试类可进行分离"""
import unittest
from selenium import webdriver
class Init(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.driver.implicitly_wait(30)
self.driver.get("Http://www.baidu.com")
def tearDown(self):
self.driver.quit()
二、BaiduLink 继承 Init的类
"""套件分离测试"""
import unittest
from unittest_1.it import Init
class BaiduLink(Init):
def test_baidu_news(self):
self.driver.find_element_by_link_text('新闻').click()
def test_002(self):
self.driver.find_element_by_link_text('地图').click()
# 静态方法,直接调用suite方法
@staticmethod
def suite():
suite = unittest.TestSuite(unittest.makeSuite(BaiduLink))
return suite
if __name__ == '__main__':
unittest.TextTestRunner(verbosity=2).run(BaiduLink.suite())
三、小牛试刀,结合浏览器对百度业务进行单元测试
from unittest_1.it import *
import unittest
class BaiduLink(Init):
def test_baidu_shouye(self):
"""百度业务,测试百度的title是否正确"""
self.assertEqual(self.driver.title,"百度一下,你就知道")
# self.assertEqual(self.driver.title,"百度一下,你就知道".encode("gdk"))
def test_baidu_title(self):
if self.driver.title == "百度一下,你就知道":
print("pass")
else:
print("Fail")
def test_baidu_title(self):
try:
self.assertEqual(self.driver.title,"百度一下,你就知道")
except Exception as e:
print("Fail info:{0}".format(e.args))
def test_baidu_login(self):
"""断言so 是否为真,返回的为 bool 型"""
so= self.driver.find_element_by_id("kw")
self.assertTrue(so.is_enabled())
def test_baidu_title(self):
"""断言百度是否再title里面"""
self.assertIn("百度",self.driver.title)
if __name__ == '__main__':
#把BaiduLink模块类加载到测试套件中,然后执行测试用例操作
suite = unittest.TestLoader().loadTestsFromModule(BaiduLink)
unittest.TextTestRunner(verbosity=2).run(suite)
四、测试执行
import unittest
from selenium import webdriver
class BaiduLink(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.driver.implicitly_wait(30)
self.driver.get("Http://www.baidu.com")
def tearDown(self):
self.driver.quit()
def test_baidu_news(self):
self.driver.find_element_by_link_text("新闻").click()
def test_baidu_map(self):
self.driver.find_element_by_link_text("地图").click()
class BaiduSo(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.driver.implicitly_wait(30)
self.driver.get("Http://www.baidu.com")
def tearDown(self):
self.driver.quit()
def test_baidu_so(self):
self.driver.find_element_by_id("kw").send_keys("webdriver")
self.driver.find_element_by_id("su").click()
if __name__ == '__main__':
"""执行F7中所有的用例,TestLoader加载测试类"""
suite = unittest.TestLoader().loadTestsFromModule("test_runnrt.py")
unittest.TextTestRunner(verbosity=2).run(suite)
最新文章
- Hive的安装
- Nginx配置proxy_pass
- 暑假集训(4)第八弹——— 组合(hdu1524)
- Servlet跳转
- css中那些容易被我们程序猿所忽略的选择器
- 童话故事 --- 通信协议之 HDLC 浅析
- 理解rem实现响应式布局原理及js动态计算rem
- python实现京东秒杀
- 最近面试 Java 后端的感受!
- C#导出Excel,某单元格内容长度超过255 的解决方法
- extern C的用法解析
- python获取两个dict的不同
- 【CSS系列】网页头部进度条方式一
- 概率论与数理统计 Q&;A:
- 20155209 2016-2017-2 《Java程序设计》第七周学习总结
- 腾讯云服务器部署 django项目整个流程
- python while 学习
- git使用GitHub远程仓库
- Maven安装配置环境变量及eclipse的配置
- <;script>;标签的属性
热门文章
- [论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding
- 【Python报错】RuntimeError: DataLoader worker (pid(s) 9764, 15128) exited unexpectedly
- UF_CSYS 坐标系操作
- UF_UI 界面相关
- 创建react项目并集成eslint/prettier/commit-lint
- Android系统编程入门系列之清单文件
- centos7安装JDK、CentOS
- springboot+kurento+coturn+contos的视频通讯服务搭建
- Golang的一致性哈希实现
- centos 8.3安装 OPENJDK