soapui进行接口自动化和接口数据
一、前期工作及具体测试项的说明
首先在SoapUI里点击文件File,在点击Import Project,选择要导入的.xml文件,点击打开按钮就出现下面的界面,如下图:
点击+号,出现下面的界面,如下图:
在上图中点开TestSuite前面的+号,出现下面的界面,如下图:
上图中出现这些接口,这里主要测试从Signup---resetPassword之间的接口,点开每个接口前面的+号,以Login为例,如下图,出现7条用例,每条用例和excel表格里的用例(设计的接口测试用例)存在一一对应关系,如下图:
这个接口里用到的数据都在下面展示出来了,需要体现在Properties里,如下图:
Properties里的数据可以手动输入,也可以从外面导入文件,上图中的意思就是把这个Properties里的当前值保存到一个文件,可以供其他接口使用,有需要增加的可以手动添加一下Name和Value,具体的添加和删除都有对应的按键供使用
双击其中一条用例如case1,出现下面的界面,如下图:
从上到下四个红框,第一个红框是运行该用例的按钮,运行结果会出现在右边的空白区域,如果要运行一个接口就要双击Test Steps,点击运行,如果要一起运行所有的接口就要双击,点击运行即可看到运行是否成功还是失败,点击第四个红框Header会显示头信息,第二个红框和头信息或第三个红框和头信息构成了case1的用例,点击Assertions出现设置检查点,之前设置过检查点所以显示Assersions(2),表示有两个检查点,如下图:
双击Contains或Contains 1,出现下图的界面,Contains或Contains 1是默认的,可以修改,下图中的Content里可以看到检查点内容,可以设置一个或多个检查点,如图:
至此前期工作准备完毕,剩下的就是往Properties里导入数据,下面的1---17可以看到对应的Properties里的数据
1、Signup接口共用数据
phonenum=18611710000(这个放在数据库里不动,不要清除,保证session一致,phoneUser表里有这个数据,所以case11运行时会报手机号已存在)
code=1000
session=
password=123456
case2phonenum=186117
case3phonenum=1861170000
case4phonenum=186117000000
case6password=12345
case8code=123
case9code=12345
case10code=1234
case12phonenum=18611900000(每次跑之前都要把此手机号从数据库清除)
case13phonenum=186117ababa
case14phonenum=1861170!@#$
case15phonenum=186117000好
case28code=!@#456
case24phonenum=18611900001(每次跑之前都要把此手机号从数据库清除)
case24password=@#$%!*
case25phonenum=18611900002(每次跑之前都要把此手机号从数据库清除)
case25password=abcde8
case26phonenum=18611900003(每次跑之前都要把此手机号从数据库清除)
case26password=12345678
case27phonenum=18611900004(每次跑之前都要把此手机号从数据库清除)
case27password=12345678901234567890qwertyuioplkjhgfdsazxcvbnm]'/.,09
case30phonenum=18611900005(每次跑之前都要把此手机号从数据库清除)
清除手机号时,可以手动清除,也可以通过手动输入如下的命令清除想要注册的手机号,输入db.getCollection('PhoneUser').remove({phoneNo:/119000/})清除手机号
ps: 每次注册时都要把注册的手机号放到smsinfos表里,具体操作是将数据表smsinfos里phoneNo列里的手机号右键点击,选择Edit Document,弹出如下图的界面:
修改红框里的那三行,把想注册的手机号输入到phoneNo那行,data改成1000,expireTime那输入远一点的过期时间,上图中是已配置好的,通过下面的命令查看installationId和registerlogs表里的内容
db.getCollection('registerlogs').find({installationId:"18611700000"})
2、bindband接口用到的数据
bandname=18611710000
address=address
code=1000
pushid=pushid
phonenumber=18611710000
case7code=100000
case8code=1234
case10phonenumber=1861170000
case11phonenumber=1861178927992
case12phonenumber=18611abceds
case13input=@#$() &%^%
case14input=absdfsadfasdgagasdgaabsdfsadfasdgagasdgaabsdfsadfaabsdfsadfasdgagasdgaabsdfsadfasdgagasdgaabsdfsadfa
case13phonenumber=18611700000
case14phonenumber=18611700000
case15code=*()^%$!@
3、login接口用到的数据
phonenum=18611710000
password=123456
case6password=111111
case7password=absdfsadfasdgagasdgaabsdfsadfasdgagasdgaabsdfsadfaabsdfsadfasdgagasdgaabsdfsadfasdgagasdgaabsdfsadfa
case5phonenum=186117000aa
4、getConfig接口用到的数据
session=
name=SmsConstraint
5、updatePushId接口用到的数据
pushid=18611700000
session=r:c4b9e7a65d861cc0cde76b9b82b27671
errorsession=r:33343eab318b376cf13461a49c112345
case7pushid=#^&() @
case8pushid=testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest
6、getBandSettings接口用到的数据
bandname=18611700000
session=r:c4b9e7a65d861cc0cde76b9b82b27671
errorsession=e7a65d861cc0cde76b9b82b27671
phonenumber=18611700000
case5bandname=$%^&*( )
case6bandname=
case7bandname=18611700000aaa
7、getUserProfile接口用到的数据
bandname=18611700000
session=r:c4b9e7a65d861cc0cde76b9b82b27671
errorsession=e7a65d861cc0cde76b9b82b27671
phonenumber=18611700000
case7bandname=18611700000aaa
case7phonenumber=18611700000aaa
case8bandname=
case8phonenumber=
case9bandname=#$%^& ()s
case9phonenumber=#$%^& ()
8、uploadSportData接口用到的数据
bandname=18611700000
session=r:c4b9e7a65d861cc0cde76b9b82b27671
errorsession=e7a65d861cc0cde76b9b82b27671
phonenumber=18611700000
case7bandname=18611700000aaa
case8bandname=
case9bandname=#$%^& ()
9、getAlgSleepData接口用到的数据
bandname=18611700000
session=r:c4b9e7a65d861cc0cde76b9b82b27671
errorsession=e7a65d861cc0cde76b9b82b27671
phonenumber=18611700000
case7bandname=#$%^& ()
case9bandname=18611700000aaa
10、getSportDataOfHour接口用到的数据
bandname=18611700000
session=r:c4b9e7a65d861cc0cde76b9b82b27671
errorsession=e7a65d861cc0cde76b9b82b27671
phonenumber=18611700000
case6bandname=#$%^& ()
case7bandname=18611700000aaa
case8bandname=
11、getSportDataOfDay接口用到的数据
bandname=18611700000
session=r:c4b9e7a65d861cc0cde76b9b82b27671
errorsession=e7a65d861cc0cde76b9b82b27671
phonenumber=18611700000
case7bandname=#$%^& ()
case8bandname=18611700000aaa
12、getBandGuide、getActivity接口用到的数据
bandname=18611700000
session=r:c4b9e7a65d861cc0cde76b9b82b27671
phonenumber=18611700000
13、getSportRating接口用到的数据
bandname=18611700000
session=r:c4b9e7a65d861cc0cde76b9b82b27671
errorsession=e7a65d861cc0cde76b9b82b27671
phonenumber=18611700000
case5bandname=#$%^& ()
case6bandname=18611799999aaa
14、updateBandSettings接口用到的数据
bandname=18611700000
session=r:c4b9e7a65d861cc0cde76b9b82b27671
errorsession=e7a65d861cc0cde76b9b82b27671
phonenumber=18611700000
case6bandname=18611700000aaa
case8bandname=#$%^& ()
15、uploadSleepData接口用到的数据
bandname=18611700000
session=r:c4b9e7a65d861cc0cde76b9b82b27671
errorsession=e7a65d861cc0cde76b9b82b27671
phonenumber=18611700000
case7bandname=18611700000aaa
case8bandname=
case9bandname=#$%^& ()
16、updateUserProfile接口用到的数据
bandname=18611700000
session=r:c4b9e7a65d861cc0cde76b9b82b27671
errorsession=e7a65d861cc0cde76b9b82b27671
phonenumber=18611700000
case6bandname=18611700000aaa
case8bandname=#$%^& ()
case8phonenumber=#$%^& ()
case9height=#$%^& ()
case9realname=012345678998745632100123654789poiuytrewq=-[]\';/.,4012345678998745632100123654789poiuytrewq=-[]\';/.,4
17、resetPassword接口用到的数据
phonenum=18611700000
code=1000
session=
password=123456
case2phonenum=186117
case3phonenum=1861170000
case4phonenum=186117000000
case6password=12345
case8code=123
case9code=12345
case10code=1234
case12phonenum=186117ababa
case13phonenum=1861170!@#$
case14phonenum=186117000好
case23phonenum=18611900001
case23password=@#$%!*
case24phonenum=18611900002
case24password=abcde8
case25phonenum=18611900003
case25password=12345678
case26phonenum=18611900004
case26password=12345678901234567890qwertyuioplkjhgfdsazxcvbnm]'/.,09
case27code=!@#456
case29phonenum=18611900005
相关头信息的配置
X-Parse-Application-Id appworld-cibxdl
X-Parse-Client-Key XXXXXX
Content-Type application/json; charset=utf-8
X-Parse-App-Build-Version 5
X-Parse-Installation-Id ${phonenumber}或installid${bandname}
ps: 如果用例里installationid这列有值就要设置,如果用例里installationid这列显示无参数,就要在SoapUI各个接口的每个case里删除installationid这行,如下图:
X-Parse-Session-Token ${session}
ps: session的设置原理和installationid一样,可参照installationid来设置,1---4之间用不到session,如果5之后发生错误就要修改session