def add_purchase(self): self.data['_mt'] = 'saasmanager.service.savePurchaseAgreement' param = { "agreementNo": "", "agreementDate": now_time, "outAgreementNo": "TEST12345678", "ourCompanyId": 270, "ourCompanyName": "上海赛可出行科技服务有限公司", "supplierCompanyId": 224, "supplierCompanyName": "上海赛可出行科技服务有限公司", "businessMode": 1, "agreementMonth": "2020-07", "agreementAmount": 10000000, "agreementMarginRatio": 0.1, "agreementMarginAmount": 1000000, "agreementWeight": 10000, "paidAmount": "", "deliveryType": "1", "contractAddress": "江苏", "lastDeliveryDate": "2020-07-16", "paymentModeId": "897", "paymentModeName": "银行转账", "salesMan": "zg_182616hJ0", "agreementClause": "测试", "remark": "测试", "agreementBeginDate": "2020-07-09", "agreementEndDate": "2020-08-12" } self.data['param'] = json.dumps(param, ensure_ascii=False) self.data['_tk'] = login() Request().post_request(url=self.config.url_test, data=self.data, verify=False)
def savePurchaseReceive(self, purchase_info): self.data['_mt'] = 'saasmanager.service.savePurchaseReceiveOrder' param = { "receiveOrderNo": "", "purchaseOrderId": purchase_info[0]['orderId'], "purchaseOrderNo": purchase_info[0]['orderNo'], "warehouseId": 175, "warehouseName": "川沙市场库", "receiveDate": new_time, "ourCompanyId": 270, "ourCompanyName": "上海赛可出行科技服务有限公司", "supplierCompanyId": 224, "supplierCompanyName": "上海赛可出行科技服务有限公司", "transportMode": 1, "transportNo": "", "receiveMan": "zg_182616hJ0", "remark": "", "backToBack": 0, "directEntryWarehouse": 0, "details": [{ "itemId": 103938, "purchaseOrderDetailId": purchase_info[1][0]['id'], "itemTitle": "三级盘螺", "material": "钢材", "specification": "PL1233", "steelMill": "本钢", "itemUnitWay": 1, "receiveQuantity": 2, "receiveWeight": 40000, "weightUnit": 1, "singleWeight": 20000, "taxRate": 0.13, "batchNo": "", "packageNo": "KBH23457" }] } self.data['param'] = json.dumps(param, ensure_ascii=False) self.data['_tk'] = self._tk response = Request().post_request(url=self.config.url_test, data=self.data, verify=False) return response['body']['content'][0]['purchaseReceiveOrder'][ 'purchaseOrderNo']
def query_contactcompany(self): self.data['_mt'] = 'tenant.service.queryContactCompanyPageList' self.data['companyQueryParam'] = '{"key":"上海赛可出行科技服务有限公司"' \ ',"bizRelations":"","status":"","pageNum":1,"pageSize":20,"total":1}' self.data['_tk'] = login() response = Request().get_request(url=self.config.url_test, data=self.data, verify=False) return response['body']['content'][0]['companyPageResultList']
def add_goods(self): self.data['_mt'] = 'tenant.service.saveGoodsById' self.data['goodsSaveParam'] = '{"name":"三级盘螺","categoryId":15668,"fillingType":1,"valuationUnit":1,"quantityUnit":"2",' \ '"weightUnit":"1","status":1,"taxRate":0.13,"singleWeight":10000,"mnemonicCode":"SJPL",' \ '"material":"钢材","specification":"PL1233","placeOrigin":"本钢","remark":"村上春树",' \ '"goodsCategoryName":"三级盘螺"}' self.data['_tk'] = login() Request().post_request(url=self.config.url_test, data=self.data, verify=False)
def test_addcompany(self, login_fix, _sm, _ft, ourCompanySaveParam, _aid, _uid, _tenantid, _domid, _mt, expect): """ 新增本方公司 """ req_data = OurCompany().get_req_data(_sm, _ft, ourCompanySaveParam, _aid, _uid, _tenantid, _domid, _mt, login_fix) res = Request().post_request(conf.url_test, req_data) print(res) assert res['body']['stat']['stateList'][0]['code'] == expect['code']
def create_warehouse(self): self.data['_mt'] = 'tenant.service.createWarehouse' self.data['param'] = '{"name":"川沙市场库","shortName":"","supportProcess":0,"status":1,"mnemonicCode":"CSK",' \ '"companyName":"上海赛可出行科技服务有限公司","type":"热卷仓库","address":"共祥路289号",' \ '"provinceCode":"320000","cityCode":"320100","districtCode":"320101","provinceName":"江苏省",' \ '"cityName":"南京","districtName":"市辖区","contactWay":"021-56390084","contactPerson":"葛国东","remark":"test"}' self.data['_tk'] = self._tk response = Request().post_request(url=self.config.url_test, data=self.data, verify=False)
def add_ourcompany(self): self.data['_mt'] = 'tenant.service.saveOurCompany' self.data['ourCompanySaveParam'] = '{"shortName":"上海赛可出行科技服务"' \ ',"invoiceName":"上海赛可出行科技服务",' \ '"status":"1","companyPostalAddressList":[],' \ '"companyFundsAccountList":[],"name":"上海赛可出行科技服务",' \ '"remark":"autotest"}' self.data['_tk'] = login() Request().post_request(url=self.config.url_test, data=self.data, verify=False)
def test_addcompany(self, login_fix, _sm, _ft, ourCompanySaveParam, _aid, _uid, _tenantid, _domid, _mt, expect): """ 新增本方公司 """ req_data = OurCompany().get_req_data(_sm, _ft, ourCompanySaveParam, _aid, _uid, _tenantid, _domid, _mt, login_fix) print('case_data=%s,expect_data=%s' % (req_data, expect)) res = Request().post_request(Config().url_test, req_data) print('期望结果:%s,实际结果:%s' % (res, expect['code'])) assert res['body']['stat']['stateList'][0]['code'] == expect['code']
def test_queryByItemBatchNo(self, login_fix, purchasereceive_fix, _sm, _ft, param, _aid, _uid, _tenantid, _domid, _mt, expect): """采购订单收货完成后,根据采购订单号查询是否入批次库存""" log.info("采购订单收货完成后,根据采购订单号查询是否入批次库存") req_data = Inventory().get_req_data(_sm, _ft, param, _aid, _uid, _tenantid, _domid, _mt, login_fix) new_data = json.loads(req_data['param']) new_data['purchaseOrderNo'] = purchasereceive_fix req_data['param'] = json.dumps(new_data) res = Request().get_request(conf.url_test, req_data) inventoryItems = res['body']['content'][0]['inventoryItems'] for i in range(len(inventoryItems)): assert inventoryItems[i][expect['name']] == purchasereceive_fix
def test_002(self, case): try: re = Request(method=case["method"], url=case['url'], data=json.dumps(case['data']), header=self.header) result = re.get_json() if result['code'] == 0: print("根据邀请码加入社区-->成功 %s" % result) else: print("根据邀请码加入社区-->失败 %s" % result) My_Logger().info("根据邀请码加入社区-->失败 %s" % result) except Exception as e: My_Logger().error("错误接口:根据邀请码加入社区-->%s" % e) raise e
def test_001(self, case): try: res = Request(method=case["method"], url=case['url'], data=json.dumps(case['data']), header=self.header) result = res.get_json() if result['code'] == 0: print("创建社区-->成功 %s" % result) else: print("创建社区-->失败") # 如果创建社区成功,就把创建成功得社区id存起来 if result['server_id']: setattr(Context, 'new_sercer', result['server_id']) except Exception as e: My_Logger().error("错误接口: %s%s" % case['title'] % e) raise e
def add_contactcompany(self): self.data['_mt'] = 'tenant.service.saveContactCompany' self.data['contactCompanySaveParam'] = '{"shortName":"上海赛可出行科技服务"' \ ',"invoiceName":"上海赛可出行科技服务",' \ '"status":"1","bizRelationsArr":["1"],"companyPostalAddressList":[],' \ '"contactCompanyPersonParamList":[],"companyFundsAccountList":[],"name":"上海赛可出行科技服务",' \ '"remark":"autotest","name":"上海赛可出行科技服务有限公司","mnemonicCode":"saic",' \ '"provinceCode":"310000","provinceName":"上海市","customerType":"1",' \ '"unitType":"1","unitNature":"1","credibility":"1","customerLevel":"1",' \ '"legalName":"刘波","socialCode":"91310115MA1K427762","phone":"18261639003"' \ ',"detailAddress":"中国(上海)自由贸易试验区杨高北路2001号1幢4部位三层333室",' \ '"identificationNumber":"91310115MA1K427762","invoiceBankName":"建设银行",' \ '"invoiceBankAccount":"6217001370015111111","invoicePhone":"021-88888888",' \ '"invoiceAddress":"中国(上海)自由贸易试验区杨高北路2001号1幢4部位三层333室",' \ '"bizRelations":"1"}' self.data['_tk'] = login() Request().post_request(url=self.config.url_test, data=self.data, verify=False)
def tearDownClass(cls): cls.header data = { "case_id": "离开社区", "method": "post", "url": "https://test-api.wefunapp.cn/v1/servers/exit", "data": { "server_id": 1249029898480123904 }, "expected": "0" } try: re = Request(method=data["method"], url=data['url'], data=json.dumps(data['data']), header=cls.header) except Exception as e: My_Logger().error("错误接口:离开社区-->%s" % e) raise e
def test_start_ac(caseid, casestauts, casetext, result_nlu, result_tts, result_lua, init_env): domain = init_env[0] address = domain + init_env[1] query_reply_info = (init_env[4])["ac"] update_reply_info = ParseJson().update_jsonvalue(query_reply_info, (casestauts)) parjson = { "version": "0", "text": casetext, "uid": init_env[2], "device_info": init_env[3], "query_reply": update_reply_info } dictinfo = Request().post_request(address, jsondata=parjson) assertobj = Assert() assertobj.containvalue(str(dictinfo['tts']), result_tts) assertobj.equalvalue(str(dictinfo['nlu']), result_nlu) assertobj.equalvalue(str(dictinfo['luaData']), result_lua)
def test_001(self, case): try: re = Request(method=case["method"], url=case['url'], data=json.dumps(case['data']), header=self.header) result = re.get_json() if result['code'] == 0: print("生成社区邀请码-->成功 %s" % result) else: print("生成社区邀请码-->失败 %s" % result) # 失败的写道日志里去 My_Logger().info("生成社区邀请码-->失败 %s" % result) # 生成的邀请码存起来 if re.get_json()['code'] == 0: self.case_2[0]["data"]["invite_code"] = re.get_json( )['invite_code'] except Exception as e: My_Logger().error("错误接口:生成社区邀请码-->%s" % e) raise e
def tearDownClass(cls): data = { "case_title": "删除新增得频道", "method": "post", "url": "https://test-api.wefunapp.cn/v1/channels/delete", "data": { "channel_id": cls.channel_id }, "expected": "0" } try: res = Request( method=data['method'], url=data['url'], data=data['data'], header=cls.header, ) print('删除频道接口: %s' % res.get_json()) except Exception as e: My_Logger().error("删除失败,失败原因: %s" % e) raise e
def __init__(self, client, server, ipAddr): self.name = "ev3" self.client = client self.ip = ipAddr self.server = server self.connected_clients = server.connected_clients self.request = Request() self.state = Request.State.REFILL self.pending = "" # Use to store data from an incompleted frame (Like a from who would take two calls to SOCKET.recv() to be completed) self.request.register(1, lambda x: self.registerMacAdress(x[3:])) self.request.register(2, lambda x: print(x[1:])) self.request.register( 3, lambda x: self.server.database.scan_fingerprint_with_area( x[1:], self)) self.request.register( 4, lambda x: self.askScanForPosition_Callback(x[1:])) self.x = 629 self.y = 114 self.xc = None self.yc = None self.area = None self.macAddress = ""
def setUpClass(cls): warnings.simplefilter("ignore", ResourceWarning) # 去掉ResourceWarning # 1-->新增文本频道 data = { "title": "新增文本频道", "method": "post", "url": "https://test-api.wefunapp.cn/v1/channels/create", "data": { "server_id": "1277254596447698944", "channel_name": Random().create_name(), "channel_desc": "新增文本频道", "channel_type": "1", "parent_id": "", "channel_pwd": "" } } try: re = Request(method=data['method'], url=data['url'], data=data['data'], header=cls.header) except Exception as e: My_Logger().error("错误接口: %s%s" % data['title'] % e) raise e result = re.get_json() if result['code'] == 0: print(data['title'] + "-->成功 %s" % result) else: print(data['title'] + "-->失败 %s" % result) My_Logger().info(data['title'] + "-->失败 %s" % result) # 处理数据依赖 if result['code'] == 0: cls.channel_id = result['channel_id'] else: pass
def test_001(self, case): if case['data']['channel_id'] == None: case['data']['channel_id'] = self.channel_id try: re = Request(method=case['method'], url=case['url'], data=case['data'], header=self.header) except Exception as e: My_Logger().error("错误接口: %s%s" % case['title'] % e) raise e # 接口结果写入报告 result = re.get_json() if result['code'] == 0: print(case['title'] + "-->成功 %s" % result) else: print(case['title'] + "-->失败 %s" % result) My_Logger().info(case['title'] + "-->失败 %s" % result) # 接口断言 try: self.assertEqual(int(case['expected']), result['code']) except AssertionError as e: My_Logger().info(case['title'] + "断言错误: %s" % e)
def test_001(self): try: re = Request(method=self.data["method"], url=self.data['url'], data=json.dumps(self.data['data']), header=self.header) result = re.get_json() print("设置资料: %s" % result) except Exception as e: My_Logger().error("错误接口: %s%s" % self.data['title'] % e) raise e # 断言--->如果传入的名字/图片,跟接口调用之后,数据库中的名字一致,测试PASS if result['code'] == 0: self.assertEqual( data['data']['nickname'], self.mysql.fetch_one( "select * from `t_vip` where telephone = '18888888888'" )[0]["nickname"]) self.assertEqual( data['data']['avatar'], self.mysql.fetch_one( "select * from `t_vip` where telephone = '18888888888'" )[0]["avatar"])
class new(unittest.TestCase): global server_id server_id = None new_case = [{ "title": "社区创建", "method": "post", "url": "https://test-api.wefunapp.cn/v1/servers/create", "data": { "server_name": "测试", "server_icon": "" }, "expected": "0" }] #-------->新增社区得测试用例 header = {} header['Content-Type'] = read_config().get('header', 'type') header['Auth-Token'] = read_config().get('header', 'token') # header['Cookie'] = open(r'D:\WeFun Smoke\configs\cookie.txt','r+').read() def setUp(self): # 去掉ResourceWarning warnings.simplefilter("ignore", ResourceWarning) # 新增社区 @data(*new_case) def test_001(self, case): try: res = Request(method=case["method"], url=case['url'], data=json.dumps(case['data']), header=self.header) result = res.get_json() if result['code'] == 0: print("创建社区-->成功 %s" % result) else: print("创建社区-->失败") # 如果创建社区成功,就把创建成功得社区id存起来 if result['server_id']: setattr(Context, 'new_sercer', result['server_id']) except Exception as e: My_Logger().error("错误接口: %s%s" % case['title'] % e) raise e # 社区下面创建分类 def test_002(self): header = {} header[ 'Content-Type'] = "application/x-www-form-urlencoded" # 创建社区下面的 分类 频道 需要用到另一个Content-Type header['Auth-Token'] = read_config().get('header', 'token') case = { "title": "创建分类", "method": "post", "url": "https://test-api.wefunapp.cn/v1/channels/create", #---->创建分类 "data": { "server_id": getattr(Context, 'new_sercer'), "channel_type": "1", "channel_name": "test" }, "expected": "0" } try: re = Request(case['method'], case['url'], json.dumps(case["data"]), header=header) result = re.get_json() if result["code"] == 0: print("创建社区中的分类-->成功 %s" % result) else: print("创建社区中的分类-->失败 %s" % result) # 失败的写到日志里面去 My_Logger().info("创建社区中的分类-->失败 %s" % result) self.assertEqual(int(case['expected']), result['code']) except Exception as e: My_Logger().error("错误接口: %s%s" % case['title'] % e) raise e # 删除社区测试 def test_003(self): case = { "case_id": "2", "method": "post", "url": "https://test-api.wefunapp.cn/v1/servers/delete", #---->删除社区用例 "data": { "server_id": getattr(Context, 'new_sercer') }, "expected": "success" } try: re = Request(method=case["method"], url=case['url'], data=json.dumps(case['data']), header=self.header) result = re.get_json() if result['code'] == 0: print("删除社区-->成功 %s" % result) else: print("删除社区-->失败 %s" % result) except Exception as e: My_Logger().error("错误接口:删除社区 -->%s" % e) raise e
def add_order(self, pucharseAgreement_fix): self.data['_mt'] = 'saasmanager.service.addPurchaseOrder' agreementNo = pucharseAgreement_fix print(agreementNo) param = { "canDeleteDetail": True, "purchaseOrderBaseInfo": { "id": "", "purchaseNo": "", "purchaseDate": now_time, "supplierCompanyId": 224, "supplierCompanyName": "上海赛可出行科技服务有限公司", "ourCompanyId": 270, "ourCompanyName": "上海赛可出行科技服务有限公司", "agreementId": 8506, "agreementNo": agreementNo, "businessMode": 1, "settlementMode": 1, "outOrderNo": "wbdh123444", "deliveryType": 1, "lastDeliveryDate": "2020-07-08", "salesMan": "zg_182616hJ0", "type": "", "remark": "test", "directEntryWarehouse": 0, "warehouseName": "" }, "purchaseOrderPaymentInfo": { "expectedPaymentDate": "", "paymentModeName": "" }, "purchaseOrderOtherInfo": { "backToBack": 0, "sourceOrderNo": "" }, "purchaseOrderDetailList": [{ "itemId": 103938, "itemTitle": "三级盘螺", "material": "钢材", "specification": "PL1233", "steelMill": "本钢", "itemUnitWay": 1, "purchaseQuantity": "2", "purchaseWeight": 40000, "weightUnit": 1, "inclusiveTaxPrice": 305575, "inclusiveTaxAmount": 1222300, "excludeTaxAmount": 1081681, "taxRate": 0.13, "settlementQuantity": 0, "settlementWeight": 0, "settlementPrice": 0, "settlementAmount": 0, "packageNo": "KBH23457", "singleWeight": 20000 }] } self.data['orderInfo'] = json.dumps(param, ensure_ascii=False) self.data['_tk'] = self._tk response = Request().post_request(url=self.config.url_test, data=self.data, verify=False) return response['body']['content'][0]