API 功能
检索经过身份验证的用户的购买清单。
多数量拍卖可以多次购买。
API - 检索您赢得的物品脚本开发步骤
API规范->业务展示->API测试脚本调试->API测试脚本增强->API测试脚本反向案例扩展->API测试脚本发布
API规范
-
关键请求字段
-
关键响应字段 - 经过身份验证的用户已购买的项目列表。
TotalCount Integer 集合中的结果总数。可以大于返回结果的数量。 Page Integer 当前结果页的索引(从 1 开始)。 PageSize Integer 当前页面中的结果数。 List Collection of or null 当前页面中的结果列表。 ListingId 长整数 商家信息的 ID。 … … … … PurchaseId Integer 标识销售的唯一 ID。 … … … …
更多参考:检索您赢得的物品
-
示例请求
GET https://api.tmsandbox.co.nz/v1/MyTradeMe/Won/All.JSON
-
示例响应 - 获胜列表中的 1 个项目:
{
"TotalCount": 1,
"Page": 1,
"PageSize": 1,
"List": [
{
"ListingId": 2149290179,
"Title": "Samsung Galaxy BV Weaving S9 Case",
"Category": "0344-0899-1135-5537-",
"StartPrice": 0,
...
"ListingGroupId": 73059,
...
"PaymentInfo": "NZ Bank Deposit",
"Price": 12.99,
"SelectedShipping": "rural",
"ShippingPrice": 9.99,
"ShippingType": 4,
...
"PurchaseId": 26176,
...
}
]
}
-
示例响应 - 获胜列表中的 0 项:
{
"TotalCount": 0,
"Page": 1,
"PageSize": 0,
"List": []
}
业务介绍
-
前端页面 - 赢得列表页面 - 有项目
登录 > My Trade Me > Won
-
前端页面 - 获胜列表页面 - 没有项目
-
业务范围选择:
链式投资组合交易
检索您赢得的物品(我在这里) ->从您赢得的物品列表中删除购买 ->常规搜索 ->检索单个列表的详细信息 ->使用“立即购买”购买拍卖
-
业务验证点
检查获胜清单上是否有项目。
API测试脚本调试
-
在 Postman 的 Authorization 标签中选择 OAuth 1.0 对请求进行授权。
OAuth 1.0 是针对发送前需要授权的交易。模板如下:
如何获取Consumer Key、Consumer Secret、OAuth Token、OAuth Token Secret,请参考API测试前的准备demo
-
组装请求 - ‘检索你赢得的物品 '
基于 API 规范,参数 - All表示返回过去 45 天内所有赢得的项目。
所以请求应该是 GET https://api.tmsandbox.co.nz/v1/MyTradeMe/Won/All.JSON
-
API连通性
连通性测试通过并获得响应示例。
{
"TotalCount": 1,
"Page": 1,
"PageSize": 1,
"List": [
{
"ListingId": 2149290179,
"Title": "Samsung Galaxy BV Weaving S9 Case",
"Category": "0344-0899-1135-5537-",
"StartPrice": 0,
"StartDate": "/Date(1625630212963)/",
"EndDate": "/Date(1625648672660)/",
"ListingLength": null,
"AsAt": "/Date(1625649420456)/",
"CategoryPath": "/Mobile-phones/Accessories/Cases-covers/Samsung",
"PictureHref": "https://images.tmsandbox.co.nz/photoserver/thumb/4676325.jpg",
"PhotoId": 4676325,
"Seller": {
"MemberId": 4000334,
"Nickname": "paperclip4",
"DateAddressVerified": "/Date(1338811200000)/",
"DateJoined": "/Date(1338811200000)/",
"Email": "owen4@snipesoft.net.nz",
"UniqueNegative": 0,
"UniquePositive": 3,
"FeedbackCount": 3,
"IsAddressVerified": true
},
"IsNew": true,
"Note": "",
"NoteDate": "/Date(0)/",
"CategoryName": "Samsung",
"ReserveState": 3,
"IsBuyNowOnly": true,
"Quantity": 1,
"IsFlatShippingCharge": true,
"Options": [
{
"Name": "Colour",
"Value": "Blue"
}
],
"ListingGroupId": 73059,
"StatusDate": "/Date(0)/",
"AuctionAttribute": "",
"BuyerFeedbackPlaced": 0,
"SellerFeedbackPlaced": 0,
"DeliveryId": 0,
"FpoDecisionViaMobile": false,
"HasPaidByCreditCard": false,
"InvoiceId": 0,
"OfferId": 0,
"PaymentInfo": "NZ Bank Deposit",
"Price": 12.99,
"SelectedShipping": "rural",
"ShippingPrice": 9.99,
"ShippingType": 4,
"SoldDate": "/Date(1625648672660)/",
"SoldType": "BUYNOW",
"PaymentInstructions": "",
"PurchaseId": 26176,
"ReferenceNumber": "P26176",
"SubtotalPrice": 12.99,
"TotalShippingPrice": 9.99,
"TotalSalePrice": 22.98,
"TrackedParcels": [],
"TaxSubTotal": 0,
"HasPaidByDeferredPayment": false
}
]
}
-
API检查点
检查获胜列表中是否存在项目。
并将赢得的项目 PurchaseId 及其计数存储为两个环境变量:{{WonPurchaseId}} 和 {{WonPurchaseIdCount}} 用于下游 API -从您赢得的项目列表中删除购买 使用。
然后我们根据示例功能得到下面的检查代码片段。
console.log("Post-Transaction: CheckingWonListHaveItems Start");
pm.test("CheckingWonListHasItems", function () {
var jsonData = pm.response.json();
var arr =[];
var List = jsonData.List;
if (List != ""){
for (i in List){
var PurchaseId = List[i].PurchaseId;
arr.push(PurchaseId);
}
// Store WonPurchaseIdCount for later deleting usage
postman.setEnvironmentVariable('WonPurchaseIdCount', arr.length);
if(arr !== []){
if(arr.length >=1){
// Store WonItems for later deleting usage
postman.setEnvironmentVariable('WonPurchaseId', arr);
console.log("WonPurchaseId counts to: " + arr.length + ", the purchaseId: " + arr);
console.log("Post-Transaction: CheckingWonListHaveItems Pass");
}
else{
postman.setEnvironmentVariable('WonPurchaseId', arr);
console.log("WonPurchaseId counts to: " + arr.length + ". There are no items on the won list.");
console.log("Post-Transaction: CheckingWonListHaveItems Pass");
}
}
}
else{
console.log("Post-Transaction: CheckingWonListHaveItems Failed");
}
});
运行脚本以从控制台日志验证检查点是否正常工作。
它在控制台日志中显示的获胜列表页面上没有任何项目。
它在控制台日志上显示的获胜列表页面上有项目。
API 测试脚本增强
增强脚本,如添加事务功能、异常验证、参数化等。
运行最终脚本并从前端页面或控制台日志进行验证。
API 测试脚本否定案例扩展
使用我们在手动测试案例中所做的“等效类划分”和“边界值分析”。
这些API测试脚本都是做反方向的业务,作为上述API正案例的延伸。
API测试脚本发布
当我们完成 API 正面和反面案例时,将脚本从调试文件夹移动到公共文件夹。
然后等待使用 CICD 工具与其他脚本结合发布到 GitHub 特定存储库。