zoukankan      html  css  js  c++  java
  • <自动化测试>之<unittest框架使用1>

    要说单元测试和UI自动化之间的是什么样的一个关系,说说我个人的一些心得体会吧,我并没有太多的这方面经验,由于工作本身就用的少,还有就是功能测试点点对于我这种比较懒惰的人来说,比单元测试复杂...思考单元测试的处理逻辑和UI的对应关系,根据分层自动化的测试思想, UI>>接口>>最底层就是单元,对于单元级别的自动化测试, 是白盒测试范畴, 用一段代码去测试一段代码, 而我们则是需要利用单元测试框架的一些组织驱动单元来编写我们的自动化测试脚本, 而unittest是python自带的单元测试框架,我们不必深究,我们只是利用unittest封装好的一部分规则方法,去填充你的脚本

     1 # coding: utf-8
     2 '''
     3 @author : hx
     4 @desc    : 重点学习unittest的用法
     5 注意setUp/setUpClass, tearDown/tearDownClass 的区别
     6 1.setUp:每个测试函数运行前运行
     7 2.tearDown:每个测试函数运行完后执行
     8 3.setUpClass:必须使用@classmethod装饰器,所有test运行前运行一次
     9 4.tearDownClass:必须使用@classmethod装饰器,所有test运行后运行一次
    10 
    11 unittest 还有一些不常用的装饰器:
    12 @unittest.skip(reason):无条件跳过测试,reason描述为什么跳过测试
    13 @unittest.skipif(condititon,reason):condititon为true时跳过测试
    14 @unittest.skipunless(condition, reason):condition 不是true时跳过测试
    15 @unittest.expectedFailure:如果test失败了,这个test不计入失败的case数目
    16 '''
    17 
    18 import unittest
    19 import time
    20 from selenium import webdriver
    21 
    22 class SearchTest(unittest.TestCase):
    23     @classmethod
    24     def setUpClass(cls):
    25         cls.driver = webdriver.Chrome()
    26         cls.driver.implicitly_wait(30)
    27         cls.driver.maximize_window()
    28         cls.base_url = 'http://www.baidu.com/'
    29         cls.driver.get(cls.base_url)
    30 
    31         cls.search_text = cls.driver.find_element_by_id('kw')
    32         cls.search_btn = cls.driver.find_element_by_id('su')
    33 
    34     def test_search_btn_displayed(self):
    35         self.assertTrue(self.search_btn.is_displayed())
    36         self.assertTrue(self.search_btn.is_enabled())
    37 
    38     def test_search_text_maxlength(self):
    39         max_length = self.search_text.get_attribute('maxlength')
    40         self.assertEqual('255', max_length)
    41 
    42     def test_search(self):
    43         self.search_text.clear()
    44         self.search_text.send_keys('博客园传神')
    45         self.search_btn.click()
    46 
    47         time.sleep(4)
    48         title = self.driver.title
    49         self.assertEqual(title, u'博客园传神_百度搜索')
    50 
    51     @classmethod
    52     def tearDownClass(cls):
    53         cls.driver.quit()
    54 
    55 if __name__ == '__main__':
    56     unittest.main(verbosity = 3)
    57  
  • 相关阅读:
    canvas 方法参数智能提示
    layui 关闭弹窗,刷新父窗体页面
    UI设计灵感集结地
    Java Poi 读取excel 对所有类型进行处理
    jeecg v3.6.6 excel导入js方法完善
    父、子页面之间页面元素的获取,方法的调用
    ps载入渐变
    ps载入画笔
    做设计常用的素材下载网站
    色彩搭配神器
  • 原文地址:https://www.cnblogs.com/itstu/p/6916279.html
Copyright © 2011-2022 走看看