コード例 #1
0
class TestAddDeliveryAddress(unittest.TestCase):

    root = os.path.dirname(os.path.dirname(__file__))
    data_path = os.path.join(root, "..", "test_data", "AddressRecords.csv")

    @pytest.fixture()
    def setup(self, driver_setup):
        self.login_page = LoginPage(driver_setup)
        self.results_page = ResultsPage(driver_setup)
        self.product_page = ProductPage(driver_setup)
        self.cart = CartPage(driver_setup)
        self.delivery_page = DeliveryPage(driver_setup)
        self.product = "jeans"


    @pytest.fixture()
    def preconditions(self, setup):
        if not self.login_page.verify_logged_in():
            self.login_page.goto()
            self.login_page.login()
        self.results_page.goto_product(self.product)
        self.product_page.add_to_bag(select_type="dropdown")
        self.cart.goto()
        self.cart.goto_checkout_page()
        yield
        self.delivery_page.go_back_to_home_page()


    @pytest.mark.tcid25
    @data(*getCSVData(data_path))
    @unpack
    @pytest.mark.usefixtures("setup", "preconditions")
    def test_add_valid_delivery_details(self, fullAddress, Postcode, PhoneNum):
        self.delivery_page.enter_full_delivery_details(phone=PhoneNum, postcode=Postcode, full_address=fullAddress)
        assert self.delivery_page.verify_valid_delivery_details()
        if AssertionError:
            self.delivery_page.driver.take_screenshot(name="test_add_valid_delivery_details")
コード例 #2
0
class TestPayWithCreditCard(unittest.TestCase):

    root = os.path.dirname(os.path.dirname(__file__))
    data_path = os.path.join(root, "..", "test_data", "CCRecords.csv")

    @pytest.fixture()
    def setup(self, driver_setup):
        self.login_page = LoginPage(driver_setup)
        self.results_page = ResultsPage(driver_setup)
        self.product_page = ProductPage(driver_setup)
        self.cart = CartPage(driver_setup)
        self.payment_page = PaymentPage(driver_setup)
        self.delivery_page = DeliveryPage(driver_setup)
        self.product = "jeans"


    @pytest.fixture()
    def preconditions(self, setup):
        self.login_page.goto()
        self.login_page.login()
        self.results_page.goto_product(self.product)
        self.product_page.add_to_bag(select_type="dropdown")
        self.cart.goto()
        self.cart.goto_checkout_page()
        self.delivery_page.enter_full_delivery_details()


    @data(*getCSVData(data_path))
    @unpack
    @pytest.mark.tcid30
    @pytest.mark.usefixtures("setup", "preconditions")
    def test_pay_with_valid_card(self, ccNum, ccCVV, ccExp):
        self.payment_page.place_order(payment_options="card", curd_num=ccNum,
                                      expiry_date=ccExp, cvv=ccCVV)
        assert self.payment_page.verify_successful_payment()
        if AssertionError:
            self.delivery_page.driver.take_screenshot(name="test_pay_with_valid_card")