一、下面是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)

最新文章

  1. Hive的安装
  2. Nginx配置proxy_pass
  3. 暑假集训(4)第八弹——— 组合(hdu1524)
  4. Servlet跳转
  5. css中那些容易被我们程序猿所忽略的选择器
  6. 童话故事 --- 通信协议之 HDLC 浅析
  7. 理解rem实现响应式布局原理及js动态计算rem
  8. python实现京东秒杀
  9. 最近面试 Java 后端的感受!
  10. C#导出Excel,某单元格内容长度超过255 的解决方法
  11. extern C的用法解析
  12. python获取两个dict的不同
  13. 【CSS系列】网页头部进度条方式一
  14. 概率论与数理统计 Q&A:
  15. 20155209 2016-2017-2 《Java程序设计》第七周学习总结
  16. 腾讯云服务器部署 django项目整个流程
  17. python while 学习
  18. git使用GitHub远程仓库
  19. Maven安装配置环境变量及eclipse的配置
  20. <script>标签的属性

热门文章

  1. [论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding
  2. 【Python报错】RuntimeError: DataLoader worker (pid(s) 9764, 15128) exited unexpectedly
  3. UF_CSYS 坐标系操作
  4. UF_UI 界面相关
  5. 创建react项目并集成eslint/prettier/commit-lint
  6. Android系统编程入门系列之清单文件
  7. centos7安装JDK、CentOS
  8. springboot+kurento+coturn+contos的视频通讯服务搭建
  9. Golang的一致性哈希实现
  10. centos 8.3安装 OPENJDK