ReadyAPI 上手比较快,因为很多功能都是现成的,直接点点就可以了:
1. 右键就可以直接获取了。
比如可以直接在response->outline 里面选择要assert 的值,右键 插入不同类型的assert
也可以在script 或者request输出入框右键getdata 选择你想要获取的值
2. 可以利用custom properties 进行值的传递
def newValue = new JsonBuilder(map).toPrettyString()
testRunner.testCase.setPropertyValue("value", newValue)
3. 可以在groovy script 里面串case
4. 设置tag 可以在Jenkins控制跑哪些suite :-T"TestSuite %TestSuiteTags%"
cd %WORKSPACE%
cmd /c call "%READYAPI_PRO_230%\bin\testrunner.bat" -r -T"TestSuite %TestSuiteTags%" -r -E"%TestEnvironment%" -a -j -f"%WORKSPACE%\result-output" -R"TestSuite Report" -FHTML -I "%WORKSPACE%/***API" -PTestType="%TestType%"
5. 设置composite project 为true 也可以实现多人编辑
5. 对于request to large的 readyAPI是支持的。 在Media Type 选 multipart/form-data 并√上Post QueryString
放弃readyAPI 选 restAssured 的原因是:
1. readyAPI 当request 比较大返回比较久的时候,比如超过1个小时,有时候会莫名其名看不到任何返回。 而且比较耗时。
2. 在测试save的API 时候,对于网页上的api save 是调用get 去获取到当前的数据,然后对需要修改的数据点进行编辑在提交,提交完后需要在次获取数据去验证。 这个在readyAPI写代码的话,不是那么方便,特别是调试的时候。
3. 出错返回比较直观,调试容易
********************************* rest Assured **********************
1. 当respone 返回的数据包含了 NaN 字段使用io.restassured.path.json.JsonPath 会报错,可以先replace with other 然后使用
JSONObject 来处理。