举例如何使用Python unittest 模块进行接口测试
使用场景:
对某个接口或者功能进行各种数据输入的测试。
如: 不同账号、密码组合的登录测试; 不同查询条件组合的查询测试。
测试工具:
Python 的unittest 模块。
例子:
demo 测试所使用的接口:
http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=USDCNY=x
这个接口用以进行不同汇率直接的汇率转换查询。其中红色部分为我们测试的参数输入组合。USDCNY表示查询USD到CNY 的汇率。
接口发起方式:需要使用 http 的get 方法。
数据返回:
"USDCNY=x",6.7192,"8/4/2017","5:01am" ,包括对应的汇率值、最新更新日期、时间等。
测试目的:
对于币种A 和B ,分别以 A-B 和 B-A 的格式进行查询,判断返回的汇率之积是否等于1.
输入多个不同的币种组合,测试是否都能符合这个条件。
思路分析:
1. 首先需要将以上的接口调用进行封装,输入参数分别是 fromCurrency, toCurrency 。经过文本拼接、替换后调用 http get 请求进行查询,并在查询结果中获取对应的汇率值,返回。
根据以上分析,分别编写发送http 请求的 sendRequest方法,和查询汇率的search 方法:
经过调试,以上方法可正常调用并返回对应结果,开始进行下一步处理。
2. 引入单元测试:
新建一个单元测试类。其中包括三类方法:
2.1 setup:通用的开始方法,可以把每个用例都需要用到的前置步骤放到这里,如通用的登录步骤。
2.2 tearDown:通用的结束方法,可以把每个用例都需要用到的后置步骤放到这里,如关闭浏览器等。
2.3 具体的测试方法:方法名需要以 test 开头。根据测试的需要,可以添加多个不同的测试方法,来测试不同的数据组合。
光标放在test1,右键选择 run- unittest test1. 测试 test1 方法是否成功。
3. 根据不同的数据组合,添加其他的测试类。
至此整个测试脚本就编写好了。
demo 代码地址:https://github.com/jerrylizilong/jerry-demo
转载于:https://my.oschina.net/u/1447352/blog/1502706