1、通过类的实例化(此为狭义的)。
2、通过unittest.main(verbosity=2),这样可以更清楚的执行。
verbosity=2
显示每个用例的详细信息
可以省略,但测试结果不详细
3、仅通过unittest.TextTestRunner()去执行测试脚本。
4、通过三种方式添加测试套件后,执行脚本
addTest
__author__ = 'Administrator'
import unittest
from selenium_day4.testcase.login_testcase import UserLoginTestCase
def TestCase_to_suit_by_addtest():
# 实例化unittest下的testsuit类的对象
testcasesuit = unittest.TestSuite()
# 使用testcasesuit对象调用addtest的方法,将类中的用例一个一个添加到套件中
testcasesuit.addTest(UserLoginTestCase("test_01_login_by_correct_username_password"))
testcasesuit.addTest(UserLoginTestCase("test_02_login_by_correct_username_wrong_password"))
testcasesuit.addTest(UserLoginTestCase("test_03_login_by_wrong_username_correct_password"))
testcasesuit.addTest(UserLoginTestCase("test_04_login_by_correct_username_null_password"))
testcasesuit.addTest(UserLoginTestCase("test_05_login_by_null_username_correct_password"))
testcasesuit.addTest(UserLoginTestCase("test_06_login_button_clickable"))
return testcasesuit
if __name__=="__main__":
# 实例化unittest下的TextTestRunner类的对象
test_runner = unittest.TextTestRunner()
# 获取测试套件
test_suit = TestCase_to_suit_by_addtest()
# 通过test_runner调用run的方法来执行套件
test_runner.run(test_suit)
suite=unittest.TestSuite()
tests=[web(“test1”),web(“test3”),web(“test4”)] #按照填写的顺序执行
suite.addTests(tests)
runner=unittest.TextTestRunner(verbosity=2)
runner.run(suite)
unittest.makeSuite
__author__ = 'Administrator'
import unittest
from selenium_day4.testcase.login_testcase import UserLoginTestCase
def TestCase_to_suit_by_makesuit():
# 调用unittest下的makesuit的方法将类中的用例打包
class_testcase = unittest.makeSuite(UserLoginTestCase)
# 调用unittest下的testsuit的方法获取套件并将打包好的用例添加到套件中
test_suit = unittest.TestSuite(class_testcase)
return test_suit
if __name__ == "__main__":
test_runner = unittest.TextTestRunner()
test_suit = TestCase_to_suit_by_makesuit()
test_runner.run(test_suit)
unittest.defaultTestLoader.discover
__author__ = 'Administrator'
import unittest
def TestCase_to_suit_by_discover():
# 确定用例存放的路径
testcase_path = "D:\\zhaojia\\selenium\\selenium_105\\selenium_study\\selenium_day4\\testcase\\"
# 调用unittest下的defaultTestLoader方法下的discover方法,来获取测试用例并添加到测试套件中
test_suit = unittest.defaultTestLoader.discover(testcase_path,pattern="*.py")
return test_suit
if __name__=="__main__":
test_runner = unittest.TextTestRunner()
test_suit = TestCase_to_suit_by_discover()
test_runner.run(test_suit)
__author__ = 'Administrator'
import sys
sys.path.append("D:\\zhaojia\\selenium\\selenium_105\\selenium_study")
import HTMLTestRunner #网上有很多HTMLTestRunner包,都是自己写的,风格不同
from selenium_day4.testsuit.discover import TestCase_to_suit_by_discover
from selenium_day3.shijianchuo.def_shijianchuo import shijianchuo
# 确定测试报告存放的路径、名字、格式
HTMLfile = "D:\\zhaojia\\selenium\\selenium_105\\selenium_study\\report\\HTMLreport" + shijianchuo() + ".html"
# 打开文件并准备写入
htmlreport_file = open(HTMLfile,"wb") # wb表示二进制的方式打开并写入
# 获取测试套件,获取执行的用例
test_suit = TestCase_to_suit_by_discover()
# 实例化HTMLTestRunner下的HTMLTestRunner对象,需要配置参数,写清楚报告的标题、描述内容
htmlrunner = HTMLTestRunner.HTMLTestRunner(stream=htmlreport_file,title="OA测试报告",description="共计8条用例,执行结果如下:")
# 使用runner的对象来调用run的方法,执行测试套件
htmlrunner.run(test_suit)
# 关闭文件
htmlreport_file.close()