class StockSeed: def __init__(self, driver): self.driver = driver self.html = HtmlProxy(self.driver) self.menu = MainMenuProxy(self.driver) self.stockAssert = StockAssert(self.html, self.driver) def createRawMaterial(self, materialName, me, wareHouse, module=False): if module: self.menu.openStocks() self.html.clickElement('Új nyersanyag felvitele', 'a') self.html.switchFrame('iframe') self.html.fillInput('Nyersanyag neve', materialName) self.html.clickDropdown('ME', me) self.html.clickDropdown('Raktár', wareHouse) self.html.clickElement('Rögzít') self.html.switchFrame() self.html.refresh() self.stockAssert.assertMaterialExist(materialName, 'Raktárkészlet') def createRawMaterialWithOpening(self, testName, grossPrice, openingQty, whName, me='liter', module=False): if module: self.menu.openStocks() self.html.clickElement('Új nyersanyag felvitele', 'a') self.html.switchFrame('iframe') self.html.fillInput('Nyersanyag neve', testName) self.html.fillInput('Bruttó beszerzési egységár', grossPrice) self.html.clickDropdown('ME', me) self.html.fillInput('Nyitó mennyiség', openingQty) self.html.clickDropdown('Raktár', whName) self.html.clickElement('Rögzít') self.html.switchFrame() def deleteRawMaterial(self, name, module=False): if module: self.menu.openStocks() self.html.wait(2) self.html.search(name, 'Raktárkészlet') self.html.wait(2) self.html.clickTableDropdown(name, 'Törlés', 'Raktárkészlet') self.html.wait(2) self.html.clickElement('Igen') self.html.wait(2) self.html.search('', 'Raktárkészlet') self.html.wait(2) def createWarehouse(self, warehouseName, module=False, tab=False): if module: self.menu.openStocks() self.html.clickElement('Raktárak', 'a') elif tab: self.html.clickElement('Raktárak', 'a') self.html.clickElement('Új raktár felvitele', 'a') self.html.switchFrame('iframe') self.html.fillInput('Raktár neve', warehouseName) self.html.clickElement('Rögzít') self.html.switchFrame() def deleteWarehouse(self, warehouseName, module=False, tab=False): if module: self.menu.openStocks() self.html.clickElement('Raktárak', 'a') elif tab: self.html.clickElement('Raktárak', 'a') self.html.refresh() self.html.wait(2) self.html.search(warehouseName, 'Raktárak') self.html.wait(2) currWindow = self.html.getElement('tabs-3', 'div', options=Options(htmlAttribute='id')) # itt azert adjuk at a currWindow-t, hogy az adott oldalon keressen a td-k kozott self.html.clickElement(warehouseName, 'td', Options(following='a', element=currWindow)) self.html.wait(3) self.html.clickElement('Igen') self.html.wait(2) self.html.search('', 'Raktárak') self.html.wait(2)
class StockAssert(unittest.TestCase): def __init__(self, htmlProxy, driver): super().__init__() self.html = htmlProxy self.menu = MainMenuProxy(driver) self.cg = cg() def assertWarehouseExist(self, name, tab): self.assertTrue( self.html.getElementInTable(name, 'storages', tab).is_displayed()) def assertWarehouseNotExist(self, name, tab): with self.assertRaises(NoSuchElementException): self.html.getElementInTable(name, 'storages', tab) def assertDialogDisplayed(self): self.assertTrue( self.html.getElement( 'iframe', 'body', Options(htmlAttribute='class')).is_displayed()) def assertMaterialExist(self, materialName, tab): self.html.search(materialName, tab) self.assertTrue( self.html.getElement(materialName, 'td').is_displayed()) self.html.search('', tab) #self.assertTrue(self.html.getElementInTable(materialName, 'td', tab).is_displayed()) def assertAllergenExist(self, allergenName): self.assertTrue( self.html.getElement(allergenName, 'td').is_displayed()) def assertStockMovementExist(self, fromWh, toWh): self.assertTrue(self.html.getElement(fromWh, 'td').is_displayed()) self.assertTrue(self.html.getElement(toWh, 'td').is_displayed()) def assertStock(self, materialName, whName, qty): tab = 'Raktárkészlet' self.menu.openStocks() self.html.clickTableDropdown(materialName, 'Raktárak', tab) self.html.switchFrame('iframe') if qty != '0': stock = self.html.getElement( whName, 'td', Options(following='td//following::td')).text self.assertEqual(stock, qty) else: with self.assertRaises(NoSuchElementException): self.html.getElement(whName, 'td') self.html.switchFrame() self.html.clickElement('Close', 'a', Options(htmlAttribute='title')) self.html.clickTableDropdown(materialName, 'Készlet', tab) self.html.switchFrame('iframe') if qty != '0': stock = self.html.getElement( whName, 'td', Options(following='td//following::td')).text self.assertEqual(stock, qty) else: with self.assertRaises(NoSuchElementException): self.html.getElement(whName, 'td') self.html.switchFrame() self.html.clickElement('Close', 'a', Options(htmlAttribute='title')) self.html.clickElement('Raktárak', 'a') self.html.search(whName, 'Raktárak') self.html.clickElement( None, "//tr[contains(., '" + whName + "')]//a[contains(@class, 'stock') and contains(@class, 'actionButton')]", Options(uniqueSelector=True)) self.html.switchFrame("iframe") if qty != '0': stock = self.html.getElement(materialName, 'td', Options(following='td')).text self.assertEqual(stock, qty) else: with self.assertRaises(NoSuchElementException): self.html.getElement(materialName, 'td') self.html.switchFrame() self.html.clickElement('Close', 'a', Options(htmlAttribute='title')) self.menu.openStocks() def assertDeletedMaterial(self, materialName, whName): self.html.clickElement('Raktárak', 'a') self.html.search(whName, 'Raktárak') self.html.clickElement( None, "//tr[contains(., '" + whName + "')]//a[contains(@class, 'stock') and contains(@class, 'actionButton')]", Options(uniqueSelector=True)) self.html.switchFrame("iframe") with self.assertRaises(NoSuchElementException): self.html.getElement(materialName, 'td') self.html.switchFrame() self.html.clickElement('Close', 'a', Options(htmlAttribute='title')) self.menu.openStocks()