6. 测试用例编写
6.1 测试接口有哪些?
找到自己项目的测试接口,比如我的测试接口如下所示,
6.2 测试API有哪些?
获取相应接口公开的方法,通过第三方库suds提供的Client(界面名称,doctor=命名空间)方法获取,比如获取‘小玲珑’项目的所有方法信息及输入输出参数类型。
接口对应方法信息如下
接口方法的输入输出参数类型如下
6.3 测试参数有哪些?
获取接口对方对应输入类型,得到输入参数类型后可以构造输入参数,传入正确参数类型才能正确发送请求,通过client.factory.create(方法名称)来获取参数,比如AddModInfo的输入参数如下,此参数在方法调用时转为AddModInfo(xs:stringstationCode, ns1:TB_PDP_ModInfo modInfo)
StationCode需要转为string stationCode
(TB_PDP_ModInfo){
Height = None
ID = None
InXml = None
Name = None
ScreenTypeID = None
UseTime = None
Width = None
Xml = None
}
需要转为TB_PDP_ModInfo modInfo
6.4 如何验证返回值?
验证接口方法的返回值是否同预期的一致,方法调用结果返回的类型有普通类型、对象类型
a) 关于普通类型的预期值我们可以在excel中直接通过expect_res列写入,比如AddModInfo方法的返回值在excel中为
代码中验证可通过python的单元测试框架unittest方法验证
self.assertEqual( row_case_data['expect_res'],result)
b) 对象类型的验证,需要代码构造返回对象类型,通过数据库查询方式得到数据库的值,最后将数据库值与实际返回对象的属性值进行比较
TB_PIS_SubjectInfo().assert_equal_sql(get_db(test_Get_SubjectInfo_ByScreenID_valid_param),result)
第一步:get_db(test_Get_SubjectInfo_ByScreenID_valid_param)获取数据库值
第二步:TB_PIS_SubjectInfo()构造返回值对象
第三步:assert_equal_sql比较二者值是否一致
6.5 添加我的第一个测试用例?
本文以添加一个导向接口用例进行展开,添加测试类TestAddModSoureRelation
(一) 通过上述方式获取方法名和方法参数,获取测试方法AddModSoureRelation的入参
(二 )添加导向接口文件夹在testcase\case\路径下,添加目录IPISSService
(三)添加测试文件及测试数据文件
添加测试文件test_Add_Mod_Source_Relation.py 及在data\IPISSService\文件下新建数据文件test_Add_Mod_Source_Relation.xls
(四) 填入excel测试数据