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()是执行用例的路径,具体要根据实际进行拼接

posted @ 2022-04-16 11:36  小侠う  阅读(321)  评论(0编辑  收藏  举报