You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
227 lines
15 KiB
227 lines
15 KiB
*** Settings ***
|
|
Documentation 拼版下单
|
|
Library urllib3
|
|
Library Collections
|
|
Library RequestsLibrary
|
|
Library DatabaseLibrary
|
|
Library JSONLibrary
|
|
Library demjson
|
|
Library HttpLibrary
|
|
|
|
*** Test Cases ***
|
|
spuDetail
|
|
#拼版订单
|
|
#获取spu列表
|
|
Create Session factory ${yytClient} ${ClientHeader}
|
|
${reps} GET On Session factory printing-packaging-factory-service/user/get/all-spu-list params=printingType=2&status=1
|
|
${records} Get From Dictionary ${reps.json()['data']} records #盒型列表
|
|
FOR ${SPUData} IN @{records}
|
|
${url} Get From Dictionary ${SPUData['imageUrlList'][0]} url #盒型图片
|
|
${name} Get From Dictionary ${SPUData} name #盒型名称
|
|
${spuId} Get From Dictionary ${SPUData} id #盒型id
|
|
${orgId} Get From Dictionary ${SPUData} orgId #盒子归属组织id
|
|
${factoryId} Get From Dictionary ${SPUData} factoryId #盒子归属工厂id
|
|
Exit For Loop If '${name}'=='内托'
|
|
END
|
|
Set Global Variable ${url}
|
|
Set Global Variable ${name}
|
|
Set Global Variable ${spuId}
|
|
Set Global Variable ${orgId}
|
|
Set Global Variable ${factoryId}
|
|
#盒型详情
|
|
${SPUDetail} Set Variable {"spuId":"${spuId}","basic":true}
|
|
${reps} POST On Session factory printing-packaging-factory-service/user/render/spu-detail ${SPUDetail.encode('utf-8')}
|
|
${quote} Get From Dictionary ${reps.json()['data']} quote #获取报价基础信息
|
|
${amount} Get From Dictionary ${quote} amount #获取盒型报价
|
|
${quantity} Get From Dictionary ${quote} count
|
|
#${quantity} evaluate random.choice(['1000','2000','3000','4000','5000']) random #数量随机数:1000~5000
|
|
${spuDetail} Get From Dictionary ${reps.json()['data']} spuDetail #获取盒型参数信息
|
|
${spuDetail} Update Value To Json ${spuDetail} $..value null #修改value字段key为null
|
|
${spuDetail} Update Value To Json ${spuDetail} $..remark null #修改remark字段key为null
|
|
${spuDetail} Update Value To Json ${spuDetail} $..partNum null #修改partNum字段key为null
|
|
${spuDetail} Update Value To Json ${spuDetail} $..displayName null #修改displayName字段key为null
|
|
${spuDetail} Update Value To Json ${spuDetail} $..spuCategoryName null #修改spuCategoryName字段key为null
|
|
${spuDetail} Update Value To Json ${spuDetail} $..measureFormulaId null #修改measureFormulaId字段key为null
|
|
${spuCategoryId} Get From Dictionary ${spuDetail} spuCategoryId
|
|
${SpuSize} Get From List ${spuDetail["spuSpecItemList"]} 1 #SPU尺寸参数
|
|
${SpuMaterial} Get From List ${spuDetail["spuSpecItemList"]} 0 #SPU材质参数
|
|
${SpuTechnology} Get From List ${spuDetail["spuSpecItemList"]} 2 #SPU工艺参数
|
|
${spuSpecItemList} Create List
|
|
Append To List ${spuSpecItemList} ${SpuMaterial} ${SpuSize} ${SpuTechnology}
|
|
${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) #工艺费
|
|
${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低消计价
|
|
${Data} Evaluate 3 #修改
|
|
${SpuSizeNormal} Add Object To Json ${SpuSizeNormal} $.operateType ${Data}
|
|
${SpuSizeQuotation} Add Object To Json ${SpuSizeQuotation} $.operateType ${Data} #将对象data加入到json中
|
|
${Operate} Get Value From Json ${SpuSizeQuotation} $.operateType
|
|
${Value} Get Value From Json ${spuDetail} $..value
|
|
${remark} Get Value From Json ${spuDetail} $..remark
|
|
${partNum} Get Value From Json ${spuDetail} $..partNum
|
|
${displayName} Get Value From Json ${spuDetail} $..displayName
|
|
${spuCategoryName} Get Value From Json ${spuDetail} $..spuCategoryName
|
|
${measureFormulaId} Get Value From Json ${spuDetail} $..measureFormulaId
|
|
${spuDetail} Evaluate demjson.encode(${spuDetail}) demjson #字典转换字符串
|
|
${SpuSizeNormal} Evaluate demjson.encode(${SpuSizeNormal}) demjson
|
|
${SpuSizeQuotation} Evaluate demjson.encode(${SpuSizeQuotation}) demjson
|
|
Should Be Equal ${amount} ${TotalPrice}
|
|
Set Global Variable ${quote}
|
|
Set Global Variable ${SpuSize}
|
|
Set Global Variable ${spuDetail}
|
|
Set Global Variable ${SpuMaterial}
|
|
Set Global Variable ${spuCategoryId}
|
|
Set Global Variable ${SpuTechnology}
|
|
Set Global Variable ${SpuSizeNormal}
|
|
Set Global Variable ${spuSpecItemList}
|
|
Set Global Variable ${SpuSizeQuotation}
|
|
|
|
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 #计价尺寸
|
|
${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) #工艺费
|
|
${TotalPrice} Evaluate round(${Material}+${Technology},2) #总价
|
|
${Price} Set Variable If '${TotalPrice}'<='125' 125 ${TotalPrice} #比较价格
|
|
Should Be Equal As Numbers ${Amount} ${Price}
|
|
Set Global Variable ${Price}
|
|
|
|
Normal
|
|
#选择盒型参数-正常计算
|
|
Create Session factory ${yytClient} ${ClientHeader}
|
|
${spuNormal} Set Variable { \ \ \ \ "spuId":"${spuId}", \ \ \ \ "basic":false, \ \ \ \ "spuDetail":${spuDetail}, \ \ \ \ "operateRenderSpuItemList":[${SpuSizeNormal}] }
|
|
${reps} POST On Session factory printing-packaging-factory-service/user/render/spu-detail ${spuNormal.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 #计价尺寸
|
|
${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) #工艺费
|
|
${TotalPrice} Evaluate round(${Material}+${Technology},2) #总价
|
|
${Price} Set Variable If '${TotalPrice}'<='125' 125 ${TotalPrice} #比较价格
|
|
Log ${Price}
|
|
Should Be Equal As Numbers ${Amount} ${Price}
|
|
Set Global Variable ${Price}
|
|
|
|
ConfirmOrder
|
|
#确认下单页面
|
|
#查询钱包
|
|
Create Session factory ${uecClient} ${ClientHeader}
|
|
${reps} GET On Session factory wallet-service/user/get/wallet-account
|
|
${amountGift} Get From Dictionary ${reps.json()['data']} amountGift #赠送金额
|
|
${totalBalance} Get From Dictionary ${reps.json()['data']} totalBalance #总金额
|
|
${frozenBalance} Get From Dictionary ${reps.json()['data']} frozenBalance #冻结金额
|
|
${availableBalance} Get From Dictionary ${reps.json()['data']} availableBalance #可用金额
|
|
Set Global Variable ${amountGift}
|
|
Set Global Variable ${totalBalance}
|
|
Set Global Variable ${frozenBalance}
|
|
Set Global Variable ${availableBalance}
|
|
#获取抬头数据
|
|
Create Session factory ${yytClient} ${ClientHeader}
|
|
${reps} Get On Session factory printing-package-mall-service/user/page/invoice-title params=pageNum=1&pageSize=100
|
|
${Title} Get From Dictionary ${reps.json()['data']} records #获取发票抬头列表
|
|
${InvoiceTitle} Evaluate random.choice(${Title}) random
|
|
Set Global Variable ${InvoiceTitle}
|
|
|
|
DeliveryOrder
|
|
#获取送货地址列表
|
|
Create Session factory ${yytClient} ${ClientHeader}
|
|
${reps} GET On Session factory printing-package-mall-service/user/page/user-shipping-address params=pageNum=1&pageSize=100
|
|
${AddressList} Get From Dictionary ${reps.json()['data']} records #地址列表
|
|
${Address} Evaluate random.choice(${AddressList}) random #随机获取送货地址
|
|
${CityId} Get From Dictionary ${Address} cityId #市id
|
|
${DistrictId} Get From Dictionary ${Address} districtId #区id
|
|
${ProvinceId} Get From Dictionary ${Address} provinceId #省id
|
|
Set Global Variable ${CityId}
|
|
Set Global Variable ${DistrictId}
|
|
Set Global Variable ${ProvinceId}
|
|
#送货-获取税点
|
|
${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 #物流费用
|
|
${InvoiceList} Get From Dictionary ${reps.json()['data']} enterpriseInvoiceList #获取税点信息
|
|
FOR ${Invoice} IN @{InvoiceList}
|
|
${tax} Get From Dictionary ${Invoice} tax #税点
|
|
${type} Get From Dictionary ${Invoice} type #开票类型
|
|
END
|
|
${InvoiceData} Set Variable If '${type}'=='1' or '${type}'=='2' ${tax} 0
|
|
${Charges} Set Variable If '${Charges}'=='${None}' 0 ${Charges}
|
|
Set Global Variable ${Charges}
|
|
Set Global Variable ${InvoiceData}
|
|
#计算合计金额
|
|
${Amount} Evaluate 125 #商品金额
|
|
${InvoicePrice} Evaluate round((${Price}+${Charges})*${InvoiceData},2) #开票费用
|
|
${TotalAmount} Evaluate round(${Price}+${InvoicePrice},2) #合计金额
|
|
Set Global Variable ${Amount}
|
|
Set Global Variable ${InvoicePrice}
|
|
Set Global Variable ${TotalAmount}
|
|
#获取优惠券列表
|
|
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 #可用优惠券信息
|
|
Log ${CouponList}
|
|
${CouponPrice} Run Keyword If '${CouponList}'=='[]' Evaluate 0
|
|
... ELSE Run Keyword Coupon
|
|
${TotalPrice} Evaluate round(${Price}+${InvoicePrice}-${CouponPrice}+${Charges},2) #下单金额=商品金额+开票费用+物流-优惠券
|
|
|
|
PickupOrder
|
|
#自提
|
|
${LocationCityId} Set Variable 120100
|
|
${LocationDistrictId} Set Variable 120102
|
|
${LocationProvinceId} Set Variable 120000
|
|
Set Global Variable ${LocationCityId}
|
|
Set Global Variable ${LocationDistrictId}
|
|
Set Global Variable ${LocationProvinceId}
|
|
#自提-获取税点
|
|
Create Session factory ${yytClient} ${ClientHeader}
|
|
${reps} GET On Session factory printing-package-mall-service/user/get/sale-order/other-fees-config params=factoryId=${Fid}&orgId=${organizationId}&deliveryAddressProvinceId=${LocationProvinceId}&deliveryAddressCityId=${LocationCityId}&deliveryAddressDistrictId=${LocationDistrictId}
|
|
${Charges} Get From Dictionary ${reps.json()['data']} logisticsCharges #物流费用
|
|
${InvoiceList} Get From Dictionary ${reps.json()['data']} enterpriseInvoiceList #获取税点信息
|
|
FOR ${Invoice} IN @{InvoiceList}
|
|
${tax} Get From Dictionary ${Invoice} tax #税点
|
|
${type} Get From Dictionary ${Invoice} type #开票类型
|
|
END
|
|
${LocationInvoiceData} Set Variable If '${type}'=='1' ${tax} '${type}'=='2' ${tax} 0
|
|
Set Global Variable ${Charges}
|
|
Set Global Variable ${LocationInvoiceData}
|
|
#计算合计金额
|
|
${Amount} Evaluate 125 #商品金额
|
|
${InvoicePrice} Evaluate (${Amount}+${Charges})*${LocationInvoiceData} #开票费用
|
|
${TotalAmount} Evaluate ${Amount}+${InvoicePrice} #合计金额
|
|
Set Global Variable ${Amount}
|
|
Set Global Variable ${InvoicePrice}
|
|
Set Global Variable ${TotalAmount}
|
|
#获取优惠券列表
|
|
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
|
|
|
|
*** Keywords ***
|
|
Coupon
|
|
#获取优惠券列表
|
|
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} Evaluate random.choice(${CouponList}) random
|
|
${couponType} Get From Dictionary ${CouponData} couponType #优惠类型,3:折扣,2:满减
|
|
${discountAmount} Get From Dictionary ${CouponData} discountAmount #优惠金额/折扣
|
|
${orderAmountLowerLimit} Get From Dictionary ${CouponData} orderAmountLowerLimit #优惠条件金额
|
|
${discountAmountUpperLimit} Get From Dictionary ${CouponData} discountAmountUpperLimit #优惠封顶金额
|
|
${CouponPrice} Run Keyword If '${couponType}'==3 Evaluate ${orderAmountLowerLimit}*(1-${discountAmount})
|
|
... ELSE Set Variable ${discountAmount}
|
|
${Coupon} Set Variable If '${CouponPrice}'>'${discountAmountUpperLimit}' ${discountAmountUpperLimit} ${CouponPrice}
|
|
Set Global Variable ${Coupon}
|