Python+Selenium框架设计篇之8-unittest执行脚本方法之addTest
2017-04-22 16:36
971 查看
本文开始介绍如何通过unittest来管理和执行测试用例,这一篇介绍unittest下addTest()方法来加载测试用例到测试套件中去。为了演示效果,我在前面文章的脚本基础上,新建了一个测试脚本,这个测试脚本有一个测试用例,加上前面的测试脚本,一共就是三个测试用例,前面那个测试类里面包括两个测试用例。
新建的测试脚本,test_get_page_title.py代码如下:
# coding = utf-8
import unittest
from framework.browser_engine import BrowserEngine
from pageobjects.baidu_homepage import HomePage
class GetPageTitle(unittest.TestCase):
@classmethod
def setUpClass(cls):
browser = BrowserEngine(cls)
cls.driver = browser.open_browser(cls)
@classmethod
def tearDownClass(cls):
cls.driver.quit()
def test_get_title(self):
homepage = HomePage(self.driver)
print (homepage.get_page_title()) 今天来学习下,如果加载这两个测试类文件里面的3个测试脚本。在unittest下有一个管理测试套件的叫TestSuit(),我们要使用这个测试套件,需要先初始化一个suite实例,然后这个实例有一个addTest()的方法,可以加载不同类里面的不同测试函数,格式这样的 addTest(测试类的类名(‘测试函数名称,就是test开头的函数’)),我们在testsuites这个包下新建一个TestRunner.py文件用来管理我们的用例启动方式。
来看看这个TestRunner.py的内容
# coding = utf-8
import unittest
import testsuites
from testsuites.test_baidu_search import BaiduSearch
from testsuites.test_get_page_title import GetPageTitle
suite = unittest.TestSuite()
suite.addTest(BaiduSearch('test_baidu_search'))
suite.addTest(BaiduSearch('test_search2'))
suite.addTest(GetPageTitle('test_get_title'))
if __name__=='__main__':
#执行用例
runner=unittest.TextTestRunner()
runner.run(suite)运行这个TestRunner.py,会在Pycharm的控制台输出类似这样结果:
----------------------------------------------------------------------
Ran 3 tests in 28.065s
OK
Process finished with exit code 0
这个方法有没有局限性呢?当然有,加入你有几百个测试类,你是不是也一直这样手动去添加?有没有其他更好的方法去加载我们的测试脚本,关于这个问题,请看下一篇文章。
新建的测试脚本,test_get_page_title.py代码如下:
# coding = utf-8
import unittest
from framework.browser_engine import BrowserEngine
from pageobjects.baidu_homepage import HomePage
class GetPageTitle(unittest.TestCase):
@classmethod
def setUpClass(cls):
browser = BrowserEngine(cls)
cls.driver = browser.open_browser(cls)
@classmethod
def tearDownClass(cls):
cls.driver.quit()
def test_get_title(self):
homepage = HomePage(self.driver)
print (homepage.get_page_title()) 今天来学习下,如果加载这两个测试类文件里面的3个测试脚本。在unittest下有一个管理测试套件的叫TestSuit(),我们要使用这个测试套件,需要先初始化一个suite实例,然后这个实例有一个addTest()的方法,可以加载不同类里面的不同测试函数,格式这样的 addTest(测试类的类名(‘测试函数名称,就是test开头的函数’)),我们在testsuites这个包下新建一个TestRunner.py文件用来管理我们的用例启动方式。
来看看这个TestRunner.py的内容
# coding = utf-8
import unittest
import testsuites
from testsuites.test_baidu_search import BaiduSearch
from testsuites.test_get_page_title import GetPageTitle
suite = unittest.TestSuite()
suite.addTest(BaiduSearch('test_baidu_search'))
suite.addTest(BaiduSearch('test_search2'))
suite.addTest(GetPageTitle('test_get_title'))
if __name__=='__main__':
#执行用例
runner=unittest.TextTestRunner()
runner.run(suite)运行这个TestRunner.py,会在Pycharm的控制台输出类似这样结果:
----------------------------------------------------------------------
Ran 3 tests in 28.065s
OK
Process finished with exit code 0
这个方法有没有局限性呢?当然有,加入你有几百个测试类,你是不是也一直这样手动去添加?有没有其他更好的方法去加载我们的测试脚本,关于这个问题,请看下一篇文章。
相关文章推荐
- Python+Selenium框架设计篇之10-unittest执行脚本方法之discover()方法
- Python+Selenium框架设计篇之9-unittest执行脚本方法之makeSuite()
- Python+Selenium框架-unittest执行脚本方法之addTest
- Python+selenium+unittest的GUI自动化框架实现
- python3.5+selenium3.4自动化测试10_selenium框架2.0-unittest(下)
- Python之使用unittest框架和HTMLTestRunner.py文件实现多个测试用例执行与测试报告生成
- selenium---unittest框架测试用例函数执行顺序 优先级
- Selenium with Python 010 - unittest 框架(又称PyUnit 框架)
- python unittest框架中addCleanup函数详解
- Selenium学习笔记之004:使用Selenium IDE录制脚本并分析unittest框架
- selenium-webdriver(python) (十六) --unittest 框架
- selenium-webdriver(python) (十六) --unittest 框架
- selenium---unittest框架测试用例函数执行顺序 优先级
- Python单元测试框架unittest使用方法讲解
- python 例子2: 利用 unittest 实现自动加载并执行它定义的方法
- Selenium-Webdriver(python) (六) --- Unittest框架分析
- selenium---unittest框架测试用例函数执行顺序 优先级
- Python单元测试框架unittest使用方法讲解
- python3.5+selenium3.4自动化测试9_selenium框架2.0-unittest(上)