From b8dd4a4a20d212721c8b4c7d3f5e2d1856edae34 Mon Sep 17 00:00:00 2001 From: LG_lai Date: Tue, 16 Aug 2022 18:11:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E5=8E=82=E7=89=88report?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 000-Data/0-BaseUrl.robot | 34 +++++ 000-Data/1-ClientLogin.robot | 53 +++++++ 000-Data/2-OpsLogin.robot | 12 ++ 001-Client/1-FactoryReceipt.robot | 144 ++++++++++++++++++ 001-Client/2-FactoryOffsite.robot | 128 ++++++++++++++++ 001-Client/3-FactoryOutbound.robot | 113 ++++++++++++++ 002-FactoryBackstage/1-PaymentOperation.robot | 34 +++++ 21042217001449712.png | Bin 0 -> 71739 bytes 8 files changed, 518 insertions(+) create mode 100644 000-Data/0-BaseUrl.robot create mode 100644 000-Data/1-ClientLogin.robot create mode 100644 000-Data/2-OpsLogin.robot create mode 100644 001-Client/1-FactoryReceipt.robot create mode 100644 001-Client/2-FactoryOffsite.robot create mode 100644 001-Client/3-FactoryOutbound.robot create mode 100644 002-FactoryBackstage/1-PaymentOperation.robot create mode 100644 21042217001449712.png diff --git a/000-Data/0-BaseUrl.robot b/000-Data/0-BaseUrl.robot new file mode 100644 index 0000000..decaa1c --- /dev/null +++ b/000-Data/0-BaseUrl.robot @@ -0,0 +1,34 @@ +*** Settings *** +Library DateTime +Library Collections +Library RequestsLibrary +Library DatabaseLibrary + +*** Test Cases *** +baseUrl + #工厂版baseurl + ${opsztb} Set Variable https://api-ops-ztb-test.qniao.cn #ztb后台系统ops域名 + ${opspsc} Set Variable https://api-ops-psc-test.qniao.cn #ztb后台PSC域名 + ${uecClient} Set Variable https://api-client-uec-test.qniao.cn #uec客户端域名 + ${ztbClient} Set Variable https://api-client-ztb-test.qniao.cn #ztb客户端域名 + Set Global Variable ${opsztb} + Set Global Variable ${opspsc} + Set Global Variable ${uecClient} + Set Global Variable ${ztbClient} + #登录header + ${ops_header} Set Variable {'content-type':'application/json','X-APP-ID':'470236309865238555','Authorization':'Token 6b08add42d6bcf73abb935b2adf83525'} #后台系统header + ${ops_login_header} Set Variable {'content-type':'application/x-www-form-urlencoded','X-APP-ID':'470236309865238555'} #后台系统登录header + ${client_login_header} Set Variable {'content-type':'application/json','X-APP-ID':'503258978847953926'} #客户端登录header + Set Global Variable ${ops_header} + Set Global Variable ${ops_login_header} + Set Global Variable ${client_login_header} + #登录账号 + ${account} Set Variable 15014242835 #客户端登录账号 + ${username} Set Variable laiyonglan@qniao.cn #后台系统登录账号 + Set Global Variable ${account} + Set Global Variable ${username} + #登录密码 + ${captcha} Set Variable 888888 #客户端登录验证码 + ${password} Set Variable qn123456 #后台系统登录密码 + Set Global Variable ${captcha} + Set Global Variable ${password} diff --git a/000-Data/1-ClientLogin.robot b/000-Data/1-ClientLogin.robot new file mode 100644 index 0000000..74c78d4 --- /dev/null +++ b/000-Data/1-ClientLogin.robot @@ -0,0 +1,53 @@ +*** Settings *** +Library urllib3 +Library Collections +Library RequestsLibrary + +*** Test Cases *** +uecLogin + Disable Warnings + Create Session ZTBT ${uecClient} ${client_login_header} + ${data} Create Dictionary account=${account} captcha=${captcha} accountType=2 + ${respones} POST On Session ZTBT uec/authorize/by-captcha json=${data} + ${token} Get From Dictionary ${respones.json()['data']} token + Set Global Variable ${token} + +login_token + #转换业务线token + Create Session login ${ztbClient} ${client_login_header} + #${token} Set Variable iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDiXY1mwnWhhmm5IF9A8sfQJSFGoxXp/OFiB/d1FyzKGg== # + ${loginToken} Set Variable {"loginToken":"${token}"} + ${reps} Post On Session login recycle-user-center/authorize/get/product-line-token/by/login-token ${loginToken.encode('utf-8')} + ${TokenData} Get From Dictionary ${reps.json()} data #业务线token + ${client_firstlogin_header} Set Variable {'Content-Type':'application/json','Authorization':'QNT ${TokenData}','X-APP-ID':'503258978847953926'} #移动端首次登录header + Set Global Variable ${TokenData} + Set Global Variable ${client_firstlogin_header} + +user_info + #获取用户信息 + Create Session login ${ztbClient} ${client_firstlogin_header} + ${reps} GET On Session login recycle-user-center/user/get/user-info + ${userId} Get From Dictionary ${reps.json()['data']} userId #获取用户id + ${mobile} Get From Dictionary ${reps.json()['data']} mobile #获取用户手机号 + ${realName} Get From Dictionary ${reps.json()['data']} realName #获取用户真实姓名 + ${enterpriseInfos} Get From Dictionary ${reps.json()['data']} enterpriseInfos #获取用户所在企业信息 + FOR ${items} IN @{enterpriseInfos} + ${factoryInfos} Get From Dictionary ${items} factoryInfos #企业工厂信息 + ${enterpriseId} Get From Dictionary ${items} enterpriseId #企业id + ${organizationId} Get From Dictionary ${items} organizationId #企业组织id + ${enterpriseName} Get From Dictionary ${items} enterpriseName #企业name + Exit For Loop If '${enterpriseId}'=='738812239011778560' + END + FOR ${factoryInfo} IN @{factoryInfos} + ${factoryId} Get From Dictionary ${factoryInfo} factoryId #工厂id + ${factoryName} Get From Dictionary ${factoryInfo} factoryName #工厂name + Exit For Loop If '${factoryId}'=='738816441691803648' + END + ${client_header} Set Variable {'Content-Type':'application/json','Authorization':'QNT ${TokenData}','X-APP-ID':'503258978847953926','X-FACTORY-ID':'${factoryId}'} + ${Header} Set Variable {'Authorization':'QNT ${TokenData}','X-APP-ID':'503258978847953926','X-FACTORY-ID':'${factoryId}'} + Set Global Variable ${factoryId} + Set Global Variable ${factoryName} + Set Global Variable ${client_header} + Set Global Variable ${organizationId} + Set Global Variable ${enterpriseName} + Set Global Variable ${Header} diff --git a/000-Data/2-OpsLogin.robot b/000-Data/2-OpsLogin.robot new file mode 100644 index 0000000..7ab8935 --- /dev/null +++ b/000-Data/2-OpsLogin.robot @@ -0,0 +1,12 @@ +*** Settings *** +Library urllib3 +Library Collections +Library RequestsLibrary + +*** Test Cases *** +login + #后台系统登录 + Disable Warnings + Create Session ztbf ${opsztb} ${ops_login_header} + ${LoginData} Create Dictionary username=${username} password=${password} + ${reps} POST On Session ztbf recycle-service/admin/login params=${LoginData} diff --git a/001-Client/1-FactoryReceipt.robot b/001-Client/1-FactoryReceipt.robot new file mode 100644 index 0000000..65f772c --- /dev/null +++ b/001-Client/1-FactoryReceipt.robot @@ -0,0 +1,144 @@ +*** Settings *** +Library Collections +Library RequestsLibrary + +*** Test Cases *** +getInformation + #获取所有废纸分类 + Create Session ztbf ${ztbClient} ${client_header} + ${reps} GET On Session ztbf ztb-factory/factory/get/all-product params=pageNum=1&pageSize=100 + ${records} Get From Dictionary ${reps.json()['data']} records #废纸分类列表 + FOR ${items} IN @{records} + ${id} Get From Dictionary ${items} id + ${name} Get From Dictionary ${items} name + ${smallProductCategoryInfoList} Get From Dictionary ${items} smallProductCategoryInfoList + Exit For Loop If '${id}'=='101010101' + END + ${CategoryInfo} Evaluate random.choice(${smallProductCategoryInfoList}) random #随机获取品类 + ${categoryId} Get From Dictionary ${CategoryInfo} id #纸品id + ${categoryName} Get From Dictionary ${CategoryInfo} categoryName #纸品name + ${defaultUnitPrice} Get From Dictionary ${CategoryInfo} defaultUnitPrice #纸品指导价格 + ${highestUnitPrice} Get From Dictionary ${CategoryInfo} highestUnitPrice #纸品最高价格 + Set Global Variable ${categoryId} + Set Global Variable ${categoryName} + Set Global Variable ${defaultUnitPrice} + Set Global Variable ${highestUnitPrice} + #获取供应商 + ${reps} GET On Session ztbf ztb-factory/factory/get/customer-list params=name=&pageNum=1&pageSize=1500 + ${customerList} Get From Dictionary ${reps.json()['data']} records #供应商列表 + ${CustomerInfo} Evaluate random.choice(${customerList}) random #随机获取供应商信息 + ${name} Get From Dictionary ${CustomerInfo} name #供应商姓名 + ${CustomerId} Get From Dictionary ${CustomerInfo} id #供应商唯一标识 + ${customerSettleType} Get From Dictionary ${CustomerInfo} customerSettleType + Set Global Variable ${name} + Set Global Variable ${CustomerId} + Set Global Variable ${customerSettleType} + #获取厂外收货供应商列表 + Create Session ztbf ${ztbClient} ${client_header} + ${reps} GET On Session ztbf ztb-factory/factory/get/customer-list params=name=&pageNum=1&pageSize=1500 + ${customerList} Get From Dictionary ${reps.json()['data']} records #供应商列表 + FOR ${CustomerInfo} IN @{customerList} + ${Offsitename} Get From Dictionary ${CustomerInfo} name #供应商姓名 + ${OffsitecardNo} Get From Dictionary ${CustomerInfo} cardNo #供应商卡ID + ${OffsiteCustomerId} Get From Dictionary ${CustomerInfo} id #供应商唯一标识 + Exit For Loop If '${OffsiteCustomerId}'=='133' + END + Set Global Variable ${Offsitename} + Set Global Variable ${OffsitecardNo} + Set Global Variable ${OffsiteCustomerId} + #获取客户信息 + ${reps} GET On Session ztbf ztb-factory/factorydeliverychannel/get/self-factory-delivery-channel-list params=pageNum=1&pageSize=20 + ${ChannelList} Get From Dictionary ${reps.json()['data']} records #客户列表 + ${ChannelInfo} Evaluate random.choice(${ChannelList}) random #随机获取客户信息 + ${ChannelId} Get From Dictionary ${ChannelInfo} id #客户id + ${ChannelName} Get From Dictionary ${ChannelInfo} name #客户name + Set Global Variable ${ChannelId} + Set Global Variable ${ChannelName} + #获取员工 + ${reps} GET On Session ztbf recycle-user-center/get/self-department-member-list params=enterpriseId=null&isPassFromBackstage=1 + ${MemberList} Get From Dictionary ${reps.json()['data']} records #获取员工列表 + ${MemberInfo} Evaluate random.choice(${MemberList}) random #随机获取员工信息 + ${enterpriseMemberId} Get From Dictionary ${MemberInfo} enterpriseMemberId #企业员工id + ${enterpriseMemberName} Get From Dictionary ${MemberInfo} enterpriseMemberName #企业员工name + Set Global Variable ${enterpriseMemberId} + Set Global Variable ${enterpriseMemberName} + #上传图片 + ${filepath} Evaluate open('./21042217001449712.png','rb') + ${image} Evaluate open('./21042217001449712.png','rb') + ${file_data} Create Dictionary file=${filepath} image=${image} + ${type} Create Dictionary type=image + Create Session order ${ztbClient} ${Header} + ${reps} POST On Session order recycle-user-center/file-uploading/upload/image data=${type} files=${file_data} + ${Image} Get From Dictionary ${reps.json()} data #获取图片阿里云地址 + Set Global Variable ${Image} + +ReceiptOrder + #创建厂内收货订单--手工单 + Create Session ztbf ${ztbClient} ${client_header} + ${unitPrice} Set Variable 1.8 + ${netWeight} Set Variable 11000 + ${settleWeight} Set Variable 11000 + ${settlePrice} Evaluate ${unitPrice}*${settleWeight} + ${data} Set Variable { \ \ \ \ "deductType":1, \ \ \ \ "isWithoutTare":0, \ \ \ \ "status":null, \ \ \ \ "factoryCustomerId":"${CustomerId}", \ \ \ \ "factoryCustomerName":"${name}", \ \ \ \ "netWeight":"${netWeight}", \ \ \ \ "settleWeight":"${settleWeight}", \ \ \ \ "plateNumber":"55555", \ \ \ \ "productInfoList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "productId":"${categoryId}", \ \ \ \ \ \ \ \ \ \ \ \ "productName":"${categoryName}", \ \ \ \ \ \ \ \ \ \ \ \ "unitPrice":"${unitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "konePrice":"指导价格:${defaultUnitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "highestUnitPrice":"${highestUnitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "lowestUnitPrice":0, \ \ \ \ \ \ \ \ \ \ \ \ "settleWeight":"${settleWeight}", \ \ \ \ \ \ \ \ \ \ \ \ "settlePrice":"${settlePrice}" \ \ \ \ \ \ \ \ } \ \ \ \ ] } + ${reps} POST On Session ztbf ztb-factory/save/scrap-paper-onside-receipt-order ${data.encode('utf-8')} + ${OrderId} Get From Dictionary ${reps.json()} data + Set Global Variable ${OrderId} + #审核过磅单 + ${auditData} Set Variable {"id":"${OrderId}"} + ${reps} POST On Session ztbf ztb-factory/factory/audit-pass/order ${auditData.encode('utf-8')} + #支付订单:现金、银行卡支付 + ${paymentData} Set Variable {"settleType":2,"ids":["${OrderId}"]} + ${reps} POST On Session ztbf ztb-factory/wechat-applet/merge-receiving-pay-order/pay ${paymentData.encode('utf-8')} + ${weightNoteList} Get From Dictionary ${reps.json()['data']} records #磅单列表 + FOR ${items} IN @{weightNoteList} + ${OrderId} Get From Dictionary ${items} id #订单Id + ${productId} Get From Dictionary ${items} productId #纸品id + Exit For Loop If '${productId}'=='' + +ReceiptWeigh + #厂内收货--刷卡过磅 + #获取客户列表 + Create Session ztbf ${ztbClient} ${client_header} + ${reps} GET On Session ztbf ztb-factory/factory/get/customer-list params=name=&pageNum=1&pageSize=1500 + ${customerList} Get From Dictionary ${reps.json()['data']} records #客户列表 + FOR ${CustomerInfo} IN @{customerList} + ${name} Get From Dictionary ${CustomerInfo} name #客户姓名 + ${cardNo} Get From Dictionary ${CustomerInfo} cardNo #客户卡ID + ${CustomerId} Get From Dictionary ${CustomerInfo} id #客户唯一标识 + Exit For Loop If '${CustomerId}'=='136' + END + #刷卡过磅--过毛重 + ${weight} Set Variable 2410 + ${weighData} Set Variable {"cardNo":"${cardNo}","weight":${weight}} + ${reps} POST On Session ztbf ztb-factory/factory-customer/save/order ${weighData.encode('utf-8')} + ${orderId} Get From Dictionary ${reps.json()['data']} id #订单id + Set Global Variable ${orderId} + Should Be Equal As Strings ${reps.json()["message"]} 毛重称重成功,${weight}公斤,请下地磅 + #定价详情 + ${reps} GET On Session ztbf ztb-factory/factory/wechat-applet/get/order-detail/${orderId} + ${plateNumber} Get From Dictionary ${reps.json()['data']} plateNumber #车牌号 + ${isWithoutTare} Get From Dictionary ${reps.json()['data']} isWithoutTare #是否无皮过磅,0否1是 + ${proportionOfProduct} Get From Dictionary ${reps.json()['data']} proportionOfProduct + ${plateNumber} Set Variable If '${plateNumber}'=='${None}' null ${plateNumber} + #确定定价 + ${unitPrice} Set Variable 1.88 + ${submitData} Set Variable { \ \ \ \ "id":"${orderId}", \ \ \ \ "productInfoDtoList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "productId":"${categoryId}", \ \ \ \ \ \ \ \ \ \ \ \ "productName":"${categoryName}", \ \ \ \ \ \ \ \ \ \ \ \ "unitPrice":"2.1", \ \ \ \ \ \ \ \ \ \ \ \ "proportionOfProduct":"${proportionOfProduct}", \ \ \ \ \ \ \ \ \ \ \ \ "konePrice":"指导价格:${defaultUnitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "highestUnitPrice":"${highestUnitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "lowestUnitPrice":0 \ \ \ \ \ \ \ \ } \ \ \ \ ], \ \ \ \ "plateNumber":${plateNumber}, \ \ \ \ "factoryCustomerId":"${CustomerId}", \ \ \ \ "deductType":1, \ \ \ \ "inspectionRemark":"确定定价", \ \ \ \ "isWithoutTare":"${isWithoutTare}" } + ${reps} POST On Session ztbf ztb-factory/factory/submit/order-price ${submitData.encode('utf-8')} + #刷卡过磅--过皮重 + ${weightTare} Set Variable 2000 + ${weighData} Set Variable {"cardNo":"${cardNo}","weight":${weightTare}} + ${reps} POST On Session ztbf ztb-factory/factory-customer/save/order ${weighData.encode('utf-8')} + ${orderId} Get From Dictionary ${reps.json()['data']} id #订单id + Should Be Equal As Strings ${reps.json()["message"]} 皮重称重成功,${weightTare}公斤,正在打印磅单 + #过磅审核 + ${auditData} Set Variable {"id":"${OrderId}"} + ${reps} POST On Session ztbf ztb-factory/factory/audit-pass/order ${auditData.encode('utf-8')} + #支付订单--千鸟代付 + ${paymentData} Set Variable {"settleType":3,"ids":["${OrderId}"]} + ${reps} POST On Session ztbf ztb-factory/wechat-applet/merge-receiving-pay-order/pay ${paymentData.encode('utf-8')} + +Print_weight_order + #打印磅单 + Create Session ztbf ${ztbClient} ${client_header} + ${data} Set Variable {"id":"${OrderId}","printType":1} + ${reps} POST On Session ztbf ztb-factory/print/weight-order ${data.encode('utf-8')} diff --git a/001-Client/2-FactoryOffsite.robot b/001-Client/2-FactoryOffsite.robot new file mode 100644 index 0000000..4a43129 --- /dev/null +++ b/001-Client/2-FactoryOffsite.robot @@ -0,0 +1,128 @@ +*** Settings *** +Library String +Library urllib3 +Library Collections +Library RequestsLibrary + +*** Test Cases *** +getInformation + #获取所有废纸分类 + Create Session ztbf ${ztbClient} ${client_header} + ${reps} GET On Session ztbf ztb-factory/factory/get/all-product params=pageNum=1&pageSize=100 + ${records} Get From Dictionary ${reps.json()['data']} records #废纸分类列表 + FOR ${items} IN @{records} + ${id} Get From Dictionary ${items} id + ${name} Get From Dictionary ${items} name + ${smallProductCategoryInfoList} Get From Dictionary ${items} smallProductCategoryInfoList + Exit For Loop If '${id}'=='101010101' + END + ${CategoryInfo} Evaluate random.choice(${smallProductCategoryInfoList}) random #随机获取品类 + ${categoryId} Get From Dictionary ${CategoryInfo} id #纸品id + ${categoryName} Get From Dictionary ${CategoryInfo} categoryName #纸品name + ${defaultUnitPrice} Get From Dictionary ${CategoryInfo} defaultUnitPrice #纸品指导价格 + ${highestUnitPrice} Get From Dictionary ${CategoryInfo} highestUnitPrice #纸品最高价格 + Set Global Variable ${categoryId} + Set Global Variable ${categoryName} + Set Global Variable ${defaultUnitPrice} + Set Global Variable ${highestUnitPrice} + #获取供应商 + ${reps} GET On Session ztbf ztb-factory/factory/get/customer-list params=name=&pageNum=1&pageSize=1500 + ${customerList} Get From Dictionary ${reps.json()['data']} records #供应商列表 + ${CustomerInfo} Evaluate random.choice(${customerList}) random #随机获取供应商信息 + ${name} Get From Dictionary ${CustomerInfo} name #供应商姓名 + ${CustomerId} Get From Dictionary ${CustomerInfo} id #供应商唯一标识 + ${customerSettleType} Get From Dictionary ${CustomerInfo} customerSettleType + Set Global Variable ${name} + Set Global Variable ${CustomerId} + Set Global Variable ${customerSettleType} + #获取厂外收货供应商列表 + Create Session ztbf ${ztbClient} ${client_header} + ${reps} GET On Session ztbf ztb-factory/factory/get/customer-list params=name=&pageNum=1&pageSize=1500 + ${customerList} Get From Dictionary ${reps.json()['data']} records #供应商列表 + FOR ${CustomerInfo} IN @{customerList} + ${Offsitename} Get From Dictionary ${CustomerInfo} name #供应商姓名 + ${OffsitecardNo} Get From Dictionary ${CustomerInfo} cardNo #供应商卡ID + ${OffsiteCustomerId} Get From Dictionary ${CustomerInfo} id #供应商唯一标识 + Exit For Loop If '${OffsiteCustomerId}'=='133' + END + Set Global Variable ${Offsitename} + Set Global Variable ${OffsitecardNo} + Set Global Variable ${OffsiteCustomerId} + #获取客户信息 + ${reps} GET On Session ztbf ztb-factory/factorydeliverychannel/get/self-factory-delivery-channel-list params=pageNum=1&pageSize=20 + ${ChannelList} Get From Dictionary ${reps.json()['data']} records #客户列表 + ${ChannelInfo} Evaluate random.choice(${ChannelList}) random #随机获取客户信息 + ${ChannelId} Get From Dictionary ${ChannelInfo} id #客户id + ${ChannelName} Get From Dictionary ${ChannelInfo} name #客户name + Set Global Variable ${ChannelId} + Set Global Variable ${ChannelName} + #获取员工 + ${reps} GET On Session ztbf recycle-user-center/get/self-department-member-list params=enterpriseId=null&isPassFromBackstage=1 + ${MemberList} Get From Dictionary ${reps.json()['data']} records #获取员工列表 + ${MemberInfo} Evaluate random.choice(${MemberList}) random #随机获取员工信息 + ${enterpriseMemberId} Get From Dictionary ${MemberInfo} enterpriseMemberId #企业员工id + ${enterpriseMemberName} Get From Dictionary ${MemberInfo} enterpriseMemberName #企业员工name + Set Global Variable ${enterpriseMemberId} + Set Global Variable ${enterpriseMemberName} + #上传图片 + ${filepath} Evaluate open('./21042217001449712.png','rb') + ${image} Evaluate open('./21042217001449712.png','rb') + ${file_data} Create Dictionary file=${filepath} image=${image} + ${type} Create Dictionary type=image + Create Session order ${ztbClient} ${Header} + ${reps} POST On Session order recycle-user-center/file-uploading/upload/image data=${type} files=${file_data} + ${Image} Get From Dictionary ${reps.json()} data #获取图片阿里云地址 + Set Global Variable ${Image} + +OffsiteOrder + #创建厂外收货订单 + Create Session ztbf ${ztbClient} ${client_header} + ${unitPrice} Set Variable 1.66 #单价(公斤) + ${plateNumber} Set Variable 粤M33333 #车牌号 + ${equipmentRemark} Set Variable NP-003 #设备 + ${ReceiptData} Set Variable { \ \ \ \ "productCategoryInfos":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "productId":"${categoryId}", \ \ \ \ \ \ \ \ \ \ \ \ "productCategoryName":"${categoryName}", \ \ \ \ \ \ \ \ \ \ \ \ "unitPrice":"${unitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "konePrice":"指导价格:${defaultUnitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "highestUnitPrice":"${highestUnitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "lowestUnitPrice":0 \ \ \ \ \ \ \ \ } \ \ \ \ ], \ \ \ \ "predictDeliveryToFactoryTime":null, \ \ \ \ "factoryCustomerId":"${OffsiteCustomerId}", \ \ \ \ "factoryCustomerName":"${Offsitename}", \ \ \ \ "plateNumber":"${plateNumber}", \ \ \ \ "driverId":"${enterpriseMemberId}", \ \ \ \ "driverName":"${enterpriseMemberName}" } + ${reps} POST On Session ztbf ztb-factory/create/scrap-paper-offsite-receipt-order ${ReceiptData.encode('utf-8')} + #外出收货订单列表 + ${reps} GET On Session ztbf ztb-factory/get/scrap-paper-offsite-receipt-order-list params=orderStatus=0&orderType=2&pageNum=1&pageSize=15 + ${OrderList} Get From Dictionary ${reps.json()['data']} records #订单列表 + FOR ${items} IN @{OrderList} + ${driverId} Get From Dictionary ${items} driverId #司机id + ${OffsiteOrderId} Get From Dictionary ${items} orderId #订单编号 + Exit For Loop If '${driverId}'=='${enterpriseMemberId}' + END + #外出收货订单详情 + ${reps} GET On Session ztbf ztb-factory/get/scrap-paper-offsite-receipt-order-detail params=id=${OffsiteOrderId} + ${scrapPaperPurchaseOrderId} Get From Dictionary ${reps.json()['data']['productCategoryInfos'][0]} scrapPaperPurchaseOrderId #收货订单id + #提交订单 + ${offsiteTareWeight} Set Variable 500 #皮重(公斤) + ${offsiteGrossWeight} Set Variable 1000 #毛重(公斤) + ${netWeight} Evaluate ${offsiteGrossWeight}-${offsiteTareWeight} + ${ReceiptWeight} Set Variable { \ \ \ \ "scrapPaperReceiptId":"${OffsiteOrderId}", \ \ \ \ "offsiteGrossWeight":"${offsiteGrossWeight}", \ \ \ \ "offsiteTareWeight":"${offsiteTareWeight}", \ \ \ \ "weightNoteList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "grossWeight":null, \ \ \ \ \ \ \ \ \ \ \ \ "tareWeight":null, \ \ \ \ \ \ \ \ \ \ \ \ "weightNoteImage":null, \ \ \ \ \ \ \ \ \ \ \ \ "netWeight":"${netWeight}", \ \ \ \ \ \ \ \ \ \ \ \ "scrapPaperPurchaseOrderId":"${scrapPaperPurchaseOrderId}" \ \ \ \ \ \ \ \ } \ \ \ \ ], \ \ \ \ "orderImageList":[ \ \ \ \ \ \ \ \ "${Image}", \ \ \ \ \ \ \ \ "${Image}", \ \ \ \ \ \ \ \ "${Image}" \ \ \ \ ] } + ${reps} POST On Session ztbf ztb-factory/submit/scrap-paper-offsite-receipt-weight-note ${ReceiptWeight.encode('utf-8')} + #确认定价 + ${OrderPrice} Set Variable { \ \ \ \ "scrapPaperReceiptId":"${OffsiteOrderId}", \ \ \ \ "productCategorySettleInfoDtoList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "productId":"${categoryId}", \ \ \ \ \ \ \ \ \ \ \ \ "scrapPaperPurchaseOrderId":"${scrapPaperPurchaseOrderId}", \ \ \ \ \ \ \ \ \ \ \ \ "deductWeight":null, \ \ \ \ \ \ \ \ \ \ \ \ "deductPercent":null, \ \ \ \ \ \ \ \ \ \ \ \ "settleUnitPrice":"${unitPrice}" \ \ \ \ \ \ \ \ } \ \ \ \ ] } + ${reps} POST On Session ztbf ztb-factory/submit/scrap-paper-offsite-receipt-order-price ${OrderPrice.encode('utf-8')} + #刷卡过毛重 + ${weight} Set Variable ${offsiteGrossWeight} + ${weighData} Set Variable {"cardNo":"${OffsitecardNo}","weight":${weight}} + ${reps} POST On Session ztbf ztb-factory/factory-customer/save/order ${weighData.encode('utf-8')} + ${orderId} Get From Dictionary ${reps.json()['data']} id #订单id + Set Global Variable ${orderId} + Should Be Equal As Strings ${reps.json()["message"]} 毛重称重成功,${weight}公斤,请下地磅 + #过磅审核通过 + ${ReceiptData} Set Variable {"scrapPaperReceiptId":"${OffsiteOrderId}"} + ${reps} POST On Session ztbf ztb-factory/renew/scrap-paper-offsite-receipt-order-price ${ReceiptData.encode('utf-8')} + #非代付 + #获取客户所有未支付订单 + ${reps} GET On Session ztbf ztb-factory/get/scrap-paper-offsite-receipt-order-list params=factoryCustomerId=${CustomerId}&statusList=4%2C%2042&pageSize=100 + ${orderList} Get From Dictionary ${reps.json()['data']} records #客户所有订单列表 + ${List} Create List + FOR ${items} IN @{orderList} + ${orderId} Get From Dictionary ${items} orderId #客户订单id + Append To List ${List} ${orderId} + END + ${str} Convert To String ${List} + ${List} Replace String ${str} ' " + #支付订单 + ${paymentData} Set Variable { \ \ \ \ "settleType":2, \ \ \ \ "ids":${List}} + ${reps} POST On Session ztbf ztb-factory/wechat-applet/merge-receiving-pay-order/pay ${paymentData.encode('utf-8')} diff --git a/001-Client/3-FactoryOutbound.robot b/001-Client/3-FactoryOutbound.robot new file mode 100644 index 0000000..026076c --- /dev/null +++ b/001-Client/3-FactoryOutbound.robot @@ -0,0 +1,113 @@ +*** Settings *** +Library Collections +Library RequestsLibrary + +*** Test Cases *** +getInformation + #获取所有废纸分类 + Create Session ztbf ${ztbClient} ${client_header} + ${reps} GET On Session ztbf ztb-factory/factory/get/all-product params=pageNum=1&pageSize=100 + ${records} Get From Dictionary ${reps.json()['data']} records #废纸分类列表 + FOR ${items} IN @{records} + ${id} Get From Dictionary ${items} id + ${name} Get From Dictionary ${items} name + ${smallProductCategoryInfoList} Get From Dictionary ${items} smallProductCategoryInfoList + Exit For Loop If '${id}'=='101010101' + END + ${CategoryInfo} Evaluate random.choice(${smallProductCategoryInfoList}) random #随机获取品类 + ${categoryId} Get From Dictionary ${CategoryInfo} id #纸品id + ${categoryName} Get From Dictionary ${CategoryInfo} categoryName #纸品name + ${defaultUnitPrice} Get From Dictionary ${CategoryInfo} defaultUnitPrice #纸品指导价格 + ${highestUnitPrice} Get From Dictionary ${CategoryInfo} highestUnitPrice #纸品最高价格 + ${productcategoryId} Get From Dictionary ${CategoryInfo} categoryId #纸品品类id + Set Global Variable ${categoryId} + Set Global Variable ${categoryName} + Set Global Variable ${defaultUnitPrice} + Set Global Variable ${highestUnitPrice} + Set Global Variable ${productcategoryId} + #获取供应商 + ${reps} GET On Session ztbf ztb-factory/factory/get/customer-list params=name=&pageNum=1&pageSize=1500 + ${customerList} Get From Dictionary ${reps.json()['data']} records #供应商列表 + ${CustomerInfo} Evaluate random.choice(${customerList}) random #随机获取供应商信息 + ${name} Get From Dictionary ${CustomerInfo} name #供应商姓名 + ${CustomerId} Get From Dictionary ${CustomerInfo} id #供应商唯一标识 + ${customerSettleType} Get From Dictionary ${CustomerInfo} customerSettleType + Set Global Variable ${name} + Set Global Variable ${CustomerId} + Set Global Variable ${customerSettleType} + #获取厂外收货供应商列表 + Create Session ztbf ${ztbClient} ${client_header} + ${reps} GET On Session ztbf ztb-factory/factory/get/customer-list params=name=&pageNum=1&pageSize=1500 + ${customerList} Get From Dictionary ${reps.json()['data']} records #供应商列表 + FOR ${CustomerInfo} IN @{customerList} + ${Offsitename} Get From Dictionary ${CustomerInfo} name #供应商姓名 + ${OffsitecardNo} Get From Dictionary ${CustomerInfo} cardNo #供应商卡ID + ${OffsiteCustomerId} Get From Dictionary ${CustomerInfo} id #供应商唯一标识 + Exit For Loop If '${OffsiteCustomerId}'=='133' + END + Set Global Variable ${Offsitename} + Set Global Variable ${OffsitecardNo} + Set Global Variable ${OffsiteCustomerId} + #获取客户信息 + ${reps} GET On Session ztbf ztb-factory/factorydeliverychannel/get/self-factory-delivery-channel-list params=pageNum=1&pageSize=20 + ${ChannelList} Get From Dictionary ${reps.json()['data']} records #客户列表 + ${ChannelInfo} Evaluate random.choice(${ChannelList}) random #随机获取客户信息 + ${ChannelId} Get From Dictionary ${ChannelInfo} id #客户id + ${factoryId} Get From Dictionary ${ChannelInfo} factoryId #工厂id + ${ChannelName} Get From Dictionary ${ChannelInfo} name #客户name + Set Global Variable ${factoryId} + Set Global Variable ${ChannelId} + Set Global Variable ${ChannelName} + #获取员工 + ${reps} GET On Session ztbf recycle-user-center/get/self-department-member-list params=enterpriseId=null&isPassFromBackstage=1 + ${MemberList} Get From Dictionary ${reps.json()['data']} records #获取员工列表 + ${MemberInfo} Evaluate random.choice(${MemberList}) random #随机获取员工信息 + ${enterpriseMemberId} Get From Dictionary ${MemberInfo} enterpriseMemberId #企业员工id + ${enterpriseMemberName} Get From Dictionary ${MemberInfo} enterpriseMemberName #企业员工name + Set Global Variable ${enterpriseMemberId} + Set Global Variable ${enterpriseMemberName} + #上传图片 + ${filepath} Evaluate open('./21042217001449712.png','rb') + ${image} Evaluate open('./21042217001449712.png','rb') + ${file_data} Create Dictionary file=${filepath} image=${image} + ${type} Create Dictionary type=image + Create Session order ${ztbClient} ${Header} + ${reps} POST On Session order recycle-user-center/file-uploading/upload/image data=${type} files=${file_data} + ${Image} Get From Dictionary ${reps.json()} data #获取图片阿里云地址 + Set Global Variable ${Image} + +OutboundOrder + #出货--手工单 + Create Session ztbf ${ztbClient} ${client_header} + ${netWeight} Set Variable 5000 #净重(公斤) + ${unitPrice} Set Variable 2.02 #单价(元/公斤) + ${konePrice} Evaluate ${defaultUnitPrice}*1000 #指导价格 + ${plateNumber} Set Variable 沪H22222 #车牌号 + ${estimatedAmount} Evaluate ${netWeight}*${unitPrice} + ${OutData} Set Variable { \ \ \ \ "isHandworkOrder":1, \ \ \ \ "estimatedAmount":"${estimatedAmount}", \ \ \ \ "deliveryChannelType":1, \ \ \ \ "factoryDeliveryChannelId":"${ChannelId}", \ \ \ \ "consigneeName":"${ChannelName}", \ \ \ \ "plateNumber":"${plateNumber}", \ \ \ \ "outboundDeliveryOrderProductItemList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "productId":"${categoryId}", \ \ \ \ \ \ \ \ \ \ \ \ "productName":"${categoryName}", \ \ \ \ \ \ \ \ \ \ \ \ "unitPrice":"${unitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "productCategoryId":"${productcategoryId}", \ \ \ \ \ \ \ \ \ \ \ \ "konePrice":"指导价格:${konePrice}", \ \ \ \ \ \ \ \ \ \ \ \ "highestUnitPrice":"${highestUnitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "lowestUnitPrice":0, \ \ \ \ \ \ \ \ \ \ \ \ "netWeight":"${netWeight}", \ \ \ \ \ \ \ \ \ \ \ \ "settleWeight":null, \ \ \ \ \ \ \ \ \ \ \ \ "deductPercent":null, \ \ \ \ \ \ \ \ \ \ \ \ "estimatedAmount":"${estimatedAmount}" \ \ \ \ \ \ \ \ } \ \ \ \ ], \ \ \ \ "weightNoteImageUrls":[ \ \ \ \ \ ] } + ${reps} POST On Session ztbf ztb-factory/save/outbound-delivery-order ${OutData.encode('utf-8')} + #待审核列表 + ${reps} GET On Session ztbf ztb-factory/get/outbound-delivery-order-list params=pageNum=1&pageSize=15&status=0 + ${weightNoteList} Get From Dictionary ${reps.json()['data']} records #待审核列表 + FOR ${items} IN @{weightNoteList} + ${OrderId} Get From Dictionary ${items} id #出货订单id + ${productId} Get From Dictionary ${items} productId #纸品id + Exit For Loop If '${productId}'=='${categoryId}' + END + #磅单审核通过 + ${auditData} Set Variable {"id":"${OrderId}","auditStatus":1} + ${reps} POST On Session ztbf ztb-factory/audit/outbount-delivery-order ${auditData.encode('utf-8')} + #待付款列表 + ${reps} GET On Session ztbf ztb-factory/get/outbound-delivery-order-list params=pageNum=1&pageSize=15&status=1 + ${deliveryList} Get From Dictionary ${reps.json()['data']} records + FOR ${items} IN @{deliveryList} + ${id} Get From Dictionary ${items} id #订单编号 + ${productItemId} Get From Dictionary ${items['productItemList'][0]} id #订单项编号 + Exit For Loop If '${id}'=='${OrderId}' + END + #确认付款 + ${paperMillNetWeight} Set Variable 13 #纸厂净重(吨) + ${deductPercent} Set Variable 2.1 #扣点(%) + ${settleWeight} Evaluate ${paperMillNetWeight}-${paperMillNetWeight}*${deductPercent}/1000 #结算重量(吨) + ${PayData} Set Variable { \ \ \ \ "id":"${OrderId}", \ \ \ \ "categoryId":"${categoryId}", \ \ \ \ "otherFee":0, \ \ \ \ "subsidy":0, \ \ \ \ "proxyPaySurcharge":0, \ \ \ \ "freight":0, \ \ \ \ "outboundDeliveryOrderProductItemList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "settlementProductId":"${categoryId}", \ \ \ \ \ \ \ \ \ \ \ \ "id":"${productItemId}", \ \ \ \ \ \ \ \ \ \ \ \ "paperMillNetWeight":"${paperMillNetWeight}", \ \ \ \ \ \ \ \ \ \ \ \ "settleWeight":"${settleWeight}", \ \ \ \ \ \ \ \ \ \ \ \ "deductPercent":"${deductPercent}", \ \ \ \ \ \ \ \ \ \ \ \ "settleUnitPrice":"${unitPrice}" \ \ \ \ \ \ \ \ } \ \ \ \ ], \ \ \ \ "factoryId":"${factoryId}" } + ${reps} POST On Session ztbf ztb-factory/confirm/outbound-delivery-order-receipt ${PayData.encode('utf-8')} diff --git a/002-FactoryBackstage/1-PaymentOperation.robot b/002-FactoryBackstage/1-PaymentOperation.robot new file mode 100644 index 0000000..988d3aa --- /dev/null +++ b/002-FactoryBackstage/1-PaymentOperation.robot @@ -0,0 +1,34 @@ +*** Settings *** +Library Collections +Library RequestsLibrary +Library DateTime + +*** Test Cases *** +PaymentReview + #千鸟代付审核列表 + Create Session ztbf ${opsztb} ${ops_header} + ${reps} GET On Session ztbf ztb-factory/admin/get/agency-payment-order-audit-request-list params=status=&orderId=${orderId}&pageNum=1&pageSize=10 + ${AuditId} Get From Dictionary ${reps.json()['data']['records'][0]} id #代付审核id + #代付审核通过 + ${data} Set Variable { \ \ \ \ "id":"${AuditId}", \ \ \ \ "remark":"", \ \ \ \ "status":1 } + ${reps} POST On Session ztbf ztb-factory/admin/audit/agency-payment-order-audit-request ${data.encode('utf-8')} + +PaymentPayable + #代付应付 + Create Session ztbf ${opspsc} ${ops_header} + ${reps} GET On Session ztbf payment-settlement-center/admin/get/agency-payment-order-payable-list params=status=&pageNum=1&pageSize=10&orderId=${orderId} + ${PayId} Get From Dictionary ${reps.json()['data']['records'][0]} id #代付应付Id + #代付应付通过 + ${PayData} Set Variable { \ \ \ \ "id":"${PayId}", \ \ \ \ "isMergePayment":0, \ \ \ \ "auditStatus":1 } + ${reps} POST On Session ztbf payment-settlement-center/admin/audit/agency-payment-order-payable/${PayId} ${PayData.encode('utf-8')} + +PaymentReceivable + #代付应收 + Create Session ztbf ${opspsc} ${ops_header} + ${reps} GET On Session ztbf /payment-settlement-center/admin/get/agency-payment-order-receivable-list params=status=0&orderId=${orderId}&pageNum=1&pageSize=10 + ${ReceiveId} Get From Dictionary ${reps.json()['data']['records'][0]} id #代付应收id + ${receivablePrice} Get From Dictionary ${reps.json()['data']['records'][0]} receivablePrice #代付应收金额 + #确认收款 + ${Time} get current date result_format=%Y-%m-%d + ${ReceiveData} Set Variable { \ \ \ \ "id":"${ReceiveId}", \ \ \ \ "realReceivedPrice":"${receivablePrice}", \ \ \ \ "realReceivedTime":"${Time}" } + ${reps} POST On Session ztbf payment-settlement-center/admin/comfirm-receive/agency-payment-order-receivable-list ${ReceiveData.encode('utf-8')} diff --git a/21042217001449712.png b/21042217001449712.png new file mode 100644 index 0000000000000000000000000000000000000000..fba043635f160e4bcfef47a4987967ae3373f006 GIT binary patch literal 71739 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