zoukankan      html  css  js  c++  java
  • 多测师讲解python _unttest框架002(结合项目实战)_高级讲师肖sir

    第一种调用方法:

    if __name__ == '__main__':
    # #第一种运行方法:运行所有的用例


    import unittest
    from selenium import webdriver
    from time import sleep
    #from ui_auto.HTMLTestRunnerCN import HTMLTestRunner #导入HTMLTestRunner类==》用来生成测试报告的
    import time

    class Test_Baidu(unittest.TestCase):

    def setUp(self): #方法开始
    self.driver = webdriver.Chrome()
    self.driver.get('http://www.baidu.com')
    self.driver.implicitly_wait(20)

    def test001(self): #一条用例
    self.driver.find_element_by_id('kw').send_keys('duoceshi')
    self.driver.find_element_by_id('su').click()

    def test002(self): #一条用例
    self.driver.find_element_by_id('kw').send_keys('selenium')
    self.driver.find_element_by_id('su').click()
    title = self.driver.title
    self.assertEqual(title,u'百度一下,你就知道')
    self.assertIn(title,u'百度一下,你就知道')
    self.assertNotEqual(title,u'百度一下,你就知道123')

    def tearDown(self): # 方法结束 注意和位置没有关系的
    sleep(3)
    self.driver.close()
    if __name__ == '__main__':
    # #第一种运行方法:运行所有的用例
    unittest.main()



    第二种运行方法:可以选择运行用例

    
    
    #     # runner = unittest.TextTestRunner()
    # #可以先定义一个普通函数
    # # def all_case():
    # # suite = unittest.TestSuite() #创建一个套件、或者说一个容器、作用就是用来装所有的用例suite是一个对象
    # # # suite.addTest(Test_Baidu('test001')) #把用例添加到套件里面
    # # # suite.addTest(Test_Baidu('test002'))
    # # suite.addTests([Test_Baidu('test001'),Test_Baidu('test002')])
    # # return suite #把装满了用例的suite套件返回给到函数的调用处

     

    import unittest
    from selenium import webdriver
    from time import sleep
    #from ui_auto.HTMLTestRunnerCN import HTMLTestRunner #导入HTMLTestRunner类==》用来生成测试报告的
    import time

    class Test_Baidu(unittest.TestCase):

    def setUp(self): #方法开始
    self.driver = webdriver.Chrome()
    self.driver.get('http://www.baidu.com')
    self.driver.implicitly_wait(20)

    def test001(self): #一条用例
    self.driver.find_element_by_id('kw').send_keys('duoceshi')
    self.driver.find_element_by_id('su').click()

    def test002(self): #一条用例
    self.driver.find_element_by_id('kw').send_keys('selenium')
    self.driver.find_element_by_id('su').click()
    title = self.driver.title
    self.assertEqual(title,u'百度一下,你就知道')
    self.assertIn(title,u'百度一下,你就知道')
    self.assertNotEqual(title,u'百度一下,你就知道123')

    def tearDown(self): # 方法结束 注意和位置没有关系的
    sleep(3)
    self.driver.close()
    #
    # #定义一个普通函数
    # # def all_case(): #一个套件中的测试用例
    # # suite = unittest.TestSuite() #创建一个套件、或者说一个容器、作用就是用来装所有的用例suite是一个对象
    # # # suite.addTest(Test_Baidu('test001')) #把用例添加到套件里面
    # # # suite.addTest(Test_Baidu('test002'))
    # # suite.addTests([Test_Baidu('test001'),Test_Baidu('test002')])
    # # return suite #把装满了用例的suite套件返回给到函数的调用处

     第三种调用方法:自动搜索用例

    第四种方法:

    
    
    start_dir = r'D:projectdcs2ui_auto'
    discover = unittest.defaultTestLoader.discover(start_dir=start_dir, pattern='less*.py') #中间* 是通配符
    #1.定义生成的测试报告的名称
    path = r'C:UsersAdministratorPycharmProjectsuntitledpython+selenium'
    now = time.strftime('%Y-%m-%d-%H-%M-%S')
    filename = path + "\" +str(now) + '_ui.html'
    f = open(filename,'wb') #以二进制的方式在...ui.html文件中写入报告模板和测试结果
    runner = HTMLTestRunner(stream=f,
    title=u'百度ui自动化测试报告',
    description=u'用例执行情况如下:',
    tester=u'王sir')
    runner.run(discover)
    f.close() #释放资源、关闭文件

    表示全部运行成功,但是没有报告

     

    生成报告的流程:

  • 相关阅读:
    自己写的DBHelper感慨颇深
    23种设计模式:观察者模式,第一次对观察者模式理解的这么通透。
    自己用心写的 存储过程分页 给自己的平台用
    开篇成长的开始[废话一把]
    C# 中i++在ref参数调用下的有趣现象
    点点滴滴的成长[2011111]:理解C#修饰符
    点点滴滴的成长[2011114]:自定义config文件
    扩展方法在Json字符串转化中的应用
    jquery学习二:jquery性能优化
    javascript系列1:函数
  • 原文地址:https://www.cnblogs.com/xiaolehua/p/13742783.html
Copyright © 2011-2022 走看看