HttpRunner3和2的区别挺大,3的底层使用pytest
,2的底层是unittest
.
在兼容json和yaml格式测试用例的前提下,作者更鼓励使用写代码来接入.
具体可以看这篇文章分析对比
入口文件cli.py
概要导图:
详解
命令行驱动的库很容易找到入口地址. 在这个文件内,主要有以下方法:
main()
, 使用argparse
接收用户输入的命令,决定走哪个方法,关键代码
输入httprunner后,接下来的单词:
if sys.argv[1] == "run":
sys.exit(main_run(extra_args))
elif sys.argv[1] == "startproject":
main_scaffold(args)
elif sys.argv[1] == "har2case":
main_har2case(args)
elif sys.argv[1] == "make":
main_make(args.testcase_path)
-
main_run()
方法
首先判断httprunner run xxx
的路径xxx
在系统里是否存在.
然后47行,testcase_path_list = main_make(tests_path_list)
会调用make.py
里的main_make()
方法,把json