selenium之unittest执行测试用例的两种方法
框架:unittest+selenium+python
1、命令行方式
执行整个模块:python –m unittest -v 模块名.py
-m参数:以脚本方式运行一个库模块
-v参数 --verbose:显示详情,运行测试案例的时候,显示更多的细节
-f参数 --failfast:在第一个失败或者报错的案例处停止执行
加入 --quiet 参数 等效于 verbosity=0
加入--verbose参数等效于 verbosity=2
什么都不加就是 verbosity=1
PS D:\wuxx\PycharmProjects\pythonProject> python -m unittest -v test_case.py
只执行单个方法:python –m unittest -v 模块名.类名.方法名
2、main方式
执行模块里的所有用例:
if __name__=='__main__':
unittest.main
unittest.main(defaultTest=["shop_login.ShopLogin"],verbosity=1)
verbosity=1
verbosity是一个选项,表示测试结果的信息复杂度,有0、1、2 三个值
0 (静默模式): 你只能获得总的测试用例数和总的结果 比如 总共10个 失败2 成功8
1 (默认模式): 非常类似静默模式 只是在每个成功的用例前面有个“.” 每个失败的用例前面有个 “F”
2 (详细模式):测试结果会显示每个测试用例的所有相关的信息
只运行部分用例使用testsuite:
if __name__=='__main__':
suite= unittest.TestSuite()
suite.addTest(TestLogin("test_01_login"))
suite.addTest(TestBuy("test_02_buy"))
# unittest.main(defaultTest='suite') #和下面的两行代码意义一样,可以去main底层去看
runner = unittest.TextTestRunner()
runner.run(suite)
if __name__=='__main__':
suite= unittest.TestSuite()
#使用用例加载器,省略很多麻烦,如下
testcases = unittest.defaultTestLoader.discover(start_dir=os.getcwd(),pattern='test*.py')
suite.addTest(testcases)
runner = unittest.TextTestRunner()
runner.run(suite)
start_dir=os.getcwd()是执行用例的路径,具体要根据实际进行拼接