# ApiTestTools_Python **Repository Path**: xiaobotester/ApiTestTools_Python ## Basic Information - **Project Name**: ApiTestTools_Python - **Description**: 基于python的接口自动化测试,在excel里面写用例 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2019-01-05 - **Last Updated**: 2023-08-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 环境 > 环境:python + requests + jsonpath + HTMLTestRunner > > ## 运行 1. 直接在代码目录下打开命令行。执行python run.py excel用例文件名 即可(不传文件名时,默认执行testcases下的template的excel文件)。 ## 执行报告查看 1. HtmlRunnerRunner执行可视化报告:${workspace}/report/Api Test Report日期.html ## api-config.xml配置 > 可以配置一些全局变量。 - rootUrl: 可选的配置,配置全局的url - params: 非必须配置,公共参数,通常放置初始化配置数据,所有用例执行前,会将params下所有的param配置进行读取并存储到公共参数池中,在用例执行时,使用特定的关键字(${param_name})可以获取。具体使用请参考下面的高级用法。 ## api用例(testcases/template.xlsx) > api请求用例具体数据。除表头外,一行代表一个api用例。执行时会依次从上到下执行。 - isvalid: 标记为‘是’时,该行数据会被读取执行。 - case_name: 该用例标题,在报告中提现。 - method: 该api测试用例的请求方法(暂只支持get,post)。 - url: 该api测试用例的请求路径。 - assert_msg: 响应结果断言。 - save: 1.当method为save时,可将save列设置变量保存到全局变量中 2.使用jsonPath对response的数据进行提取存储。 - 说明: 1. 若save值为:“id=$.userId;age=$.age”,接口实际返回内容为:“{"username":"chenwx","userId":"1000","age":"18"}”,则接口执行完成后,会将公共参数id的值存储为1000,age存储为18。公共参数可在后面的用例中进行使用。具体使用方法见下方高级用法。 ## 高级用法 > 测试用例excel表中可以使用‘${param_name}’占位符,在执行过程中如果判断含有占位符,则会将该值替换为公共参数里面的值,如果找不到将会报错。如: ``` //配置文件(api-config.xml)中params配置为: //A用例执行返回为 {"username":"chenwx","userId":"1000","age":"18"} //A用例的save值为: username=$.username;id=$.userId //此时若B用例中param值填写为: {"key":"apikey","userId":"${id}","username":"${username}"} //实际执行时会替换为: {"key":"123456","userId":"1000","username":"username"} ```