找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手

UI自动化封装及测试报告输出

[复制链接]
                # 把bbs论坛 自动化的代码进行封装# from selenium import webdriver# from time import sleep# class Bbs:#     def __init__(self):     #创建一个构造函数#         self.driver =webdriver.Chrome()#         self.driver.get('http://192.168.202.145/bbs/forum.php')#         self.driver.maximize_window()#         self.driver.implicitly_wait(10)##     def login(self):        #定义一个实例方法#         self.driver.find_element_by_id('ls_username').send_keys('admin')#         self.driver.find_element_by_id('ls_password').send_keys('654321')#         self.driver.find_element_by_css_selector('.pn').click()##     def mange_center(self):     #封装一个管理中心#         self.driver.find_element_by_link_text('管理中心').click()# if __name__ == '__main__':#     b = Bbs()        #创建对象  b  来引用类,及调用实例方法#     b.login()# unittest框架介绍# import unittest## class Test(unittest.TestCase):##     @classmethod#     def setUpClass(cls) -> None:#         print('类开始')##     @classmethod#     def tearDownClass(cls) -> None:#         print('类结束')##     def setUp(self) -> None:#         print('方法开始')##     def tearDown(self) -> None:#         print('方法结束')##     def test_002(self):#         print(222)##     def test_001(self):#         print(111)##     def test_a(self):#         print(333)##     def testA(self):#         print(444)##     def care(self):#         print(555)## if __name__ == '__main__':#     unittest.main()     #运行unittest单元测试框架里面的所有代码,函数的入口# 1、在unittest框架里面写的用例名称必须以  test  开头# 2、用例运行顺序执行ASCII码 0-9,A-Z,a-z# 3、方法开始和方法结束在每个用例运行之前和结束都会运行一次# 4、类开始和类结束在所有用例运行前和后  只运行一次# 自动化测试用例运行方法,及测试报告输出# 第一种import unittestfrom selenium import webdriverfrom time import sleepfrom lesson1.HTMLTestRunner3_New import HTMLTestRunnerclass Test_baidu(unittest.TestCase):    def setUp(self):        self.driver = webdriver.Chrome()        self.driver.get('https://www.baidu.com')        self.driver.maximize_window()        self.driver.implicitly_wait(10)            def tearDown(self):        sleep(3)        self.driver.quit()    def test001(self):        self.driver.find_element_by_id('kw').send_keys('selenium')    def test002(self):        self.driver.find_element_by_id('kw').send_keys('python')# def all_case():    '''封装一个套件,套件就是用来装用例的,想当于是一个容器'''    # suite = unittest.TestSuite()    #创建一个suite对象,用来添加需要运行的用例    # suite.addTest(Test_baidu('test001'))      #把test001这条用例添加到套件里    # suite.addTest(Test_baidu('test002'))    # suite.addTests([Test_baidu('test001'),Test_baidu('test002')])    # return suiteif __name__ == '__main__':    '''第一种方法,运行了上面封装的所有用例'''    # unittest.main()    '''第二种方法(运行了套件里面添加的部分用例)'''    # runner = unittest.TextTestRunner()      #穿件一个对象来运行用例方法    # runner.run(all_case())      #运行上面定义的套件里面的用例# 第三种方法:通过模糊匹配用例运行    start_dir = r'D:\project\dcs8\lesson1'    #模糊匹配lesson1这个目录下面需要运行的用例    discover = unittest.defaultTestLoader.discover(start_dir=start_dir,pattern='ui_*.py')    # print(discover)   #   打印出来显示运行到的那些用例    filename = r'D:\project\dcs8\lesson1' + '\\' +'_ui_report.html'    # print(filename)   #打印出来文件的绝对路径   'D:\project\dcs8\lesson1\_ui_report.html    f = open(filename,'wb')     #wb是用二进制的方法去写入到filename这个文件里    runner = HTMLTestRunner(stream=f,                            title='UI自动化报告',                            description='用例执行如下',                            tester='毛家林')        # 生成测试报告的固定写法    runner.run(discover)    #运行模糊匹配出来的用例    f.close()       #关闭文件对象                  

分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册