zoukankan      html  css  js  c++  java
  • python3.6+selenium_Testsuits测试套件

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time : 2018/11/23 11:23
    # @File : unittest_test2_2.py
    
    '''Testsuits测试套件'''
    import unittest
    from selenium import webdriver
    from selenium.common.exceptions import NoSuchElementException
    from selenium.webdriver.common.by import By
    
    #from __builtin__ import classmethod
    
    class HomePageTest(unittest.TestCase):
        @classmethod
        def setUpClass(cls):
            cls.driver = webdriver.Chrome()
            cls.driver.implicitly_wait(30)
            cls.driver.maximize_window()
            cls.driver.get('https://www.baidu.com/?tn=78000241_12_hao_pg')
    
        def test_search_field(self):
            self.assertTrue(self.is_element_present(By.NAME,'wd'))
    
        def test_vip_promo(self):
            vip_promo = self.driver.find_element_by_xpath('//*[@id="u1"]/a[1]')
            self.assertTrue(vip_promo.is_displayed())
            vip_promo.click()
            self.assertEqual(u'百度新闻——全球最大的中文新闻平台',self.driver.title) #如果点击的链接跳转出来的页面
            # 不是在当前页面的话会报错,因为self.driver表示的是当前页面
    
        def test_login(self):
            login = self.driver.find_element_by_css_selector('#u1 > a.lb')
            login.click()
            login.next = self.driver.find_element_by_css_selector('#TANGRAM__PSP_10__qrcode > p.tang-pass-qrcode-title')
            self.assertEqual(u'请使用百度App扫码登录',login.next.text)
            login.close = self.driver.find_element_by_css_selector('#TANGRAM__PSP_4__closeBtn')
            login.close.click()
    
        @classmethod
        def tearDownClass(cls):
            cls.driver.quit()
    
        def is_element_present(self,how,what):
            try:self.driver.find_element(by=how,value=what)
            except NoSuchElementException:
                return False
            return True
    
    if __name__=='__main__':
        unittest.main(verbosity=2)
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time : 2018/11/28 10:42
    # @File : unittest_test2_4.py
    
    '''
    用TestSuite类来定义和执行测试套件,用TestLoader和TextTestRunner来创建和运行测试套件
    把多个测试加到一个测试套件中
    '''
    import unittest
    from unittest_test2_1 import SearchTests
    from unittest_test2_2 import HomePageTest
    
    search_tests = unittest.TestLoader().loadTestsFromTestCase(SearchTests)
    home_page_tests = unittest.TestLoader().loadTestsFromTestCase(HomePageTest)
    
    #创建一个套件联合search_tests,home_page_tests
    smoke_tests = unittest.TestSuite([search_tests,home_page_tests])
    
    #运行套件
    unittest.TextTestRunner(verbosity=2).run(smoke_tests)

    使用@classmethod和setUpClass()方法,tearDownClass()方法可以在类级别初始化数据,多个测试用例可以共享这些初始化数据,创建一个chrome实例

  • 相关阅读:
    vue.js 条件与循环
    vue.js 声明式渲染
    数据库设计范式?
    用户购物车,实现添加商品的功能!
    用户购物车功能的实现。
    初始ajax技术
    SQL语句中 INNER JOIN的用法!
    商城 用户登录、注册、注销,购物车。
    EL和 JSTL? 在JSP中简化 java代码的写法!
    小数点后保留2位小数的正则表达式
  • 原文地址:https://www.cnblogs.com/xiuxiu123456/p/10384189.html
Copyright © 2011-2022 走看看