def test_B_SalesReturnManageSee(self): u"""scm退货管理_查询""" log = self.logger log.info('测试退货管理_查询') driver = self.driver driver.get(self.base_url) jumplogin.jumpLogin(self) # 跳过登录,跳过验证码,若已有cookie信息已过期则调用等模块 log.info('已跳过登录') joinscm.joinScm(self) # 进入scm joinscm.joinScmIframe(self) # 跳入scm_iframe log.info('已进入scm_iframe') """========开始测试内容=====================================================""" log.info('开始退货管理_查询测试') # 定位“退货管理” salesReturnManage = SalesReturnManagePage(driver) log.info('已进入退货管理页面') # 获取测试用例数据(需要传入测试用例数据文件再各环境中的测试目录) rf = ExcelReader(r'\scm_PurchaseManage\OrderManageSee_data.xlsx') see_values = rf.getTestData # 调用此方法时不需要加括号 log.info('以获取退货管理_查询测试数据') i = 1 at = Asserts() # 创建断言对象 for v in see_values: log.info('第 %d 组测试数据' % i) i += 1
def test_A_allotManageSee(self): u"""scm调拨管理_查询""" log = self.logger log.info('测试调拨管理_查询') driver = self.driver driver.get(self.base_url) jumplogin.jumpLogin(self) # 跳过登录,跳过验证码,若已有cookie信息已过期则调用等模块 log.info('已跳过登录') joinscm.joinScm(self) # 进入scm joinscm.joinScmIframe(self) # 跳入scm_iframe log.info('已进入scm_iframe') """========开始测试内容=====================================================""" log.info('开始调拨管理_查询测试') # 定位“调拨管理” allotManage = AllotManagePage(driver) log.info('已进入调拨管理模块') # 获取测试用例数据(需要传入测试用例数据文件再各环境中的测试目录) rf = ExcelReader( r'\scm_warehouse_manage\AllotManage\AllotManageSee_data.xlsx') see_values = rf.getTestData # 调用此方法时不需要加括号 log.info('以获取调拨管理_查询测试数据') i = 1 at = Asserts() # 创建断言对象 for v in see_values: log.info('第 %d 组测试数据' % i) i += 1 allotManage.optionOutWarehouse(v.get('OutWarehouse')) allotManage.optionOutStorageLocation(v.get('OutStorageLocation')) allotManage.optionJoinWarehouse(v.get('JoinWarehouse')) allotManage.optionJoinStorageLocation(v.get('JoinStorageLocation')) allotManage.optionAllotType(v.get('AllotType')) allotManage.inputAllotNumber(v.get('AllotNumber')) allotManage.optionAllotNumberState(v.get('AllotNumberState')) allotManage.optionOutPutState(v.get('OutPutState')) log.info('已输入完信息') allotManage.clickSee() sleep(1) log.info('获取短信信息') es = allotManage.getAllotNumbers() log.info('开始断言') at.assertValueInTexts(es, v.get('OutWarehouse'), '调拨管理查询_调出仓库', driver) at.assertValueInTexts(es, v.get('OutStorageLocation'), '调拨管理查询_调出仓库', driver) at.assertValueInTexts(es, v.get('JoinWarehouse'), '调拨管理查询_调入仓库', driver) at.assertValueInTexts(es, v.get('JoinStorageLocation'), '调拨管理查询_调入库位', driver) at.assertValueInTexts(es, v.get('AllotNumber'), '调拨管理查询_调拨单号', driver) log.info('断言通过') allotManage.joinAllotManage() sleep(0.5)
def test_C_locationManageNewAddress(self): u"""scm地点管理_编辑""" log = self.logger log.info('测试地点管理_新增') driver = self.driver driver.get(self.base_url) jumplogin.jumpLogin(self) # 跳过登录,跳过验证码,若已有cookie信息已过期则调用等模块 log.info('已跳过登录') joinscm.joinScm(self) # 进入scm joinscm.joinScmIframe(self) # 跳入scm_iframe log.info('已进入scm_iframe') """========开始测试内容=====================================================""" log.info('开始地点管理_新增测试') # 定位“库存管理” addressmanage = AddressManage(driver) # 创建对象,直接进入页面 log.info('已进入地点管理模块') # 获取测试用例数据(需要传入测试用例数据文件再各环境中的测试目录) rf = ExcelReader( r'\scm_SupplyChainManage\LocationManageNewAddress_data.xlsx') edit_values = rf.getTestData # 调用此方法时不需要加括号 log.info('以获取地点管理_新增测试数据') i = 1 at = Asserts() # 创建断言对象 for v in edit_values: log.info('第 %d 组测试数据' % i) i += 1 addressmanage.clickNewAddress() # 点击“新增地点” log.info('已进入新增弹框,开始填写信息') now_time = time.strftime("%M%S", time.localtime()) # 获取当前系统时间 AddressCode = v.get('AddressCode') + now_time # 拼接仓库编码 AddressName = v.get('AddressName') + now_time # 拼接仓库名称 # print(AddressCode) addressmanage.inputAddressCode(AddressCode) addressmanage.inputAddressName(AddressName) addressmanage.inputWarehouseAddress(v.get('WarehouseAddress')) addressmanage.inputContactMan(v.get('ContactMan')) addressmanage.inputTelephone(v.get('Telephone')) addressmanage.optionProvinceNewAdd(v.get('ProvinceNewAdd')) addressmanage.optionCityNewAdd(v.get('CityNewAdd')) addressmanage.optionCountyNewAdd(v.get('CountyNewAdd')) addressmanage.clickYes() # 设为可用 sleep(0.5) addressmanage.clickSave() sleep(0.5) # 必须加等待时间,因为元素以存在,当时内容为空,等待一会才有内容 e = addressmanage.getAlertInfoElement() # 获取操作提示信息元素 log.info('已新增完成,开始断言') at.assertText(e, '操作成功!', '地点管理_编辑', driver) log.info('断言通过') sleep(0.5) addressmanage.clickClose() # 关闭提示信息弹框 sleep(0.5) addressmanage.joinAddressManage() # 再次进入地址管理页面
def test_A_OrderManageSee(self): u"""scm订单管理_查询""" log = self.logger log.info('测试订单管理_查询') driver = self.driver driver.get(self.base_url) jumplogin.jumpLogin(self) # 跳过登录,跳过验证码,若已有cookie信息已过期则调用等模块 log.info('已跳过登录') joinscm.joinScm(self) # 进入scm joinscm.joinScmIframe(self) # 跳入scm_iframe log.info('已进入scm_iframe') """========开始测试内容=====================================================""" log.info('开始订单管理_查询测试') # 定位“订单管理” orderManage = OrderManagePage(driver) log.info('已进入订单管理页面') # 获取测试用例数据(需要传入测试用例数据文件再各环境中的测试目录) rf = ExcelReader(r'\scm_PurchaseManage\OrderManageSee_data.xlsx') see_values = rf.getTestData # 调用此方法时不需要加括号 log.info('以获取订单管理_查询测试数据') i = 1 at = Asserts() # 创建断言对象 for v in see_values: log.info('第 %d 组测试数据' % i) i += 1 orderManage.inputOrderNumber(v.get('OrderNumber')) orderManage.optionWarehouse(v.get('Warehouse')) orderManage.optionStorageLocation(v.get('StorageLocation')) orderManage.inputSupplier(v.get('Supplier')) orderManage.optionInventoryState(v.get('InventoryState')) orderManage.inputBuyer(v.get('Buyer')) orderManage.optionOrderState(v.get('OrderState')) orderManage.clickSee() sleep(1) log.info('开始断言') es1 = orderManage.getOrderBasicInfors() at.assertValueInTexts(es1, v.get('OrderNumber'), '订单管理查询_采购单号', driver) at.assertValueInTexts(es1, v.get('Warehouse'), '订单管理查询_仓库', driver) at.assertValueInTexts(es1, v.get('StorageLocationAssert'), '订单管理查询_库位', driver) at.assertValueInTexts(es1, v.get('Supplier'), '订单管理查询_供应商', driver) es2 = orderManage.getStates() at.assertValueInTexts(es2, v.get('InventoryState'), '订单管理查询_入库状态', driver) at.assertValueInTexts(es2, v.get('OrderState'), '订单管理查询_订单状态', driver) es3 = orderManage.getOthers() at.assertValueInTexts(es3, v.get('Buyer'), '订单管理查询_采购员', driver) log.info('断言通过') orderManage.joinOrderManagePage()
def test_A_ReplenishManageSee(self): u"""scm补货管理_查询""" log = self.logger log.info('测试补货管理_查询') driver = self.driver driver.get(self.base_url) jumplogin.jumpLogin(self) # 跳过登录,跳过验证码,若已有cookie信息已过期则调用等模块 log.info('已跳过登录') joinscm.joinScm(self) # 进入scm joinscm.joinScmIframe(self) # 跳入scm_iframe log.info('已进入scm_iframe') """========开始测试内容=====================================================""" log.info('开始补货管理_查询测试') # 定位“补货管理” replenishManage = ReplenishManagePage(driver) log.info('已进入补货管理模块') # 获取测试用例数据(需要传入测试用例数据文件再各环境中的测试目录) rf = ExcelReader( r'\scm_warehouse_manage\ReplenishManage\ReplenishManageSee_data.xlsx' ) see_values = rf.getTestData # 调用此方法时不需要加括号 log.info('以获取补货管理_查询测试数据') i = 1 at = Asserts() # 创建断言对象 for v in see_values: log.info('第 %d 组测试数据' % i) i += 1 replenishManage.optionWarehouse(v.get('Warehouse')) replenishManage.inputReplenishNumber(v.get('ReplenishNumber')) replenishManage.inputOutboundNumber(v.get('OutboundNumber')) replenishManage.inputShop(v.get('Shop')) replenishManage.optionState(v.get('State')) replenishManage.clickSee() sleep(1) log.info('开始断言') es1 = replenishManage.getReplenishNumbers() at.assertValueInTexts(es1, v.get('ReplenishNumber'), '补货管理查询_需求单号', driver) es2 = replenishManage.getOutboundNumbers() at.assertValueInTexts(es2, v.get('OutboundNumber'), '补货管理查询_波次单号', driver) es3 = replenishManage.getWareHouses() at.assertValueInTexts(es3, v.get('Warehouse'), '补货管理查询_仓库', driver) es5 = replenishManage.getShops() at.assertValueInTexts(es5, v.get('Shop'), '补货管理查询_货柜', driver) es6 = replenishManage.getStates() at.assertValueInTexts(es6, v.get('State'), '补货管理查询_状态', driver) log.info('断言通过') replenishManage.joinReplenishManage()
def test_A_OtherOutboundSee(self): u"""scm其他出库_查询""" log = self.logger log.info('测试其他出库_查询') driver = self.driver driver.get(self.base_url) jumplogin.jumpLogin(self) # 跳过登录,跳过验证码,若已有cookie信息已过期则调用等模块 log.info('已跳过登录') joinscm.joinScm(self) # 进入scm joinscm.joinScmIframe(self) # 跳入scm_iframe log.info('已进入scm_iframe') """========开始测试内容=====================================================""" log.info('开始其他出库_查询测试') # 定位“其他出库” otherOutbound = OtherOutboundPage(driver) log.info('已进入损益管理模块') # 获取测试用例数据(需要传入测试用例数据文件再各环境中的测试目录) rf = ExcelReader( r'\scm_warehouse_manage\OtherOutbound\OtherOutboundSee_data.xlsx') see_values = rf.getTestData # 调用此方法时不需要加括号 log.info('以获取损益管理_查询测试数据') i = 1 at = Asserts() # 创建断言对象 for v in see_values: log.info('第 %d 组测试数据' % i) i += 1 otherOutbound.optionWarehouse(v.get('Warehouse')) otherOutbound.optionCheckState(v.get('CheckState')) otherOutbound.optionStockRemovalState(v.get('StockRemovalState')) otherOutbound.inputOtherOrderNumber(v.get('OtherOrderNumber')) otherOutbound.clickSee() sleep(1) log.info('开始断言') es1 = otherOutbound.getOtherOrderNumbers() at.assertValueInTexts(es1, v.get('OtherOrderNumber'), '其他出库查询_单号', driver) es2 = otherOutbound.getCheckStates() at.assertValueInTexts(es2, v.get('CheckState'), '其他出库查询_审核状态', driver) es3 = otherOutbound.getStockRemovalStates() at.assertValueInTexts(es3, v.get('StockRemovalState'), '其他出库查询_出库状态', driver) es4 = otherOutbound.getWarehouses() at.assertValueInTexts(es4, v.get('Warehouse'), '其他出库查询_仓库', driver) log.info('断言通过') otherOutbound.joinOtherOutbound()
def test_B_locationManageEdit(self): u"""scm地点管理_编辑""" log = self.logger log.info('测试地点管理_编辑') driver = self.driver driver.get(self.base_url) jumplogin.jumpLogin(self) # 跳过登录,跳过验证码,若已有cookie信息已过期则调用等模块 log.info('已跳过登录') joinscm.joinScm(self) # 进入scm joinscm.joinScmIframe(self) # 跳入scm_iframe log.info('已进入scm_iframe') """========开始测试内容=====================================================""" log.info('开始地点管理_编辑测试') # 定位“库存管理” addressmanage = AddressManage(driver) # # 创建对象,直接进入页面 log.info('已进入地点管理模块') # 获取测试用例数据(需要传入测试用例数据文件再各环境中的测试目录) rf = ExcelReader( r'\scm_SupplyChainManage\LocationManageEdit_data.xlsx') edit_values = rf.getTestData # 调用此方法时不需要加括号 log.info('以获取地点管理_编辑测试数据') i = 1 at = Asserts() # 创建断言对象 for v in edit_values: log.info('第 %d 组测试数据' % i) i += 1 addressmanage.optionWarehouse(v.get('Warehouse')) # 选择仓库 log.info('已输入完查询信息') addressmanage.clickSee() # 点击查询 sleep(0.5) # 必须有 addressmanage.clickEdit() # 点击编辑 log.info('已进入编辑弹框') addressmanage.inputContactMan(v.get('ContactMan')) # 输入联系人 addressmanage.inputTelephone(v.get('inputTelephone')) # 输入电话 addressmanage.clickSave() # 点保存 sleep(1) # 必须加等待时间,因为元素以存在,当时内容为空,等待一会才有内容 e = addressmanage.getAlertInfoElement() # 获取操作提示信息元素 log.info('已编辑完成,开始断言') at.assertText(e, '操作成功!', '地点管理_编辑', driver) log.info('断言通过') sleep(0.5) addressmanage.clickClose() # 关闭提示信息弹框 sleep(0.5) addressmanage.joinAddressManage() # 再次进入地址管理页面
def test_D_locationManageSeeDetail(self): u"""scm地点管理_查询明细""" log = self.logger log.info('测试地点管理_查询明细') driver = self.driver driver.get(self.base_url) jumplogin.jumpLogin(self) # 跳过登录,跳过验证码,若已有cookie信息已过期则调用等模块 log.info('已跳过登录') joinscm.joinScm(self) # 进入scm joinscm.joinScmIframe(self) # 跳入scm_iframe log.info('已进入scm_iframe') """========开始测试内容=====================================================""" log.info('开始地点管理_查询明细测试') # 定位“库存管理” addressmanage = AddressManage(driver) # 创建对象,直接进入页面 log.info('已进入地点管理模块') # 获取测试用例数据(需要传入测试用例数据文件再各环境中的测试目录) rf = ExcelReader(r'\scm_SupplyChainManage\LocationManageSee_data.xlsx') seeDetail_values = rf.getTestData # 调用此方法时不需要加括号 log.info('以获取地点管理_查询明细测试数据') i = 1 at = Asserts() # 创建断言对象 for v in seeDetail_values: log.info('第 %d 组测试数据' % i) i += 1 Warehouse = v.get('Warehouse') addressmanage.optionWarehouse(Warehouse) # 选择仓库 # addressmanage.optionProvince(v.get('Province')) # 选择省份 addressmanage.optionCity(v.get('City')) # 选择城市 log.info('已输入完查询信息') addressmanage.clickSee() # 点击查询 sleep(0.5) addressmanage.clickSeeDetail() # 点击查看明细 sleep(1) e = addressmanage.inputAddressName() # 获取地址名称元素:不传值时,返回元素 log.info('已查询到明细,开始断言') at.assertAttribute(e, Warehouse, 'value', '地点管理_查询明细', driver) log.info('断言通过') addressmanage.clickCancel() # 点击取消,便于下一组测试数据测试 log.info('已点几取消') sleep(1) addressmanage.joinAddressManage() # 再次进入地址管理页面
def test_A_lossManageSee(self): u"""scm损益管理_查询""" log = self.logger log.info('测试损益管理_查询') driver = self.driver driver.get(self.base_url) jumplogin.jumpLogin(self) # 跳过登录,跳过验证码,若已有cookie信息已过期则调用等模块 log.info('已跳过登录') joinscm.joinScm(self) # 进入scm joinscm.joinScmIframe(self) # 跳入scm_iframe log.info('已进入scm_iframe') """========开始测试内容=====================================================""" log.info('开始损益管理_查询测试') # 定位“损益管理” lossManage = LossManagePage(driver) log.info('已进入损益管理模块') # 获取测试用例数据(需要传入测试用例数据文件再各环境中的测试目录) rf = ExcelReader( r'\scm_warehouse_manage\LossManage\LossManageSee_data.xlsx') see_values = rf.getTestData # 调用此方法时不需要加括号 log.info('以获取损益管理_查询测试数据') i = 1 at = Asserts() # 创建断言对象 for v in see_values: log.info('第 %d 组测试数据' % i) i += 1 lossManage.optionWarehouse(v.get('Warehouse')) lossManage.inputShop(v.get('Shop')) lossManage.inputReplenishNumber(v.get('ReplenishNumber')) lossManage.clickSee() sleep(1) log.info('查询到信息,开始断言') es = lossManage.getWarehouses() at.assertValueInTexts(es, v.get('Warehouse'), '损益管理查询_仓库', driver) es2 = lossManage.getShops() at.assertValueInTexts(es2, v.get('Shop'), '损益管理查询_货柜', driver) es3 = lossManage.getReplenishNumbers() at.assertValueInTexts(es3, v.get('ReplenishNumber'), '损益管理查询_需求单号', driver) log.info('断言通过') lossManage.joinLossManage() sleep(0.5)
def test_E_radiateManageSee(self): u"""scm辐射管理_查询""" log = self.logger log.info('测试辐射管理_查询') driver = self.driver driver.get(self.base_url) jumplogin.jumpLogin(self) # 跳过登录,跳过验证码,若已有cookie信息已过期则调用等模块 log.info('已跳过登录') joinscm.joinScm(self) # 进入scm joinscm.joinScmIframe(self) # 跳入scm_iframe log.info('已进入scm_iframe') """========开始测试内容=====================================================""" log.info('开始辐射管理_查询测试') # 定位“库存管理” radiateManage = RadiateManage(driver) log.info('已进入地点管理模块') # 获取测试用例数据(需要传入测试用例数据文件再各环境中的测试目录) rf = ExcelReader(r'\scm_SupplyChainManage\RadiateManageSee_data.xlsx') see_values = rf.getTestData # 调用此方法时不需要加括号 log.info('以获取地点管理_查询明细测试数据') i = 1 at = Asserts() # 创建断言对象 for v in see_values: log.info('第 %d 组测试数据' % i) i += 1 radiateManage.optionWarehouse(v.get('Warehouse')) radiateManage.inputShop(v.get('ShopName')) radiateManage.optionCity(v.get('City')) radiateManage.optionShopType(v.get('ShopType')) radiateManage.optionShopState(v.get('ShopState')) log.info('已输入信息,开始查询') radiateManage.clickSee() sleep(1) e = radiateManage.getShopName() log.info('已查询到结果,开始断言') at.assertText(e, v.get('ShopName'), '辐射管理_查询', driver) log.info('断言通过') sleep(1) radiateManage.joinRadiateManage()
def test_A_locationManageSee(self): u"""scm地点管理_查询""" log = self.logger log.info('测试地点管理_查询') driver = self.driver driver.get(self.base_url) jumplogin.jumpLogin(self) # 跳过登录,跳过验证码,若已有cookie信息已过期则调用等模块 log.info('已跳过登录') joinscm.joinScm(self) # 进入scm joinscm.joinScmIframe(self) # 跳入scm_iframe log.info('已进入scm_iframe') """========开始测试内容=====================================================""" log.info('开始地点管理_查询测试') # 定位“库存管理” addressmanage = AddressManage(driver) # 创建对象,直接进入页面 log.info('已进入地点管理模块') # 获取测试用例数据(需要传入测试用例数据文件再各环境中的测试目录) rf = ExcelReader(r'\scm_SupplyChainManage\LocationManageSee_data.xlsx') seevalues = rf.getTestData # 调用此方法时不需要加括号 log.info('以获取地点管理_查询测试数据') i = 1 at = Asserts() # 创建断言对象 for v in seevalues: log.info('第 %d 组测试数据' % i) i += 1 addressmanage.optionWarehouse(v.get('Warehouse')) # 选择仓库 addressmanage.optionCity(v.get('City')) # 选择城市 log.info('已输入完查询信息') addressmanage.clickSee() # 点击查询 sleep(1.5) e = addressmanage.getWarehouse() # 获取查询结果中的仓库元素 log.info('已输查询到信息,开始断言') av = v.get('AssertValue1') + '\n' + v.get('AssertValue2') # 拼接断言值 print(av) at.assertText(e, av, '地点管理_查询', driver) log.info('断言通过') sleep(1) addressmanage.joinAddressManage() # 再次进入地址管理页面
def test_A_breakageManage_see(self): u"""scm报损管理_查询""" log = self.logger log.info('测试报损管理_查询') driver = self.driver driver.get(self.base_url) jumplogin.jumpLogin(self) # 跳过登录,跳过验证码,若已有cookie信息已过期则调用等模块 log.info('已跳过登录') joinscm.joinScm(self) # 进入scm joinscm.joinScmIframe(self) # 跳入scm_iframe log.info('已进入scm_iframe') """========开始测试内容=====================================================""" log.info('开始报损管理_查询测试') # 定位“报损管理” breakageManage = BreakageManagePage(driver) log.info('已进入报损管理模块') # 获取测试用例数据(需要传入测试用例数据文件再各环境中的测试目录) rf = ExcelReader( r'\scm_warehouse_manage\BreakageManage\BreakageManageSee_data.xlsx' ) see_values = rf.getTestData # 调用此方法时不需要加括号 log.info('以获取报损管理_查询测试数据') i = 1 at = Asserts() # 创建断言对象 for v in see_values: log.info('第 %d 组测试数据' % i) i += 1 breakageManage.optionWarehouse(v.get('warehouseCode')) breakageManage.optionAuditState(v.get('auditStatus')) breakageManage.optionStockRemovalState(v.get('outStatus')) breakageManage.inputBreakageNumber(v.get('BreakageNumber')) breakageManage.clickSee() sleep(1) es = breakageManage.getBreakageNumbers() at.assertTexts(es, v.get('BreakageNumber'), '报损管理_查询', driver) breakageManage.joinBreakageManage() sleep(0.5)