def init_children(self): self.query_order_form = QueryOrderForm(None) self.products_table = ProductsTable(None) self.delete_order_button = PageObject( '//button[@test-id="delete_order_button"]') self.no_order_selected = PageObject( '//button[@test-id="no_order_selected"]') self.no_such_order = PageObject('//button[@test-id="no_such_order"]')
def init_children(self): self.menu = Menu(None) self.products_page = ProductsPage(None) self.cart_page = CartPage(None) self.order_details_page = OrderDetailsPage(None) self.page_title = PageObject('//h1') self.notification = Notification(None) self.purchase_successful_notification = PageObject( '//*[@test-id="notification"][contains(text(),"Purchase success")]' ) self.order_deletion_successful_notification = PageObject( '//*[@test-id="notification"][contains(text(),"Order deletion success")]' )
class CartPage(PageObject): default_locator = '//main[@test-id="cart"]' def init_children(self): self.products_table = ProductsTable(None) self.submit_order_button = PageObject( '//button[@test-id="submit_order_button"]') def submit_order(self): self.submit_order_button.wait_until_existing().click() def remove_from_cart(self, product_name): row = self.products_table.row_by_product_name(product_name) if not row: raise ValueError( '"{}" is not in the products list'.format(product_name)) row.remove_from_cart_button.click()
class OrderDetailsPage(PageObject): default_locator = '//main[@test-id="order_details"]' def init_children(self): self.query_order_form = QueryOrderForm(None) self.products_table = ProductsTable(None) self.delete_order_button = PageObject( '//button[@test-id="delete_order_button"]') self.no_order_selected = PageObject( '//button[@test-id="no_order_selected"]') self.no_such_order = PageObject('//button[@test-id="no_such_order"]') def query_order(self, order_id): self.query_order_form.query_order(order_id) self.no_order_selected.wait_until_vanished() def delete_order(self): if self.products_table.is_existing(): self.delete_order_button.wait_until_existing().click()
class App(Page): requested_url = 'http://*****:*****@test-id="notification"][contains(text(),"Purchase success")]' ) self.order_deletion_successful_notification = PageObject( '//*[@test-id="notification"][contains(text(),"Order deletion success")]' ) def navigate_to(self, page): self.menu[page].wait_until_existing().click() self['{}_page'.format(page)].wait_until_existing() def order_products(self, products): self.navigate_to(Pages.PRODUCTS) for product in products: self.products_page.add_to_cart(product) self.navigate_to(Pages.CART) self.cart_page.submit_order() self.purchase_successful_notification.wait_until_existing() return self.notification.get_order_id() def delete_order(self, order_id): self.navigate_to(Pages.ORDER_DETAILS) self.order_details_page.query_order(order_id) self.order_details_page.delete_order() self.order_deletion_successful_notification.wait_until_existing() return self.notification.get_order_id()
class QueryOrderForm(PageObject): default_locator = '//*[@test-id="order_query_form"]' def init_children(self): self.show_order_button = PageObject('//button') self.input = PageObject('//input') def query_order(self, order_id): self.input.clear() self.input.set_value(order_id) self.show_order_button.click() """
def setUpClass(cls): cls.lib = PageObject()
def init_children(self): self.products_table = ProductsTable(None) self.submit_order_button = PageObject( '//button[@test-id="submit_order_button"]')
def init_children(self): self.products = PageObject('//li[@test-id="products"]/*') self.cart = PageObject('//li[@test-id="cart"]/*') self.order_details = PageObject('//li[@test-id="order details"]/*')
def init_children(self): self.show_order_button = PageObject('//button') self.input = PageObject('//input')
def init_children(self): self.product_name = PageObject('//td[1]') self.add_to_cart_button = PageObject( '//button[@test-id="add_to_cart_button"]') self.remove_from_cart_button = PageObject( '//button[@test-id="remove_from_cart_button"]')