Commit d8b64161f3cf83eab8233ac59e3c358b0c15d8e7
Merge remote-tracking branch 'origin/master'
Showing
9 changed files
with
530 additions
and
72 deletions
commons/api/entranceFeeBillList.py
... | ... | @@ -247,9 +247,182 @@ def do_doPay(host="",autocompletecartype=None,fee_str="",**kwargs): |
247 | 247 | res = my.useHeadersRequests("post", url=url, data=data_uc, headers=headers) |
248 | 248 | return res |
249 | 249 | |
250 | +def do_payOrder(host="http://test.jmsf.diligrp.com:8385",attrName="收费单号",attrValue="202108060900032"): | |
251 | + a = listPage(host=host, attrName=attrName, attrValue=attrValue) | |
252 | + print("listPage", a.json()) | |
253 | + orderId = a.json()["rows"][0]["id"] | |
254 | + number = a.json()["rows"][0]["number"] | |
255 | + created = a.json()["rows"][0]["created"] | |
256 | + print(orderId) | |
257 | + | |
258 | + # # 订单详情获取 | |
259 | + | |
260 | + resOrderDetails = get_OrderDetails(host=host, orderId=orderId) | |
261 | + unitPrice = re.findall('name="unitPrice" value="(.*?)" id', resOrderDetails.text)[0] | |
262 | + goodsId = re.findall('id="goodsId" value="(.*?)">', resOrderDetails.text)[0] | |
263 | + status = re.findall('"status" name="status" value="(.*?)">', resOrderDetails.text)[0] | |
264 | + source = re.findall('id="source" name="source" value="(.*?)">', resOrderDetails.text)[0] | |
265 | + optType = re.findall('id="optType" name="optType" value="(.*?)">', resOrderDetails.text)[0] | |
266 | + correctInfo = re.findall('d="correctInfo" name="correctInfo" value="(.*?)">', resOrderDetails.text)[0] | |
267 | + weightType = re.findall('name="weightType" id="weightType" value="(.*?)">', resOrderDetails.text)[0] | |
268 | + correctDiscount = re.findall('id="correctDiscount" name="correctDiscount" value="(.*?)">', resOrderDetails.text)[0] | |
269 | + regionId = re.findall('<option value="(.*?)" bind-name="', resOrderDetails.text)[0] | |
270 | + goodsTagIds = \ | |
271 | + re.findall('<input name="goodsTagIds" type="radio" value="(.*?)" readonly checked>', resOrderDetails.text)[0] | |
272 | + sumPrice = re.findall('<input type="hidden" name="sumPrice" value="(.*?)" id="sumPrice">', resOrderDetails.text)[0] | |
273 | + calcFeeDepId = re.findall('<input type="hidden" name="calcFeeDepId" value="(.*?)">', resOrderDetails.text)[0] | |
274 | + tradeTypeId = \ | |
275 | + re.findall('input type="hidden" class="form-control" name="tradeTypeId" value="(.*?)" >', resOrderDetails.text)[0] | |
276 | + shareRatio = \ | |
277 | + re.findall('input type="hidden" id="shareRatioVal" name="shareRatio" value="(.*?)"', resOrderDetails.text)[0] | |
278 | + regionName = re.findall('" bind-name="(.*?)"', resOrderDetails.text)[0] | |
279 | + | |
280 | + # 用户信息获取 | |
281 | + ic = 888810032426 | |
282 | + res = get_icCheck(host=host, ic=ic) | |
283 | + print(res.text) | |
284 | + customerId = res.json()["data"]["aInfo"]["customerId"] | |
285 | + customerName = res.json()["data"]["aInfo"]["customerName"] | |
286 | + accountId = res.json()["data"]["aInfo"]["accountId"] | |
287 | + mobile = res.json()["data"]["aInfo"]["mobile"] | |
288 | + | |
289 | + # 省市区获取 | |
290 | + res = get_city(host=host, name="万州") | |
291 | + print(res.text) | |
292 | + originId = res.json()["suggestions"][0]["id"] | |
293 | + parentId = res.json()["suggestions"][0]["parentId"] | |
294 | + value = res.json()["suggestions"][0]["value"] | |
295 | + | |
296 | + # 获取缴费金额 | |
297 | + # host = "http://test.jmsf.diligrp.com:8385" | |
298 | + plate = re.findall('name="plate" class="form-control" value="(.*?)" id="plate"', resOrderDetails.text)[0] | |
299 | + modified = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) | |
300 | + carTypeName = re.findall('name="carTypeName" id="carTypeName" value="(.*?)" ', resOrderDetails.text)[0] | |
301 | + carTypeCode = re.findall('name="carTypeCode" id="carTypeCode" value="(.*?)" ', resOrderDetails.text)[0] | |
302 | + carTypeId = re.findall('name="carTypeId" id="carTypeId" value="(.*?)" ', resOrderDetails.text)[0] | |
303 | + carTypeWeight = "333" | |
304 | + proveType = re.findall(' value="(.*?)" id="proveType" name="proveType"', resOrderDetails.text)[0] | |
305 | + proveTypeCode = proveType | |
306 | + grossWeight = re.findall('name="grossWeight" id="grossWeight" value="(.*?)"', resOrderDetails.text)[0] | |
307 | + newWeight = re.findall('name="weight" readonly value="(.*?)" id="weight"', resOrderDetails.text)[0] | |
308 | + tareWeight = re.findall('name="tareWeight" id="tareWeight" value="(.*?)"', resOrderDetails.text)[0] | |
309 | + depName = re.findall('id="depName" name="depName" value="(.*?)"', resOrderDetails.text)[0] | |
310 | + feeDepId = re.findall('name="calcDepId" value="(.*?)"', resOrderDetails.text)[0] | |
311 | + productName = re.findall('name="productName" value="(.*?)"', resOrderDetails.text)[0] | |
312 | + productId = re.findall('id="productId" value="(.*?)"', resOrderDetails.text)[0] | |
313 | + grossWeightDate = re.findall('name="grossWeightDate" value="(.*?)"', resOrderDetails.text)[0] | |
314 | + tareWeightDate = re.findall('name="tareWeightDate" value="(.*?)"', resOrderDetails.text)[0] | |
315 | + weight = re.findall('name="weight" readonly value="(.*?)"', resOrderDetails.text)[0] | |
316 | + calcDepId = re.findall('name="calcDepId" value="(.*?)"', resOrderDetails.text)[0] | |
317 | + categoryName = "水果" | |
318 | + categoryId = "14436" | |
319 | + inGreeterName = re.findall('id="inGreeterName" value="(.*?)"', resOrderDetails.text)[0] | |
320 | + inGreeterId = re.findall('name="inGreeterId" id="inGreeterId" value="(.*?)"', resOrderDetails.text)[0] | |
321 | + | |
322 | + autocompletecartype = f"{carTypeCode}({carTypeName})" | |
323 | + print(autocompletecartype) | |
324 | + | |
325 | + res = get_calculateRes(host=host, autocompletecartype=autocompletecartype, optType=optType, correctInfo=correctInfo, | |
326 | + weightType=weightType, id=orderId, goodsId=goodsId, number=number, modified=modified, | |
327 | + status=status, | |
328 | + source=source, correctDiscount=correctDiscount, plate=plate, carTypeName=carTypeName, | |
329 | + carTypeCode=carTypeCode, | |
330 | + carTypeId=carTypeId, carTypeWeight=carTypeWeight, proveType=proveType, | |
331 | + grossWeight=grossWeight, | |
332 | + tareWeight=tareWeight, unitPrice=unitPrice, depName=depName, productName=productName, | |
333 | + productId=productId, originId=originId, tradeTypeId=tradeTypeId, created=created, | |
334 | + goodsTagIds=goodsTagIds, | |
335 | + shareRatio=shareRatio, categoryName=categoryName, categoryId=categoryId, | |
336 | + grossWeightDate=grossWeightDate, | |
337 | + tareWeightDate=tareWeightDate, sumPrice=sumPrice, calcDepId=calcDepId, weight=weight, | |
338 | + inGreeterName=inGreeterName, inGreeterId=inGreeterId) | |
339 | + | |
340 | + # backSkinTwo = re.findall('name="backSkinTwo" value="(.*?)" >',res.text)[0] | |
341 | + # 缴费信息 | |
342 | + totalMoney = re.findall('name="totalMoney" value="(.*?)">', res.text)[0] | |
343 | + discountAmount = re.findall('name="discountAmount" value="(.*?)">', res.text)[0] | |
344 | + collectionPrice = re.findall('" name="collectionPrice" value="(.*?)">', res.text)[0] | |
345 | + handReceivableAmount = re.findall('name="handReceivableAmount" value="(.*?)">', res.text)[0] | |
346 | + correctDiscount = re.findall('id="correctDiscount" name="correctDiscount" value="(.*?)">', res.text)[0] | |
347 | + billItemCheckIds = re.findall('" name="billItemCheckIds" value="(.*?)" ', res.text)[0] | |
348 | + billItemCheckIdsV = re.findall('" maxlength="15" data-old="(.*?)"', res.text)[0] | |
349 | + receivable = re.findall('id="creceivableLong" name="receivable" value="(.*?)">', res.text)[0] | |
350 | + | |
351 | + soup = BeautifulSoup(res.text, "html.parser") | |
352 | + # 查找dl标签class为包含'ui-font-'字符的所有dl标签 | |
353 | + fee_str = "correctDiscount=1&billItems=&billItemsDic=" | |
354 | + fee_int = 0 | |
355 | + discount_amount = 0 | |
356 | + for tag in soup.findAll("div", class_="d-flex align-items-center"): | |
357 | + print("=============================================") | |
358 | + c = tag.findAll("input") | |
359 | + for i in c: | |
360 | + print(i) | |
361 | + if i.get("name") != None: | |
362 | + fee_str = fee_str + "&" + i.get("name") + "=" + urllib.parse.quote(i.get("value")) | |
363 | + if i.get("type") == "text": | |
364 | + print("---------------- f 2 s----------------") | |
365 | + print(i) | |
366 | + print(i.get("value")) | |
367 | + fee_int = fee_int + int(float(i.get("value"))) | |
368 | + print("---------------- f 2 e----------------") | |
369 | + if "优惠" in i.get("value"): | |
370 | + discount_amount = discount_amount + int(json.loads(i.get("value"))["receivable"]) / 100 | |
371 | + # fee_int = fee_int+int(i.get("value")) | |
372 | + # print(fee_str) | |
373 | + # print(fee_int) | |
374 | + # print("discount_amount",discount_amount) | |
375 | + # print("discountAmount",discountAmount) | |
376 | + | |
377 | + pwd = "111111" | |
378 | + id = orderId | |
379 | + totalAmount = totalMoney | |
380 | + customerPhone = mobile | |
381 | + productPrice = "1.00000" | |
382 | + dep = feeDepId | |
383 | + productArea = "重庆,重庆市,万州区" | |
384 | + chargeTotalAmount = totalMoney | |
385 | + chargeTotalAmountYuan = fee_int - int(discount_amount) | |
386 | + freezeMoneySymbol = fee_int | |
387 | + comparisonFreezeAmount = fee_int | |
388 | + modified = created | |
389 | + firmCode = my.userInfo["data"]["user"]["firmCode"] | |
390 | + marketFlag = firmCode | |
391 | + collectionPrice = 0 | |
392 | + itemReceivableAmount = receivable | |
393 | + receivableAmount = receivable | |
394 | + tareWeightDate = tareWeightDate | |
395 | + aa = do_doPay(host=host, autocompletecartype=autocompletecartype, fee_str=fee_str, pwd=pwd, optType=optType, | |
396 | + weightType=weightType, id=id, goodsId=goodsId, number=number, created=created, status=status, | |
397 | + source=source, | |
398 | + correctDiscount=correctDiscount, totalAmount=totalAmount, customerId=customerId, | |
399 | + fundAccount=accountId, | |
400 | + accountId=accountId, ic=ic, customerName=customerName, customerPhone=customerPhone, plate=plate, | |
401 | + carTypeName=carTypeName, carTypeCode=carTypeCode, carTypeId=carTypeId, carTypeWeight=carTypeWeight, | |
402 | + proveType=proveType, grossWeight=grossWeight, tareWeight=tareWeight, weight=weight, | |
403 | + productPrice=productPrice, | |
404 | + unitPrice=unitPrice, depName=depName, calcDepId=calcDepId, dep=dep, regionName=regionName, | |
405 | + regionId=regionId, | |
406 | + productName=productName, productId=productId, productArea=productArea, originId=originId, | |
407 | + tradeTypeId=tradeTypeId, correctInfo=correctInfo, chargeTotalAmount=chargeTotalAmount, | |
408 | + freezeMoneySymbol=freezeMoneySymbol, comparisonFreezeAmount=comparisonFreezeAmount, modified=modified, | |
409 | + goodsTagIds=goodsTagIds, marketFlag=marketFlag, totalMoney=totalMoney, receivable=receivable, | |
410 | + collectionPrice=collectionPrice, discountAmount=discountAmount, | |
411 | + handReceivableAmount=handReceivableAmount, | |
412 | + itemReceivableAmount=itemReceivableAmount, receivableAmount=receivableAmount, | |
413 | + categoryName=categoryName, | |
414 | + categoryId=carTypeId, grossWeightDate=grossWeightDate, tareWeightDate=tareWeightDate, | |
415 | + sumPrice=sumPrice, | |
416 | + chargeTotalAmountYuan=chargeTotalAmountYuan) | |
417 | + | |
418 | + print(aa.text) | |
419 | + return aa | |
420 | + | |
421 | +# do_payOrder(attrValue="202108060900035") | |
250 | 422 | |
251 | 423 | |
252 | -a = listPage(host="http://test.jmsf.diligrp.com:8385",attrName="收费单号",attrValue="202108060900028") | |
424 | +""" | |
425 | +a = listPage(host="http://test.jmsf.diligrp.com:8385",attrName="收费单号",attrValue="202108060900032") | |
253 | 426 | print("listPage",a.json()) |
254 | 427 | orderId = a.json()["rows"][0]["id"] |
255 | 428 | number = a.json()["rows"][0]["number"] |
... | ... | @@ -257,15 +430,12 @@ created = a.json()["rows"][0]["created"] |
257 | 430 | print(orderId) |
258 | 431 | |
259 | 432 | # # 订单详情获取 |
260 | -# orderId = 3674 | |
433 | + | |
261 | 434 | resOrderDetails = get_OrderDetails(host="http://test.jmsf.diligrp.com:8385",orderId=orderId) |
262 | -# print(res.text) | |
263 | 435 | unitPrice = re.findall('name="unitPrice" value="(.*?)" id',resOrderDetails.text)[0] |
264 | - | |
265 | 436 | goodsId = re.findall('id="goodsId" value="(.*?)">',resOrderDetails.text)[0] |
266 | 437 | status = re.findall('"status" name="status" value="(.*?)">',resOrderDetails.text)[0] |
267 | 438 | source = re.findall('id="source" name="source" value="(.*?)">',resOrderDetails.text)[0] |
268 | - | |
269 | 439 | optType = re.findall('id="optType" name="optType" value="(.*?)">',resOrderDetails.text)[0] |
270 | 440 | correctInfo = re.findall('d="correctInfo" name="correctInfo" value="(.*?)">',resOrderDetails.text)[0] |
271 | 441 | weightType = re.findall('name="weightType" id="weightType" value="(.*?)">',resOrderDetails.text)[0] |
... | ... | @@ -296,42 +466,29 @@ parentId = res.json()["suggestions"][0]["parentId"] |
296 | 466 | value = res.json()["suggestions"][0]["value"] |
297 | 467 | |
298 | 468 | # 获取缴费金额 |
299 | -plate="川B00001" | |
300 | 469 | host="http://test.jmsf.diligrp.com:8385" |
470 | +plate= re.findall('name="plate" class="form-control" value="(.*?)" id="plate"',resOrderDetails.text)[0] | |
301 | 471 | modified=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) |
302 | 472 | carTypeName= re.findall('name="carTypeName" id="carTypeName" value="(.*?)" ',resOrderDetails.text)[0] |
303 | 473 | carTypeCode = re.findall('name="carTypeCode" id="carTypeCode" value="(.*?)" ',resOrderDetails.text)[0] |
304 | 474 | carTypeId = re.findall('name="carTypeId" id="carTypeId" value="(.*?)" ',resOrderDetails.text)[0] |
305 | 475 | carTypeWeight = "333" |
306 | -# proveTypeCode = "1621" | |
307 | 476 | proveType = re.findall(' value="(.*?)" id="proveType" name="proveType"',resOrderDetails.text)[0] |
308 | 477 | proveTypeCode = proveType |
309 | -# grossWeight="353" | |
310 | 478 | grossWeight = re.findall('name="grossWeight" id="grossWeight" value="(.*?)"',resOrderDetails.text)[0] |
311 | -# newWeight="20" | |
312 | 479 | newWeight = re.findall('name="weight" readonly value="(.*?)" id="weight"',resOrderDetails.text)[0] |
313 | -# tareWeight="333" | |
314 | 480 | tareWeight=re.findall('name="tareWeight" id="tareWeight" value="(.*?)"',resOrderDetails.text)[0] |
315 | -# depName="接车部" | |
316 | 481 | depName = re.findall('id="depName" name="depName" value="(.*?)"',resOrderDetails.text)[0] |
317 | -# feeDepId="103" | |
318 | 482 | feeDepId = re.findall('name="calcDepId" value="(.*?)"',resOrderDetails.text)[0] |
319 | -# productName="雪莲果" | |
320 | 483 | productName = re.findall('name="productName" value="(.*?)"',resOrderDetails.text)[0] |
321 | -# productId="14158" | |
322 | 484 | productId=re.findall('id="productId" value="(.*?)"',resOrderDetails.text)[0] |
323 | -# grossWeightDate=created | |
324 | 485 | grossWeightDate=re.findall('name="grossWeightDate" value="(.*?)"',resOrderDetails.text)[0] |
325 | -# tareWeightDate=created | |
326 | 486 | tareWeightDate = re.findall('name="tareWeightDate" value="(.*?)"',resOrderDetails.text)[0] |
327 | -# weight=newWeight | |
328 | 487 | weight = re.findall('name="weight" readonly value="(.*?)"',resOrderDetails.text)[0] |
329 | 488 | calcDepId=re.findall('name="calcDepId" value="(.*?)"',resOrderDetails.text)[0] |
330 | 489 | categoryName="水果" |
331 | 490 | categoryId="14436" |
332 | -# inGreeterName="通用测试" | |
333 | 491 | inGreeterName = re.findall('id="inGreeterName" value="(.*?)"',resOrderDetails.text)[0] |
334 | -# inGreeterId="274" | |
335 | 492 | inGreeterId = re.findall('name="inGreeterId" id="inGreeterId" value="(.*?)"',resOrderDetails.text)[0] |
336 | 493 | |
337 | 494 | |
... | ... | @@ -371,7 +528,6 @@ for tag in soup.findAll("div", class_="d-flex align-items-center"): |
371 | 528 | c = tag.findAll("input") |
372 | 529 | for i in c: |
373 | 530 | print(i) |
374 | - # print(i.get("name")) | |
375 | 531 | if i.get("name") != None: |
376 | 532 | fee_str = fee_str + "&" + i.get("name") + "=" + urllib.parse.quote(i.get("value")) |
377 | 533 | if i.get("type") == "text": |
... | ... | @@ -422,4 +578,5 @@ aa = do_doPay(host=host,autocompletecartype=autocompletecartype,fee_str=fee_str, |
422 | 578 | categoryId=carTypeId,grossWeightDate=grossWeightDate,tareWeightDate=tareWeightDate,sumPrice=sumPrice, |
423 | 579 | chargeTotalAmountYuan=chargeTotalAmountYuan) |
424 | 580 | |
425 | -print(aa.text) | |
426 | 581 | \ No newline at end of file |
582 | +print(aa.text) | |
583 | +""" | |
427 | 584 | \ No newline at end of file | ... | ... |
commons/api/zcApi.py
... | ... | @@ -86,7 +86,7 @@ def get_dep(host="",**kwargs): |
86 | 86 | data = {"keyword":""} |
87 | 87 | headers = dct.jsonCode() |
88 | 88 | data = dict(data, **kwargs) |
89 | - res = my.useHeadersRequests(method="get", url=url, data=json.dumps(data), headers=headers) | |
89 | + res = my.useHeadersRequests(method="get", url=url, params=data, headers=headers) | |
90 | 90 | return res |
91 | 91 | |
92 | 92 | ... | ... |
report/test.log
1 | -[2021-08-06 15:48:12] [INFO] : ====================================================================================== | |
2 | -[2021-08-06 15:48:12] [INFO] : http://test.uap.diligrp.com/api/authenticationApi/loginWeb | |
3 | -{'data': None, 'json': {'userName': 'sy_chen', 'password': 'VTOTPkEIxvmtuO8zWAmUxzEJRCclqyDB4PzmKnOTpX86q20urQX6IRUZPGHh4g5JDryMvrFYBWufCB9kTnOzHmN1rHx5CIpV8yR6bX0+lQAk2hFlPcZbsWoDgK31CsPr4epTirwTf3WX1lhpMh45oZCYWgaR9PctTb4vAbVJ4m0='}, 'headers': {'Content-Type': 'text/plain;charset=utf-8', 'Host': 'test.uap.diligrp.com', 'Content-Length': '209', 'Expect': '100-continue'}} | |
1 | +[2021-08-06 17:59:01] [INFO] : ====================================================================================== | |
2 | +[2021-08-06 17:59:01] [INFO] : http://test.uap.diligrp.com/api/authenticationApi/loginWeb | |
3 | +{'data': None, 'json': {'userName': 'sy_chen', 'password': 'lsWZHfMAgFdA1giqEGJYul8opwYuR43hQpevsvVb43uipM2lnt6JdkBKNUOQqglnozlTCnVQGSo1jClpGUlPrf5vZRqa0pGL+bkt7JeXJEn+PWX6YwcReS35AZjjVMkvte914ZiwNkOhgMS6S/mQeJc6fjJX34NkbMG2yE2jK6w='}, 'headers': {'Content-Type': 'text/plain;charset=utf-8', 'Host': 'test.uap.diligrp.com', 'Content-Length': '209', 'Expect': '100-continue'}} | |
4 | 4 | |
5 | -[2021-08-06 15:48:13] [INFO] : ====================================================================================== | |
6 | -[2021-08-06 15:48:13] [INFO] : http://test.uap.diligrp.com/api/authenticationApi/loginWeb | |
7 | -{'data': None, 'json': {'userName': 'sygangda', 'password': 'kflO1Y7sTjw7YW/y91OMEKKuxKDQCZHNpvL6CUTRMcYg5AJkoN+B1OJW6z5K2vHDeNiJC0+cEnZYcPYsBmFxWgVIiUjf/XAWhd2dsh1HcOQ/HK65PmUFPVOAWlMqFnmkPCgBpd8OYMYUHn6/gHqpyh+MUDi++TSDQcswcgKbY8E='}, 'headers': {'Content-Type': 'text/plain;charset=utf-8', 'Host': 'test.uap.diligrp.com', 'Content-Length': '209', 'Expect': '100-continue'}} | |
5 | +[2021-08-06 17:59:01] [INFO] : ====================================================================================== | |
6 | +[2021-08-06 17:59:01] [INFO] : http://test.uap.diligrp.com/api/authenticationApi/loginWeb | |
7 | +{'data': None, 'json': {'userName': 'sygangda', 'password': 'NDKNIWWSXVpWHh9IK/ZgUt60b1DTN6k3jNED6lGBp3Hreemne5supQ8BeLwwxSoRxxt/Ko1Ejg2tLAOBpcsU7yxIvdEBDnuCof8d3OSmsCP83tMGnu/qIe94hIpfz6Pmo5dCQmXK3R83xhFE4FxVhQhL2z1j+QR6iBUWSXnAizU='}, 'headers': {'Content-Type': 'text/plain;charset=utf-8', 'Host': 'test.uap.diligrp.com', 'Content-Length': '209', 'Expect': '100-continue'}} | |
8 | 8 | |
9 | -[2021-08-06 15:48:13] [INFO] : ====================================================================================== | |
10 | -[2021-08-06 15:48:13] [INFO] : http://test.jmsf.diligrp.com:8385/entranceFeeBill/listPage.action | |
11 | -{'rows': '10', 'page': '1', 'sort': 'et.created', 'order': 'desc', 'metadata[created]': '{"provider": "datetimeProvider", "index": 10, "field": "created"}', 'metadata[totalPrice]': '{"provider": "moneyProvider", "index": 20, "field": "totalPrice"}', 'metadata[paymentTime]': '{"provider": "datetimeProvider", "index": 30, "field": "paymentTime"}', 'metadata[type]': '{"provider": "entranceFeeBillTypeProvider", "index": 40, "field": "type"}', 'metadata[status]': '{"provider": "entranceFeeBillStateProvider", "index": 50, "field": "status"}', 'attr': 'number', 'attrValue': '202108060900019'} | |
9 | +[2021-08-06 17:59:01] [INFO] : ====================================================================================== | |
10 | +[2021-08-06 17:59:01] [INFO] : http://test.gateway.diligrp.com:8285/jmsf-web/api/jmsf/query/listCarType | |
11 | +{"businessCode": "jmsf"} | |
12 | 12 | {} |
13 | 13 | |
14 | -[2021-08-06 15:48:13] [INFO] : ====================================================================================== | |
15 | -[2021-08-06 15:48:13] [INFO] : http://test.jmsf.diligrp.com:8385/entranceFeeBill/pay/3745.action | |
16 | -None | |
14 | +[2021-08-06 17:59:02] [INFO] : ====================================================================================== | |
15 | +[2021-08-06 17:59:02] [INFO] : http://test.gateway.diligrp.com:8285/assets-service/api/cusCategory/getTree | |
16 | +{"marketId": 9, "state": 1, "keyword": "\u852c\u83dc"} | |
17 | 17 | {} |
18 | 18 | |
19 | -[2021-08-06 15:48:15] [INFO] : ====================================================================================== | |
20 | -[2021-08-06 15:48:15] [INFO] : http://test.jmsf.diligrp.com:8385/api/jmsf/ajax/icCheck?ic=888810032426 | |
21 | -None | |
19 | +[2021-08-06 17:59:02] [INFO] : ====================================================================================== | |
20 | +[2021-08-06 17:59:02] [INFO] : http://test.gateway.diligrp.com:8285/dili-uap/userApi/listByExample.api | |
21 | +{"firmCode": "sy", "departmentId": 58, "keyword": ""} | |
22 | 22 | {} |
23 | 23 | |
24 | -[2021-08-06 15:48:20] [INFO] : ====================================================================================== | |
25 | -[2021-08-06 15:48:20] [INFO] : http://test.jmsf.diligrp.com:8385/api/jmsf/ajax/city/?name=万州&query=万州 | |
24 | +[2021-08-06 17:59:02] [INFO] : ====================================================================================== | |
25 | +[2021-08-06 17:59:02] [INFO] : http://test.gateway.diligrp.com:8285/assets-service/api/tradeType/query | |
26 | +{"pageNum": 100, "pageSize": 100, "marketId": 9} | |
27 | +{} | |
28 | + | |
29 | +[2021-08-06 17:59:02] [INFO] : ====================================================================================== | |
30 | +[2021-08-06 17:59:02] [INFO] : http://test.gateway.diligrp.com:8285/jmsf-web/api/jmsf/query/listCodeByPid | |
26 | 31 | None |
32 | +{'params': {'pid': 'goods_tag'}} | |
33 | + | |
34 | +[2021-08-06 17:59:03] [INFO] : ====================================================================================== | |
35 | +[2021-08-06 17:59:03] [INFO] : http://test.gateway.diligrp.com:8285/jmsf-web/api/jmsf/query/address | |
36 | +{"province": "C", "city": null, "area": null} | |
27 | 37 | {} |
28 | 38 | |
29 | -[2021-08-06 15:48:20] [INFO] : ====================================================================================== | |
30 | -[2021-08-06 15:48:20] [INFO] : http://test.jmsf.diligrp.com:8385/calculate/index.action | |
31 | -{'protocolId': '', 'pwd': '', 'clientRedirectTag': '', 'viewType': 'pay', 'optType': '0', 'optUrl': '', 'correctInfo': '1', 'weightType': '1', 'id': 3745, 'goodsId': '3759', 'number': '202108060900019', 'modified': '2021-08-06 15:48:20', 'status': '2', 'source': '1', 'updateFeeItems': '', 'correctDiscount': '1', 'totalAmount': '', 'customerId': '0', 'fundAccount': '', 'accountId': '', 'ic': '', 'customerName': '', 'customerPhone': '', 'payway': '刷卡', 'plate': '川B00001', 'autocomplete-cartype': '003(板车)', 'carTypeName': '板车', 'carTypeCode': '003', 'carTypeId': '53', 'carTypeWeight': '333', 'storeTareWeight': '', 'proveType': '1621', 'grossWeight': '353', 'tareWeight': '333', 'weight': '20', 'goodsNum': '', 'itemWeight': '', 'productPrice': '1.00000', 'unitPrice': '100.0', 'depName': '接车部', 'calcDepId': '103', 'regionName': '', 'regionId': '0', 'productName': '雪莲果', 'productId': '14158', 'productArea': '重庆,重庆市,万州区', 'parentId': '', 'levelType': '', 'originId': 500101, 'tradeTypeId': '71', 'chargeTotalAmount': '', 'chargeTotalAmountYuan': '', 'freezeMoneySymbol': '', 'comparisonFreezeAmount': '', 'created': '2021-08-06 15:47:54', 'remark': 'false', 'goodsTagIds': '1900', 'shareRatio': '0', 'handlingTeam': '', 'handlingRatio': '', 'handActualAmount': '', 'handManageAmount': '', 'handCollectionAmount': '', 'receivableAmount': '', 'categoryName': '水果', 'categoryId': '14436', 'driverTel': '', 'grossWeightDate': '2021-08-06 15:47:54', 'tareWeightDate': '2021-08-06 15:47:54', 'grossPathName': '', 'grossPathId': '', 'tarePathId': '', 'goodsRemark': '', 'inGreeterName': '通用测试', 'inGreeterId': '274', 'outGreeterId': '', 'sumPrice': '2000', 'shipperName': '', 'shipperId': '', 'shipperPhone': '', 'feeDepName': '', 'calcFeeDepId': ''} | |
39 | +[2021-08-06 17:59:03] [INFO] : ====================================================================================== | |
40 | +[2021-08-06 17:59:03] [INFO] : http://test.gateway.diligrp.com:8285/jmsf-web/api/jmsf/query/dep | |
41 | +None | |
42 | +{'params': {'keyword': ''}} | |
43 | + | |
44 | +[2021-08-06 17:59:03] [INFO] : ====================================================================================== | |
45 | +[2021-08-06 17:59:03] [INFO] : http://test.gateway.diligrp.com:8285/jmsf-web/api/jmsf/query/listCodeByPid | |
46 | +None | |
47 | +{'params': {'pid': 'prove_type'}} | |
48 | + | |
49 | +[2021-08-06 17:59:04] [INFO] : ====================================================================================== | |
50 | +[2021-08-06 17:59:04] [INFO] : http://test.gateway.diligrp.com:8285/jmsf-web/appCommon/duplicateToken.action | |
51 | +None | |
32 | 52 | {} |
33 | 53 | |
34 | -[2021-08-06 15:48:21] [INFO] : ====================================================================================== | |
35 | -[2021-08-06 15:48:21] [INFO] : http://test.jmsf.diligrp.com:8385/entranceTrade/doPay.action | |
36 | -protocolId=&pwd=111111&clientRedirectTag=&viewType=pay&optType=0&optUrl=&correctInfo=1&weightType=1&id=3745&goodsId=3759&number=202108060900019&modified=2021-08-06%2015%3A47%3A54&status=2&source=1&updateFeeItems=&correctDiscount=1&totalAmount=800&customerId=389&fundAccount=105847&ic=888810032426&customerName=%E9%95%BF%E6%AD%8C%E4%B9%B0%E5%AE%B6%E7%9C%81%E5%86%85%E5%95%8A%E5%95%8A%E5%95%8A%E5%98%BF&customerPhone=18011501258&payway=%E5%88%B7%E5%8D%A1&plate=%E5%B7%9DB00001&autocomplete-cartype=003%28%E6%9D%BF%E8%BD%A6%29&carTypeName=%E6%9D%BF%E8%BD%A6&carTypeCode=003&carTypeId=53&carTypeWeight=333&storeTareWeight=&proveType=1621&grossWeight=353&tareWeight=333&weight=20&goodsNum=&itemWeight=&productPrice=1.00000&unitPrice=100.0&depName=%E6%8E%A5%E8%BD%A6%E9%83%A8&calcDepId=103&dep=103®ionName=A1%E5%8C%BA®ionId=72&productName=%E9%9B%AA%E8%8E%B2%E6%9E%9C&productId=14158&productArea=%E9%87%8D%E5%BA%86%2C%E9%87%8D%E5%BA%86%E5%B8%82%2C%E4%B8%87%E5%B7%9E%E5%8C%BA&parentId=&levelType=&originId=500101&tradeTypeId=71&chargeTotalAmount=800&chargeTotalAmountYuan=8&freezeMoneySymbol=13&comparisonFreezeAmount=13&created=2021-08-06%2015%3A47%3A54&remark=&goodsTagIds=1900&marketFlag=sy&totalMoney=800&receivable=1300&collectionPrice=0&discountAmount=500&handReceivableAmount=0&itemReceivableAmount=1300&shareRatio=0&handlingTeam=&handActualAmount=0&handManageAmount=0&handCollectionAmount=0&receivableAmount=1300&categoryName=%E6%B0%B4%E6%9E%9C&categoryId=53&driverTel=&grossWeightDate=2021-08-06%2015%3A47%3A54&tareWeightDate=2021-08-06%2015%3A47%3A54&grossPathName=&grossPathId=&tarePathId=&goodsRemark=&inGreeterName=&inGreeterId=0&outGreeterId=&sumPrice=2000&shipperName=&shipperId=&shipperPhone=&feeDepName=&calcFeeDepId=&feeDepId=&accountId=105847&correctDiscount=1&billItems=&billItemsDic=&billItemCheckIds=103&103=10.00&billItems=%7B%22discount%22%3A500%2C%22id%22%3A103%2C%22name%22%3A%22%E4%BA%A4%E6%98%93%E7%AE%A1%E7%90%86%E8%B4%B9%22%2C%22receivable%22%3A1000%2C%22require%22%3A1%7D&billItemDicCheckIds=105&billItemsDic=%7B%22discount%22%3A0%2C%22id%22%3A105%2C%22name%22%3A%22%E4%BC%98%E6%83%A0%E6%94%B6%E8%B4%B9%22%2C%22receivable%22%3A500%2C%22require%22%3A0%7D&billItemCheckIds=106&106=3.00&billItems=%7B%22discount%22%3A0%2C%22id%22%3A106%2C%22name%22%3A%22%E6%A3%80%E6%B5%8B%E8%B4%B9%22%2C%22receivable%22%3A300%2C%22require%22%3A1%7D | |
54 | +[2021-08-06 17:59:04] [INFO] : ====================================================================================== | |
55 | +[2021-08-06 17:59:04] [INFO] : http://test.gateway.diligrp.com:8285/jmsf-web/api/entrace/wholeCarWeighSave | |
56 | +{"carTypeCode": "003", "carTypeId": 53, "carTypeName": "\u677f\u8f66", "carTypeWeight": 333, "plate": "\u5dddA12323", "inGreeterId": 223, "inGreeterName": "\u6d4b\u8bd5\u6c88\u9633", "productId": 14152, "productName": "\u852c\u83dc", "proveTypeCode": 665, "proveTypeName": "\u98df\u54c1\u5b89\u5168", "weighRemark": "\u5907\u6ce8", "weighmanRecord": {"grossWeight": 401, "grossWeightDate": "2021-08-06 17:59:04", "newWeight": 68, "tareWeight": 333, "tareWeightDate": null, "weighImgs": []}, "productCode": null, "trailerNumber": "\u5dddA12323", "pathAddress": "A4-BB-6D-0A-F4-13", "haveTruckWeight": false, "source": 4, "entryPlateInputType": 1, "dep": 58, "depName": "\u6c34\u679c\u90e8", "cateId": 14152, "notice": 0, "backSkinTwo": -1, "recordOriginId": 0, "recordOriginName": null, "recordProductId": 0, "recordProductName": null, "recordWeight": null, "codeIc": null, "codeId": 0, "difference": 0, "bindRecordSign": 0, "recordDesc": null, "hasCodeItems": false, "customerId": 0, "customerName": "", "driverIc": null, "driverName": null, "totalPrice": null, "originId": 500101, "origin": "\u4e07\u5dde\u533a", "originCode": "023", "tradeType": "9001", "tradeTypeName": "\u6c88\u96331\u53f7", "weight": 2.0, "pwd": "", "type": 1, "ic": "", "boothNumber": "210728154359", "productState": "1", "accountId": 0, "passCheckId": 0, "passCheckName": null, "tradeTypeId": 70, "id": 0, "protocolId": null, "goodsTagId": 663} | |
37 | 57 | {} |
38 | 58 | ... | ... |
testcase/FeedbackOrderController/test_feedback_order_settlement.py
... | ... | @@ -4,6 +4,7 @@ from commons.MySession import my,sy1 |
4 | 4 | from commons.api.feedback_order_settlement import feedback_order_settlement |
5 | 5 | urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) |
6 | 6 | from commons.api.feedback_order_settlement_query import feedback_order_settlement_query |
7 | +import random | |
7 | 8 | fosq = feedback_order_settlement_query() |
8 | 9 | |
9 | 10 | fos = feedback_order_settlement() |
... | ... | @@ -17,24 +18,28 @@ class test_feedback_order_settlement(unittest.TestCase): |
17 | 18 | def setUp(self): |
18 | 19 | body = fosq.body.replace("feedbackCustomerId=25", "feedbackCustomerId=16").replace("2021-07-22 00:00:00", "\ |
19 | 20 | 2021-07-03 00:00:00").replace("2021-08-03 23:59:59","2021-08-03 23:59:59") |
20 | - re = sy1.post(url=fosq.url, data=body, headers=fosq.header, proxies=my.myproxies) | |
21 | - Amount = re.json()["rows"][0]["unsettledAmount"] | |
22 | - ids = re.json()["rows"][0]["id"] | |
23 | - billIds = re.json()["rows"][0]["billId"] | |
24 | - return Amount, ids, billIds | |
21 | + re = sy1.post(url=fosq.url, data=body, headers=fosq.header) | |
22 | + # self.id = re.json()["rows"][0]["id"] | |
23 | + self.Amount = re.json()["rows"][0]["unsettledAmount"] | |
24 | + self.ids = re.json()["rows"][0]["id"] | |
25 | + self.billIds = re.json()["rows"][0]["billId"] | |
26 | + # | |
27 | + # elf.name = re.json()["rows"][0]["name"] | |
28 | + | |
25 | 29 | |
26 | 30 | def test_feedback_order_settlement_01(self): |
27 | - body = fos.body.replace("id=25","id=25").replace("888810057654","888810057654").replace("settleAmount=2","settleAmount=2").\ | |
28 | - replace("ids=12034","ids=11953").\ | |
31 | + body = fos.body.replace("id=25","id=25").replace("888810057654","888810057654")\ | |
32 | + .replace("settleAmount=2","settleAmount="+str(self.Amount)).\ | |
33 | + replace("ids=12034","ids="+str(self.ids)).\ | |
29 | 34 | replace("feedbackCustomerId=25","feedbackCustomerId=25").\ |
30 | 35 | replace("feedbackCustomerName=验证员工推送到CRM","feedbackCustomerName=验证员工推送到CRM").\ |
31 | - replace("billIds=3621","billIds=3493").\ | |
32 | - replace("settledAmounts=2","settledAmounts=2") | |
33 | - | |
36 | + replace("billIds=3621","billIds="+str(self.billIds)).\ | |
37 | + replace("settledAmounts=2","settledAmounts="+str(self.Amount)) | |
38 | + print(body) | |
34 | 39 | re = sy1.post(url = fos.url, headers = fos.header, data = body.encode('utf-8')) |
35 | - # print(re.headers) | |
40 | + print(re.headers) | |
36 | 41 | |
37 | - # print(re.json()) | |
42 | + print(re.json()) | |
38 | 43 | self.assertTrue("操作成功" in str(re.json())) |
39 | 44 | return re |
40 | 45 | ... | ... |
testcase/feedbackAccounrecordController_list/test_feedbackAccounrecordController_list.py
... | ... | @@ -10,12 +10,13 @@ class test_feedbackAccounrecordController_list(unittest.TestCase): |
10 | 10 | "交易明细——交易流水号查询" |
11 | 11 | @classmethod |
12 | 12 | def setUpClass(cls): |
13 | + print(sy1.user["sy_user01"]["firmId"]) | |
13 | 14 | pass |
14 | 15 | def setUp(self): |
15 | 16 | self.body = db.mysql_selectOne( |
16 | 17 | '''SELECT dili_jmsf.feedback_account_record.created,dili_jmsf.feedback_order.record_number |
17 | 18 | FROM `dili_jmsf`.`feedback_order` LEFT JOIN `dili_jmsf`.`feedback_account_record` ON dili_jmsf.feedback_order.id = dili_jmsf.feedback_account_record.order_ids |
18 | -ORDER BY dili_jmsf.feedback_account_record.order_ids DESC LIMIT 1''') | |
19 | +WHERE market_id = '''+str(sy1.user["sy_user01"]["firmId"])+''' ORDER BY dili_jmsf.feedback_account_record.order_ids DESC LIMIT 1''') | |
19 | 20 | print("查询出查询时间和交易流水号:", self.body[0],self.body[1]) |
20 | 21 | |
21 | 22 | def test_feedbackAccounrecordController_list_01(self): | ... | ... |
testcase/test_ZC/demo.py
testcase/test_ZC/test_ZC.py
... | ... | @@ -13,6 +13,7 @@ import json |
13 | 13 | import unittest |
14 | 14 | from commons.scripts.readConf import rC |
15 | 15 | from commons.api import zcApi as zcA |
16 | +from commons.api import entranceFeeBillList as eFBL | |
16 | 17 | import time,random |
17 | 18 | |
18 | 19 | class test_demo(unittest.TestCase): |
... | ... | @@ -33,9 +34,14 @@ class test_demo(unittest.TestCase): |
33 | 34 | def tearDownClass(cls) -> None: |
34 | 35 | pass |
35 | 36 | |
36 | - @unittest.skip | |
37 | + # @unittest.skip | |
37 | 38 | def test_get_carType(self): |
38 | 39 | """整车-整车创建:获取车型接口调用测试""" |
40 | + # 依赖数据 | |
41 | + plate = "川A12323" | |
42 | + productState = "1" | |
43 | + trailerNumber = plate | |
44 | + | |
39 | 45 | # 获取车型 |
40 | 46 | carType = zcA.get_carType(host=self.gatewayHost) |
41 | 47 | print(carType.text) |
... | ... | @@ -53,7 +59,7 @@ class test_demo(unittest.TestCase): |
53 | 59 | productName = categoryByCondition.json()["data"][0]["name"] |
54 | 60 | productCode = categoryByCondition.json()["data"][0]["keycode"] |
55 | 61 | |
56 | - # 获取商品 | |
62 | + # 获取接车员 | |
57 | 63 | listByExample = zcA.get_listByExample(host=self.gatewayHost) |
58 | 64 | print(listByExample.json()) |
59 | 65 | inGreeterId = listByExample.json()["data"][0]["id"] |
... | ... | @@ -95,11 +101,6 @@ class test_demo(unittest.TestCase): |
95 | 101 | print(duplicateTokenRes.json()) |
96 | 102 | duplicateToken = duplicateTokenRes.json()["data"] |
97 | 103 | |
98 | - # 创建生成进门单 | |
99 | - plate = "川A12323" | |
100 | - productState = "1" | |
101 | - trailerNumber = plate | |
102 | - | |
103 | 104 | # 重量信息准备 |
104 | 105 | grossWeight = random.randint(carTypeWeight,carTypeWeight+100) |
105 | 106 | tareWeight = carTypeWeight |
... | ... | @@ -126,6 +127,8 @@ class test_demo(unittest.TestCase): |
126 | 127 | userName="ty_test",transactionName="沈阳2号",newWeight=20, |
127 | 128 | depName="接车部",goodsTagName="货物标签测试",proveName="绿色蔬菜") |
128 | 129 | print(cre_res.json()) |
130 | + number = cre_res.json()["data"]["number"] | |
131 | + aa = eFBL.do_payOrder(attrValue=number) | |
129 | 132 | # cre_res = zcA.create_jmsf(host=self.gatewayHost,plate="川B00002",newWeight=20) |
130 | 133 | # print(cre_res.json()) |
131 | 134 | ... | ... |
testcase/test_ZC/test_ZCBasic.py
0 → 100644
1 | +# -*- coding: utf-8 -*- | |
2 | + | |
3 | +# @Time : 2021/8/6 16:29 | |
4 | +# @Author : Ljq | |
5 | +# @File : test_ZCBasic.py | |
6 | +# @Software: PyCharm | |
7 | + | |
8 | +""" | |
9 | +整车进门基础数据获取测试 | |
10 | +""" | |
11 | + | |
12 | +import json | |
13 | +import unittest | |
14 | +from commons.scripts.readConf import rC | |
15 | +from commons.api import zcApi as zcA | |
16 | +from commons.MySession import my | |
17 | +from commons.api import entranceFeeBillList as eFBL | |
18 | +import time,random | |
19 | + | |
20 | +class test_ZCBasic(unittest.TestCase): | |
21 | + """整车-创建整车进门单基础信息接口测试""" | |
22 | + def setUp(self) -> None: | |
23 | + pass | |
24 | + | |
25 | + def tearDown(self) -> None: | |
26 | + pass | |
27 | + | |
28 | + | |
29 | + @classmethod | |
30 | + def setUpClass(cls) -> None: | |
31 | + cls.gatewayHost = rC.returnOptionsItems("host", "gatewayHost") | |
32 | + cls.jmsfHost = rC.returnOptionsItems("host", "jmsfHost") | |
33 | + | |
34 | + @classmethod | |
35 | + def tearDownClass(cls) -> None: | |
36 | + pass | |
37 | + | |
38 | + def test_getCar(self): | |
39 | + """整车-整车创建:获取车型接口调用测试""" | |
40 | + # 获取车型 | |
41 | + carType = zcA.get_carType(host=self.gatewayHost) | |
42 | + print(carType.text) | |
43 | + assert carType.json()["code"] == "200" | |
44 | + assert carType.json()["data"] != [] | |
45 | + | |
46 | + def test_getAllCategory(self): | |
47 | + """整车-整车创建:获取测试商品信息测试""" | |
48 | + # 获取 | |
49 | + # print(my.userInfo["data"]["user"]["firmCode"]) | |
50 | + marketId = my.userInfo["data"]["user"]["firmId"] | |
51 | + resCategory = zcA.get_listCategoryByCondition(host=self.gatewayHost,marketId=marketId,keyword="") | |
52 | + print(resCategory.text) | |
53 | + assert resCategory.json()["code"] == "200","全商品查询失败" | |
54 | + assert resCategory.json()["data"] != [],"全商品查询失败,查询结果不应该为空" | |
55 | + | |
56 | + def test_getOneCategory(self): | |
57 | + """整车-整车创建:获取测试商品信息测试""" | |
58 | + # 获取 | |
59 | + marketId = my.userInfo["data"]["user"]["firmId"] | |
60 | + resCategory = zcA.get_listCategoryByCondition(host=self.gatewayHost,marketId=marketId,keyword="火龙果") | |
61 | + print(resCategory.text) | |
62 | + nameList = [i["name"] for i in resCategory.json()["data"]] | |
63 | + assert resCategory.json()["code"] == "200" | |
64 | + for i in nameList: | |
65 | + assert "火龙果" in i,"指定条件查询失败,按照名称查询出商品错误" | |
66 | + | |
67 | + def test_getAllExample(self): | |
68 | + """整车-整车创建:接车员信息获取测试""" | |
69 | + # print(my.userInfo["data"]["user"]["departmentId"]) | |
70 | + firmCode = my.userInfo["data"]["user"]["firmCode"] | |
71 | + departmentId = my.userInfo["data"]["user"]["departmentId"] | |
72 | + listByExample = zcA.get_listByExample(host=self.gatewayHost,firmCode=firmCode,departmentId=departmentId) | |
73 | + print(listByExample.json()) | |
74 | + assert listByExample.json()["code"]=="200","接车员信息获取测试失败" | |
75 | + assert listByExample.json()["data"]!=[],"接车员信息获取测试失败" | |
76 | + | |
77 | + def test_getOneExample(self): | |
78 | + """整车-整车创建:按接车员名称信息查询接车员""" | |
79 | + # print(my.userInfo["data"]["user"]["departmentId"]) | |
80 | + firmCode = my.userInfo["data"]["user"]["firmCode"] | |
81 | + departmentId = my.userInfo["data"]["user"]["departmentId"] | |
82 | + keyword="测试" | |
83 | + listByExample = zcA.get_listByExample(host=self.gatewayHost,firmCode=firmCode,departmentId=departmentId, | |
84 | + keyword=keyword) | |
85 | + print(listByExample.json()) | |
86 | + assert listByExample.json()["code"]=="200","按接车员名称信息查询接车员测试失败" | |
87 | + assert listByExample.json()["data"]!=[],"按接车员名称信息查询接车员测试失败" | |
88 | + | |
89 | + def test_transactionType(self): | |
90 | + """整车-整车创建:交易类型获取测试""" | |
91 | + transactionType = zcA.query_transactionType(host=self.gatewayHost) | |
92 | + print(transactionType.json()) | |
93 | + assert transactionType.status_code==200,"交易类型信息获取测试失败" | |
94 | + assert transactionType.json()["rows"]!=[],"交易类型信息获取测试失败" | |
95 | + | |
96 | + def test_getGoodsTag(self): | |
97 | + """整车-整车创建:货物标签获取测试""" | |
98 | + goodsTag = zcA.get_goodsTag(host=self.gatewayHost) | |
99 | + print(goodsTag.json()) | |
100 | + assert goodsTag.status_code==200,"货物标签信息获取测试失败" | |
101 | + assert goodsTag.json()["data"]!=[],"货物标签信息获取测试失败" | |
102 | + | |
103 | + def test_getAllAddress(self): | |
104 | + """整车-整车创建:按照省份查询产地""" | |
105 | + province = "四川省" | |
106 | + address = zcA.get_address(host=self.gatewayHost,province=province) | |
107 | + print(address.json()) | |
108 | + assert address.json()["code"] == "200","按照省份查询产地信息获取测试失败" | |
109 | + mergerNameList = [i["mergerName"] for i in address.json()["data"] if province not in i["mergerName"]] | |
110 | + assert mergerNameList == [],"按照省份查询产地信息获取测试失败" | |
111 | + | |
112 | + def test_getOneAddress(self): | |
113 | + """整车-整车创建:按照省份查询产地""" | |
114 | + province = "四川省" | |
115 | + city = "成都市" | |
116 | + area = "锦江区" | |
117 | + address = zcA.get_address(host=self.gatewayHost,province=province,city=city,area=area) | |
118 | + print(address.json()) | |
119 | + assert address.json()["code"]=="200","详细产地信息查询失败" | |
120 | + assert len(address.json()["data"])==1,"详细产地信息查询只能查询出一个结果,查询结果超过一个测试失败" | |
121 | + assert address.json()["data"][0]["mergerName"] == "四川省,成都市,锦江区","根据省市区查询插地信息查询失败" | |
122 | + | |
123 | + def test_getAllDep(self): | |
124 | + """整车-整车创建:接车部门信息获取""" | |
125 | + depRes = zcA.get_dep(host=self.gatewayHost) | |
126 | + print(depRes.json()) | |
127 | + assert depRes.json()["code"]=="200","接车部门信息获取测试失败" | |
128 | + assert depRes.json()["data"] != [], "接车部门信息获取测试失败" | |
129 | + | |
130 | + | |
131 | + def test_getOneDep(self): | |
132 | + """整车-整车创建:查询指定接车部门信息""" | |
133 | + keyword="水果部" | |
134 | + depRes = zcA.get_dep(host=self.gatewayHost,keyword=keyword) | |
135 | + print(depRes.json()) | |
136 | + assert depRes.json()["code"]=="200","查询指定接车部门信息获取测试失败" | |
137 | + assert len(depRes.json()["data"]) == 1, "查询指定接车部门信息获取测试失败" | |
138 | + assert depRes.json()["data"][0]["name"] == keyword,"查询指定接车部门信息获取测试失败" | |
139 | + | |
140 | + def test_getProveType(self): | |
141 | + """整车-整车创建:证明类型信息获取""" | |
142 | + proveType = zcA.get_proveType(host=self.gatewayHost) | |
143 | + print(proveType.json()) | |
144 | + assert proveType.json()["code"]=="200","证明类型信息获取测试失败" | |
145 | + assert proveType.json()["data"] != [], "证明类型信息获取测试失败" | |
146 | + | |
147 | + def test_getDuplicateToken(self): | |
148 | + """整车-整车创建:获取防重复token""" | |
149 | + duplicateTokenRes = zcA.get_duplicateToken(host=self.gatewayHost) | |
150 | + print(duplicateTokenRes.json()) | |
151 | + assert duplicateTokenRes.json()["code"]=="200","获取防重复token测试失败" | |
152 | + assert duplicateTokenRes.json()["data"].isalnum(), "获取防重复token测试失败" | ... | ... |
testcase/test_ZC/test_ZCCreate.py
0 → 100644
1 | +# -*- coding: utf-8 -*- | |
2 | + | |
3 | +# @Time : 2021/8/6 17:49 | |
4 | +# @Author : Ljq | |
5 | +# @File : test_ZCCreate.py | |
6 | +# @Software: PyCharm | |
7 | + | |
8 | +""" | |
9 | +整车进门但创建测试 | |
10 | +""" | |
11 | + | |
12 | +import json | |
13 | +import unittest | |
14 | +from commons.scripts.readConf import rC | |
15 | +from commons.api import zcApi as zcA | |
16 | +from commons.api import entranceFeeBillList as eFBL | |
17 | +import time,random | |
18 | + | |
19 | +class test_ZCCreate(unittest.TestCase): | |
20 | + """整车-创建整车进门单""" | |
21 | + def setUp(self) -> None: | |
22 | + pass | |
23 | + | |
24 | + def tearDown(self) -> None: | |
25 | + pass | |
26 | + | |
27 | + | |
28 | + @classmethod | |
29 | + def setUpClass(cls) -> None: | |
30 | + cls.gatewayHost = rC.returnOptionsItems("host", "gatewayHost") | |
31 | + cls.jmsfHost = rC.returnOptionsItems("host", "jmsfHost") | |
32 | + | |
33 | + @classmethod | |
34 | + def tearDownClass(cls) -> None: | |
35 | + pass | |
36 | + | |
37 | + def test_creZC(self): | |
38 | + """整车-整车创建:按接车员名称信息查询接车员""" | |
39 | + """整车-整车创建:获取车型接口调用测试""" | |
40 | + # 依赖数据 | |
41 | + plate = "川A12323" | |
42 | + productState = "1" | |
43 | + trailerNumber = plate | |
44 | + | |
45 | + # 获取车型 | |
46 | + carType = zcA.get_carType(host=self.gatewayHost) | |
47 | + print(carType.text) | |
48 | + print(carType.json()["data"][0]) | |
49 | + carTypeCode = carType.json()["data"][0]["code"] | |
50 | + carTypeId = carType.json()["data"][0]["id"] | |
51 | + carTypeName = carType.json()["data"][0]["carTypeName"] | |
52 | + carTypeWeight = carType.json()["data"][0]["weight"] | |
53 | + | |
54 | + # 获取商品 | |
55 | + categoryByCondition = zcA.get_listCategoryByCondition(host=self.gatewayHost) | |
56 | + print(categoryByCondition.json()) | |
57 | + cateId = categoryByCondition.json()["data"][0]["id"] | |
58 | + productId = categoryByCondition.json()["data"][0]["id"] | |
59 | + productName = categoryByCondition.json()["data"][0]["name"] | |
60 | + productCode = categoryByCondition.json()["data"][0]["keycode"] | |
61 | + | |
62 | + # 获取接车员 | |
63 | + listByExample = zcA.get_listByExample(host=self.gatewayHost) | |
64 | + print(listByExample.json()) | |
65 | + inGreeterId = listByExample.json()["data"][0]["id"] | |
66 | + inGreeterName = listByExample.json()["data"][0]["realName"] | |
67 | + | |
68 | + # 获取交易类型 | |
69 | + transactionType = zcA.query_transactionType(host=self.gatewayHost) | |
70 | + print(transactionType.json()) | |
71 | + tradeType = transactionType.json()["rows"][0]["code"] | |
72 | + tradeTypeId = transactionType.json()["rows"][0]["id"] | |
73 | + tradeTypeName = transactionType.json()["rows"][0]["name"] | |
74 | + | |
75 | + # 获取货物标签 | |
76 | + goodsTag = zcA.get_goodsTag(host=self.gatewayHost) | |
77 | + print(goodsTag.json()) | |
78 | + goodsTagId = goodsTag.json()["data"][0]["id"] | |
79 | + | |
80 | + # 产地信息获取 | |
81 | + address = zcA.get_address(host=self.gatewayHost) | |
82 | + print(address.json()) | |
83 | + originId = address.json()["data"][0]["id"] | |
84 | + origin = address.json()["data"][0]["name"] | |
85 | + originCode = address.json()["data"][0]["cityCode"] | |
86 | + | |
87 | + # 查询部门信息 | |
88 | + depRes = zcA.get_dep(host=self.gatewayHost) | |
89 | + print(depRes.json()) | |
90 | + feeDepId = depRes.json()["data"][0]["id"] | |
91 | + feeDepName = depRes.json()["data"][0]["name"] | |
92 | + | |
93 | + # 获取证明类型 | |
94 | + proveType = zcA.get_proveType(host=self.gatewayHost) | |
95 | + print(proveType.json()) | |
96 | + proveTypeCode = proveType.json()["data"][0]["id"] | |
97 | + proveTypeName = proveType.json()["data"][0]["name"] | |
98 | + | |
99 | + # 获取防重token | |
100 | + duplicateTokenRes = zcA.get_duplicateToken(host=self.gatewayHost) | |
101 | + print(duplicateTokenRes.json()) | |
102 | + duplicateToken = duplicateTokenRes.json()["data"] | |
103 | + | |
104 | + # 重量信息准备 | |
105 | + grossWeight = random.randint(carTypeWeight, carTypeWeight + 100) | |
106 | + tareWeight = carTypeWeight | |
107 | + weighmanRecord = {"grossWeight": None, "grossWeightDate": "", "newWeight": None, "tareWeight": None, | |
108 | + "tareWeightDate": None, "weighImgs": []} | |
109 | + weighmanRecord["grossWeight"] = grossWeight | |
110 | + weighmanRecord["tareWeight"] = carTypeWeight | |
111 | + weighmanRecord["newWeight"] = grossWeight - carTypeWeight | |
112 | + weighmanRecord["grossWeightDate"] = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) | |
113 | + | |
114 | + # 创建进门单 | |
115 | + cre_res = zcA.create_wholeCarWeighSave(host=self.gatewayHost, duplicateToken=duplicateToken, | |
116 | + carTypeCode=carTypeCode, carTypeId=carTypeId, | |
117 | + carTypeName=carTypeName, carTypeWeight=carTypeWeight, plate=plate, | |
118 | + productId=productId, productName=productName, | |
119 | + proveTypeCode=proveTypeCode, | |
120 | + proveTypeName=proveTypeName, trailerNumber=trailerNumber, | |
121 | + depName=feeDepName, | |
122 | + cateId=cateId, originId=originId, origin=origin, originCode=originCode, | |
123 | + tradeType=tradeType, tradeTypeName=tradeTypeName, | |
124 | + productState=productState, | |
125 | + tradeTypeId=tradeTypeId, goodsTagId=goodsTagId, inGreeterId=inGreeterId, | |
126 | + inGreeterName=inGreeterName, dep=feeDepId, weighmanRecord=weighmanRecord) | |
127 | + print(cre_res.json()) | |
0 | 128 | \ No newline at end of file | ... | ... |