示例#1
0
 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"]')
示例#2
0
 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")]'
     )
示例#3
0
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()
示例#4
0
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()
示例#5
0
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()
示例#6
0
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()

    """
示例#7
0
 def setUpClass(cls):
     cls.lib = PageObject()
示例#8
0
 def init_children(self):
     self.products_table = ProductsTable(None)
     self.submit_order_button = PageObject(
         '//button[@test-id="submit_order_button"]')
示例#9
0
 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"]/*')
示例#10
0
 def init_children(self):
     self.show_order_button = PageObject('//button')
     self.input = PageObject('//input')
示例#11
0
 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"]')