zoukankan      html  css  js  c++  java
  • 调用test case集,并生成测试报告

    结构是

    python_unit结构

    test_all.py  进行配置,执行所有测试用例集,并合并测试报告到同一个文件
    #test_all.py  进行配置,执行所有测试用例集
    # coding = utf-8
    
    from time import sleep
    from selenium import webdriver
    from test01 import project as T1
    from test02 import project as T2
    #from test.test222 import projectClass
    from selenium.webdriver.support.ui import WebDriverWait  
    from selenium.webdriver.support.ui import Select
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC  
    import unittest,time,os,logging,HTMLTestRunner,sys
    
    #class ptestlist(unittest.TestSuite):
    class ptestlist(unittest.TestSuite):
        def test_module():
            suite1 = T1.suite
            suite2 = T2.suite
            alltests = unittest.TestSuite((suite1, suite2))
            return alltests
    
        suite = test_module()
    
        filetime=time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))
        filetestname=sys.argv[0][sys.argv[0].rfind(os.sep)+1:].split('.py')[0]
        filename=os.path.join(os.getcwd()+'/log/'+filetime+'-'+filetestname+'.html')
        f=open(filename,encoding='utf-8',mode='a')
    
        runner = HTMLTestRunner.HTMLTestRunner(
            stream=f,
            #title='Test Result/测试结果',
            title=filetestname+'--测试结果--',
            description=filetestname+'--测试报告--',
            verbosity=2)
        runner.run(suite)
    test01.py  测试用例集1,也可以单独进行测试并生成测试报告
    # test01.py  测试用例集1,也可以单独进行测试并生成测试报告
    # coding = utf-8
    
    from time import sleep
    from selenium import webdriver
    from selenium.webdriver.support.ui import WebDriverWait  
    from selenium.webdriver.support.ui import Select
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC  
    import unittest,time,os,HTMLTestRunner,sys
    
    class projectTestSuite(unittest.TestSuite):
        def __init__(self):
        # 初始化,添加__init__以供调用,另在此添加所想测试的case形成测试集提供给suite
            unittest.TestSuite.__init__(self,map(projectClass,("test01OK","test02Search")))
        # 如果用于测试的类中所有的测试方法都以test开,可以用PyUnit模块提供的makeSuite()方法来构造一个TestSuite
        # return unittest.makeSuite(projectClass, "test")
    
    class projectClass(unittest.TestCase):
        def setUp(self):
            "just for setUp"
            print("start test projectClass")
            self.driver= webdriver.Chrome()
            self.driver.get("http://www.baidu.com")
    
        def test01OK(self):
            "test01:测试登录"
            driver = self.driver
            driver.find_element_by_link_text("登录").click()
            driver.find_element_by_id("TANGRAM__PSP_8__userName").send_keys("小泠哦")
            driver.find_element_by_id("TANGRAM__PSP_8__password").send_keys("900617poppyp")
            driver.find_element_by_id("TANGRAM__PSP_8__submit").click()
            sleep(3)
            a = driver.find_element_by_name("tj_home").get_attribute("text")
            if a == "小泠哦":
                print("the admin is 小泠哦")
            else:print("the admin is false")
            sleep(3)
            driver.find_element_by_name("tj_logout").click()
            b = driver.find_element_by_name("lb").get_attribute("text")
            if b == "登录":
                print("It's exist")
            else:print("No exist")
    
        def test02Search(self):
            "test02:测试搜索"
            driver = self.driver
            driver.find_element_by_id("kw1").send_keys("ETAH")
            driver.find_element_by_id("su1").click()
            sleep(3)
            link1 = driver.find_element_by_id("1")
            linktxt = link1.find_element_by_tag_name("a").get_attribute("text")
            print(linktxt)
    
        def tearDown(self):
            driver = self.driver
            driver.quit()
    
    class project():
        def suite():
            return projectTestSuite()
        suite = suite()
    
    if __name__ == "__main__":
        filetime=time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))
        filetestname=sys.argv[0][sys.argv[0].rfind(os.sep)+1:].split('.py')[0]
        filename=os.path.join(os.getcwd()+'/log/'+filetime+'-'+filetestname+'.html')
        #filename='G:/Auto Test/test/log/log.html'
        f=open(filename,encoding='utf-8',mode='a')
        
        runner = HTMLTestRunner.HTMLTestRunner(
            stream=f,
            #title='Test Result/测试结果',
            title=filetestname+'--测试结果--',
            description=filetestname+'--测试报告--',
            verbosity=2)
    
        runner.run(project.suite)
    # test02.py  测试用例集2,也可以单独进行测试并生成测试报告
    # coding = utf-8
    
    from time import sleep
    from selenium import webdriver
    from selenium.webdriver.support.ui import WebDriverWait  
    from selenium.webdriver.support.ui import Select
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC  
    import unittest,time,os,HTMLTestRunner,sys
    
    class projectTestSuite(unittest.TestSuite):
        def __init__(self):
            unittest.TestSuite.__init__(self,map(projectClass,(
                "test03News",
                #"test04Search",
                "test05Fail"
                )))
    
    class projectClass(unittest.TestCase):
        def setUp(self):
            "just for setUp"
            print("start test projectClass")
            self.driver= webdriver.Chrome()
            self.driver.get("http://www.baidu.com")
    
        def test03News(self):
            "test03:测试新闻"
            driver = self.driver
            driver.find_element_by_link_text("新 闻").click()
            driver.find_element_by_link_text("互联网").click()
            new = driver.find_element_by_id("body")
            news = new.find_elements_by_tag_name("a")
            for element in news:
                if element.get_attribute("class") =="a3":
                    return element.get_attribute("text")
    
        def test04Search(self):
            "test04:测试搜索"
            driver = self.driver
            driver.find_element_by_id("kw1").send_keys("东信同邦")
            driver.find_element_by_id("su1").click()
            sleep(3)
            link1 = driver.find_element_by_id("1")
            linktxt = link1.find_element_by_tag_name("a").get_attribute("text")
            print(linktxt)
    
        def test05Fail(self):
            "test05:尝试制造fail"
            driver = self.driver
            A = driver.find_element_by_id("cp").get_attribute("text")
            print("A is:",A)
            self.assertEqual(A, "音乐")
    
        def tearDown(self):
            driver = self.driver
            driver.quit()
    
    class project():
        def suite():
            return projectTestSuite()
        suite = suite()
    
    if __name__ == "__main__":
        filetime=time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))
        filetestname=sys.argv[0][sys.argv[0].rfind(os.sep)+1:].split('.py')[0]
        filename=os.path.join(os.getcwd()+'/log/'+filetime+'-'+filetestname+'.html')
        #filename='G:/Auto Test/test/log/log.html'
        f=open(filename,encoding='utf-8',mode='a')
    
        runner = HTMLTestRunner.HTMLTestRunner(
            stream=f,
            #title='Test Result/测试结果',
            title=filetestname+'--测试结果--',
            description=filetestname+'--测试报告--',
            verbosity=2)
    
        runner.run(project.suite)
    test02.py  测试用例集2,也可以单独进行测试并生成测试报告
    # test02.py  测试用例集2,也可以单独进行测试并生成测试报告
    # coding = utf-8
    
    from time import sleep
    from selenium import webdriver
    from selenium.webdriver.support.ui import WebDriverWait  
    from selenium.webdriver.support.ui import Select
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC  
    import unittest,time,os,HTMLTestRunner,sys
    
    class projectTestSuite(unittest.TestSuite):
        def __init__(self):
            unittest.TestSuite.__init__(self,map(projectClass,(
                "test03News",
                #"test04Search",
                "test05Fail"
                )))
    
    class projectClass(unittest.TestCase):
        def setUp(self):
            "just for setUp"
            print("start test projectClass")
            self.driver= webdriver.Chrome()
            self.driver.get("http://www.baidu.com")
    
        def test03News(self):
            "test03:测试新闻"
            driver = self.driver
            driver.find_element_by_link_text("新 闻").click()
            driver.find_element_by_link_text("互联网").click()
            new = driver.find_element_by_id("body")
            news = new.find_elements_by_tag_name("a")
            for element in news:
                if element.get_attribute("class") =="a3":
                    return element.get_attribute("text")
    
        def test04Search(self):
            "test04:测试搜索"
            driver = self.driver
            driver.find_element_by_id("kw1").send_keys("东信同邦")
            driver.find_element_by_id("su1").click()
            sleep(3)
            link1 = driver.find_element_by_id("1")
            linktxt = link1.find_element_by_tag_name("a").get_attribute("text")
            print(linktxt)
    
        def test05Fail(self):
            "test05:尝试制造fail"
            driver = self.driver
            A = driver.find_element_by_id("cp").get_attribute("text")
            print("A is:",A)
            self.assertEqual(A, "音乐")
    
        def tearDown(self):
            driver = self.driver
            driver.quit()
    
    class project():
        def suite():
            return projectTestSuite()
        suite = suite()
    
    if __name__ == "__main__":
        filetime=time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))
        filetestname=sys.argv[0][sys.argv[0].rfind(os.sep)+1:].split('.py')[0]
        filename=os.path.join(os.getcwd()+'/log/'+filetime+'-'+filetestname+'.html')
        #filename='G:/Auto Test/test/log/log.html'
        f=open(filename,encoding='utf-8',mode='a')
    
        runner = HTMLTestRunner.HTMLTestRunner(
            stream=f,
            #title='Test Result/测试结果',
            title=filetestname+'--测试结果--',
            description=filetestname+'--测试报告--',
            verbosity=2)
    
        runner.run(project.suite)



  • 相关阅读:
    9、搜索 :ion-searchbar
    8、列表:ion-list
    uwp 的work project 的 取消闹钟
    long ? 的使用和理解
    uwp 中的音频开发
    uwp 之语音朗读
    uwp 语音指令
    C# 泛型(Generic)
    C# 排序列表(SortedList)
    C# 反射(Reflection)
  • 原文地址:https://www.cnblogs.com/poppyp/p/3640724.html
Copyright © 2011-2022 走看看