diff --git a/003-CreateOrder/Order.robot b/003-CreateOrder/Order.robot index d791b4a..8280544 100644 --- a/003-CreateOrder/Order.robot +++ b/003-CreateOrder/Order.robot @@ -1,5 +1,7 @@ *** Settings *** Documentation 拼版下单 +Test Teardown Run Keyword If Test Failed Fatal Error +Test Timeout Library urllib3 Library Collections Library RequestsLibrary @@ -7,6 +9,8 @@ Library DatabaseLibrary Library JSONLibrary Library demjson Library HttpLibrary +Library HttpLibrary.HTTP +Library String *** Test Cases *** spuDetail @@ -52,11 +56,11 @@ spuDetail ${Long} Set Variable ${productMeasureDesc[0:3]} #截取长 ${Weight} Set Variable ${productMeasureDesc[4:7]} #截取宽 ${Material} Evaluate ${Long}*${Weight}/1000000*1.85*${quantity} #材料费 - ${Technology} Evaluate round(${Long}*${Weight}/100*0.00003*${quantity},2) #工艺费 + ${Technology} Evaluate round((${Long}+${Weight})/1000*2*18*2.5+(0.08*${quantity}/4),2) #工艺费 ${TotalPrice} Evaluate round(${Material}+${Technology},2) #总价 ${Price} Set Variable If '${TotalPrice}'<='125' 125 ${TotalPrice} #判断是否小于等于低消 - ${SpuSizeNormal} Update Value To Json ${SpuSize} $.value 1-250*300 #spu正常计价 - ${SpuSizeQuotation} Update Value To Json ${SpuSize} $.value 1-166*350 #spu低消计价 + ${SpuSizeNormal} Update Value To Json ${SpuSize} $.value 1-211*256 #spu正常计价 + ${SpuSizeQuotation} Update Value To Json ${SpuSize} $.value 1-136*300 #spu低消计价 ${Data} Evaluate 3 #修改 ${SpuSizeNormal} Add Object To Json ${SpuSizeNormal} $.operateType ${Data} ${SpuSizeQuotation} Add Object To Json ${SpuSizeQuotation} $.operateType ${Data} #将对象data加入到json中 @@ -70,6 +74,7 @@ spuDetail ${spuDetail} Evaluate demjson.encode(${spuDetail}) demjson #字典转换字符串 ${SpuSizeNormal} Evaluate demjson.encode(${SpuSizeNormal}) demjson ${SpuSizeQuotation} Evaluate demjson.encode(${SpuSizeQuotation}) demjson + log ${spuDetail} Should Be Equal ${amount} ${TotalPrice} Set Global Variable ${quote} Set Global Variable ${SpuSize} @@ -86,17 +91,52 @@ Quotation Create Session factory ${yytClient} ${ClientHeader} ${spuQotation} Set Variable { \ \ \ \ "spuId":"${spuId}", \ \ \ \ "basic":false, \ \ \ \ "spuDetail":${spuDetail}, \ \ \ \ "operateRenderSpuItemList":[${SpuSizeQuotation}] } ${reps} POST On Session factory printing-packaging-factory-service/user/render/spu-detail ${spuQotation.encode('utf-8')} - ${Amount} Get From Dictionary ${reps.json()['data']['quote']} amount #获取合计金额 - ${quantity} Get From Dictionary ${reps.json()['data']['quote']} count #获取几家数量 - ${productMeasureDesc} Get From Dictionary ${reps.json()['data']['quote']} productMeasureDesc #计价尺寸 + ${DATA} Get From Dictionary ${reps.json()} data + #${DATA} Update Value To Json ${DATA} $..value null #修改value字段key为null + #${DATA} Update Value To Json ${DATA} $..remark null #修改remark字段key为null + #${DATA} Update Value To Json ${DATA} $..cutNum null + #${DATA} Update Value To Json ${DATA} $..partNum null #修改partNum字段key为null + #${DATA} Update Value To Json ${DATA} $..attribute null + #${DATA} Update Value To Json ${DATA} $..nodeIdList null + #${DATA} Update Value To Json ${DATA} $..displayName null #修改displayName字段key为null + #${DATA} Update Value To Json ${DATA} $..spuSpecItemType null + #${DATA} Update Value To Json ${DATA} $..spuCategoryName null #修改spuCategoryName字段key为null + #${DATA} Update Value To Json ${DATA} $..measureFormulaId null #修改measureFormulaId字段key为null + ${Quote} Get From Dictionary ${reps.json()['data']} quote #盒型基础参数 + ${desc} Get From Dictionary ${Quote} desc #盒型报价参数 + ${Amount} Get From Dictionary ${Quote} amount #获取合计金额 + ${quantity} Get From Dictionary ${Quote} count #获取计价数量 + ${productId} Get From Dictionary ${Quote['spuProductQuoteList'][0]} spuId #盒型id + ${unitprice} Evaluate ${Amount}/${quantity} #计算单价 + ${productName} Get From Dictionary ${Quote['spuProductQuoteList'][0]} name #盒型name + ${productArea} Get From Dictionary ${Quote} productArea #盒型报价尺寸 + ${productProcessDesc} Get From Dictionary ${Quote} productProcessDesc #盒型报价工艺 + ${productMaterialDesc} Get From Dictionary ${Quote} productMaterialDesc #盒型报价材质 + ${productMeasureDesc} Get From Dictionary ${Quote} productMeasureDesc #计价尺寸 ${Long} Set Variable ${productMeasureDesc[0:3]} #截取长 ${Weight} Set Variable ${productMeasureDesc[4:7]} #截取宽 ${Material} Evaluate ${Long}*${Weight}/1000000*1.85*${quantity} #材料费 - ${Technology} Evaluate round(${Long}*${Weight}/100*0.00003*${quantity},2) #工艺费 + ${Technology} Evaluate round((${Long}+${Weight})/1000*2*18*2.5+(0.08*${quantity}/8),2) #工艺费 ${TotalPrice} Evaluate round(${Material}+${Technology},2) #总价 ${Price} Set Variable If '${TotalPrice}'<='125' 125 ${TotalPrice} #比较价格 + ${DATA} Evaluate demjson.encode(${DATA}) demjson + ${DATA} Replace String ${DATA} None null + ${DATA} Replace String ${DATA} "null" null + ${DATA} Convert Json To String ${DATA} Should Be Equal As Numbers ${Amount} ${Price} + Set Global Variable ${desc} + Set Global Variable ${DATA} Set Global Variable ${Price} + Set Global Variable ${Amount} + Set Global Variable ${quantity} + Set Global Variable ${productId} + Set Global Variable ${unitprice} + Set Global Variable ${TotalPrice} + Set Global Variable ${productName} + Set Global Variable ${productArea} + Set Global Variable ${productProcessDesc} + Set Global Variable ${productMaterialDesc} + Set Global Variable ${productMeasureDesc} Normal #选择盒型参数-正常计算 @@ -109,7 +149,7 @@ Normal ${Long} Set Variable ${productMeasureDesc[0:3]} #截取长 ${Weight} Set Variable ${productMeasureDesc[4:7]} #截取宽 ${Material} Evaluate ${Long}*${Weight}/1000000*1.85*${quantity} #材料费 - ${Technology} Evaluate round(${Long}*${Weight}/100*0.00003*${quantity},2) #工艺费 + ${Technology} Evaluate round((${Long}+${Weight})/1000*2*18*2.5+(0.08*${quantity}/4),2) #工艺费 ${TotalPrice} Evaluate round(${Material}+${Technology},2) #总价 ${Price} Set Variable If '${TotalPrice}'<='125' 125 ${TotalPrice} #比较价格 Log ${Price} @@ -143,11 +183,25 @@ DeliveryOrder ${AddressList} Get From Dictionary ${reps.json()['data']} records #地址列表 ${Address} Evaluate random.choice(${AddressList}) random #随机获取送货地址 ${CityId} Get From Dictionary ${Address} cityId #市id + ${cityName} Get From Dictionary ${Address} cityName #市名 + ${AddressId} Get From Dictionary ${Address} id #地址id ${DistrictId} Get From Dictionary ${Address} districtId #区id ${ProvinceId} Get From Dictionary ${Address} provinceId #省id + ${districtName} Get From Dictionary ${Address} districtName #区名 + ${provinceName} Get From Dictionary ${Address} provinceName #省名 + ${AddressDetail} Get From Dictionary ${Address} locDetails #送货详细地址 + ${consigneeName} Get From Dictionary ${Address} consigneeName #送货联系人 + ${consigneeMobile} Get From Dictionary ${Address} consigneeMobile #送货联系电话 Set Global Variable ${CityId} + Set Global Variable ${cityName} + Set Global Variable ${AddressId} Set Global Variable ${DistrictId} Set Global Variable ${ProvinceId} + Set Global Variable ${districtName} + Set Global Variable ${provinceName} + Set Global Variable ${AddressDetail} + Set Global Variable ${consigneeName} + Set Global Variable ${consigneeMobile} #送货-获取税点 ${reps} GET On Session factory printing-package-mall-service/user/get/sale-order/other-fees-config params=factoryId=${Fid}&orgId=${organizationId}&deliveryAddressProvinceId=${ProvinceId}&deliveryAddressCityId=${CityId}&deliveryAddressDistrictId=${DistrictId} ${Charges} Get From Dictionary ${reps.json()['data']} logisticsCharges #物流费用 @@ -160,11 +214,29 @@ DeliveryOrder ${Charges} Set Variable If '${Charges}'=='${None}' 0 ${Charges} Set Global Variable ${Charges} Set Global Variable ${InvoiceData} + #获取开票信息 + ${reps} GET On Session factory printing-package-mall-service/user/page/invoice-title params=pageNum=1&pageSize=100 + ${records} Get From Dictionary ${reps.json()['data']} records #发票抬头 + ${InvoiceList} Evaluate random.choice(${records}) random + ${invoiceTitleId} Get From Dictionary ${InvoiceList} id #发票id + ${invoicingOpenAccount} Get From Dictionary ${InvoiceList} bankAccountNumber #银行账号 + ${invoicingEnterpriseName} Get From Dictionary ${InvoiceList} enterpriseName #企业名称 + ${invoicingEnterprisePhone} Get From Dictionary ${InvoiceList} registerPhone #联系电话 + ${invoicingEnterpriseAddress} Get From Dictionary ${InvoiceList} registerAddress #注册地址 + ${taxpayerIdentificationNumber} Get From Dictionary ${InvoiceList} enterpriseTaxNumber #公司税号 + ${invoicingEnterpriseOpeningBank} Get From Dictionary ${InvoiceList} accountOpeningBank #开户行 + Set Global Variable ${invoiceTitleId} + Set Global Variable ${invoicingOpenAccount} + Set Global Variable ${invoicingEnterpriseName} + Set Global Variable ${invoicingEnterprisePhone} + Set Global Variable ${invoicingEnterpriseAddress} + Set Global Variable ${taxpayerIdentificationNumber} + Set Global Variable ${invoicingEnterpriseOpeningBank} #计算合计金额 - ${Price} Evaluate 1250 #商品金额 + #${Price} Evaluate 1250 #商品金额 ${InvoicePrice} Evaluate round((${Price}+${Charges})*${InvoiceData},2) #开票费用 - ${TotalAmount} Evaluate round(${Price}+${InvoicePrice},2) #合计金额 - Set Global Variable ${Price} + ${TotalAmount} Evaluate round(${Price}+${InvoicePrice}+${Charges},2) #合计金额 + #Set Global Variable ${Price} Set Global Variable ${InvoicePrice} Set Global Variable ${TotalAmount} #获取优惠券列表 @@ -207,8 +279,19 @@ PickupOrder Create Session factory ${uecClient} ${ClientHeader} ${reps} Get On Session factory coupon-service/user/list/coupon/current-order-usable params=businessType=2&amount=${TotalAmount} ${CouponList} Get From Dictionary ${reps.json()['data']} currentOrderUsableCouponList #可用优惠券信息 - ${CouponData} Run Keyword If '${CouponList}'=='[]' Evaluate 0 - ... ElSE Run Keyword Coupon + ${CouponData} Run Keyword If '${CouponList}'=='[]' Evaluate 0 ElSE Run Keyword Coupon + +CreateOrder + #确认订单 + Create Session factory ${yytClient} ${ClientHeader} + ${OrderData} Set Variable { \ \ \ \ "remark":"", \ \ \ \ "totalAmount":"${TotalAmount}", \ \ \ \ "taxFee":"${InvoicePrice}", \ \ \ \ "taxRate":"${InvoiceData}", \ \ \ \ "logisticsFee":"${Charges}", \ \ \ \ "supplierFactoryId":"${factoryId}", \ \ \ \ "supplierOrgId":"${orgId}", \ \ \ \ "customerContactsName":"${consigneeName}", \ \ \ \ "customerContactsPhone":"${consigneeMobile}", \ \ \ \ "deliveryAddressCityId":"${CityId}", \ \ \ \ "deliveryAddressCityName":"${cityName}", \ \ \ \ "deliveryAddressDistrictId":"${DistrictId}", \ \ \ \ "deliveryAddressDistrictName":"${districtName}", \ \ \ \ "shippingAddressId":"${AddressId}", \ \ \ \ "deliveryAddressLocDetails":"${AddressDetail}", \ \ \ \ "deliveryAddressProvinceId":"${ProvinceId}", \ \ \ \ "deliveryAddressProvinceName":"${provinceName}", \ \ \ \ "packingMethod":1, \ \ \ \ "salesOrderInvoice":{ \ \ \ \ \ \ \ \ "type":1, \ \ \ \ \ \ \ \ "invoiceTitleId":"${invoiceTitleId}", \ \ \ \ \ \ \ \ "entityType":"1", \ \ \ \ \ \ \ \ "invoicingEnterpriseAddress":"${invoicingEnterpriseAddress}", \ \ \ \ \ \ \ \ "invoicingEnterpriseName":"${invoicingEnterpriseName}", \ \ \ \ \ \ \ \ "invoicingEnterpriseOpeningBank":"${invoicingEnterpriseOpeningBank}", \ \ \ \ \ \ \ \ "invoicingEnterprisePhone":"${invoicingEnterprisePhone}", \ \ \ \ \ \ \ \ "invoicingOpenAccount":"${invoicingOpenAccount}", \ \ \ \ \ \ \ \ "taxpayerIdentificationNumber":"${taxpayerIdentificationNumber}" \ \ \ \ }, \ \ \ \ "salesOrderItemProduct":{ \ \ \ \ \ \ \ \ "productName":"${productName}", \ \ \ \ \ \ \ \ "productId":"${productId}", \ \ \ \ \ \ \ \ "amount":"${Amount}", \ \ \ \ \ \ \ \ "quantity":"${quantity}", \ \ \ \ \ \ \ \ "price":"${unitprice}", \ \ \ \ \ \ \ \ "productImgUrl":"${url}", \ \ \ \ \ \ \ \ "factoryId":"${factoryId}", \ \ \ \ \ \ \ \ "orgId":"${orgId}", \ \ \ \ \ \ \ \ "orderSource":1, \ \ \ \ \ \ \ \ "desc":"${desc}", \ \ \ \ \ \ \ \ "productMeasureDesc":"${productArea}", \ \ \ \ \ \ \ \ "productMaterialDesc":"${productMaterialDesc}", \ \ \ \ \ \ \ \ "productProcessDesc":"${productProcessDesc}", \ \ \ \ \ \ \ \ "copyFromId":null, \ \ \ \ \ \ \ \ "productSpecDetailJson":${DATA}, \ \ \ \ \ \ \ \ "productSpecDetail":"${desc}" \ \ \ \ }, \ \ \ \ "orderSource":1 } + log ${OrderData} + ${reps} POST On Session factory printing-package-mall-service/user/create/sales-order ${OrderData.encode('utf-8')} + ${OrderId} Get From Dictionary ${reps.json()} data #订单id + +TestCase + ${Data} Set Variable { \ \ \ \ \ \ \ \ "amount":0.28, \ \ \ \ \ \ \ \ "detailItemName":"测试", \ \ \ \ \ \ \ \ "discountAmount":0, \ \ \ \ \ \ \ \ "formula":"None", \ \ \ \ \ \ \ \ "nodeIdList":"None", \ \ \ \ \ \ \ \ "originalAmount":0.28, \ \ \ \ \ \ \ \ "settlementName":"小小", \ \ \ \ \ \ \ \ "settlementNameEnum":1, \ \ \ \ \ \ \ \ "spuSpecItemType":"None", \ \ \ \ \ \ \ \ "topic":"开心麻花" } + ${Value} Replace String ${Data} None null *** Keywords *** Coupon