예제 #1
0
    def test_add_new_address(self):
        # 1 Do login
        LoginPage(self.browser).open()
        LoginPage(self.browser).login('*****@*****.**', 'codespace')

        # 2 Navigate to My Address Book
        Link(self.browser, 'Address Book').click()
        Button(self.browser, 'Add New Address').click()

        #3 fill form
        test_data_input = {
            'First Name': 'Robot',
            'Last Name': 'Bobot',
            'Company': 'Robotics Inc',
            'Telephone': '123123123',
            'Fax': '123123412',
            # address
            'Street Address': 'Robo circle 1',
            'City': 'Kiev',
            'Zip': '12345'
        }

        for label, text in test_data_input.items():
            Input(self.browser, label).fill(text)

        Select(self.browser, 'Country').select_by_text('Ukraine')
        Checkbox(self.browser, 'Use as my default billing address').click()
예제 #2
0
    def test_purchase(self):
        LoginPage(self.browser).open()
        LoginPage(self.browser).login('*****@*****.**',
                                      'abrakadabra')

        Link(self.browser, 'Accessories').hover()
        Link(self.browser, 'Jewelry').click()

        Product(self.browser, 'Swing Time Earrings').select()
        Button(self.browser, 'Add to Cart').click()
        self.assertEqual(self.browser.title, 'Shopping Cart')
예제 #3
0
    def test_footer_links(self):
        links = (
            # MEN
            'View All Men',
            #'New Arrivals',
            'Shirts',
            'Tees, Knits and Polos',
            #'Pants & Denim',
            'Blazers',
            # WOMEN
        )

        head = (
            'Men',
            # 'New Arrivals',
            'Shirts',
            'Tees, Knits and Polos',
            # 'Pants & Denim',
            'Blazers',
        )

        LoginPage(self.browser).open()
        for link, heads in zip(links, head):
            Link(self.browser, 'Men').hover()
            Link(self.browser, link).click()
            self.assertTrue(Header(self.browser, heads).is_visible)
예제 #4
0
    def test_navigation(self):
        LoginPage(self.browser).open()
        Link(self.browser, 'Accessories').hover()
        Link(self.browser, 'Shoes').click()

        self.assertTrue(
            Product(self.browser, 'Ann Ankle Boot').is_visible)
예제 #5
0
    def test_footer_links(self):
        links = (
            # COMPANY
            'About Us',
            'Contact Us',
            'Customer Service',
            'Privacy Policy',
            # QUICK LINKS
        )

        LoginPage(self.browser).open()
        for link in links:
            Link(self.browser, link).click()
            self.assertEqual(self.browser.title, link)
예제 #6
0
    def test_footer_links(self):
        links = (
            # MEN
            'New Arrivals',
            'Shirts',
            'Blazers'
            # WOMEN
        )

        LoginPage(self.browser).open()
        for link in links:
            Link(self.browser, 'Men').hover()
            Link(self.browser, link).click()
            self.assertTrue(Header(self.browser, link).is_visible)
            self.assertIn(link, self.browser.title)
예제 #7
0
    def test_cookies(self):
        self.browser = webdriver.Chrome()
        ac = ActionChains(self.browser)
        ac.send_keys(Keys.CONTROL)
        ac.send_keys(Keys.SHIFT)
        ac.send_keys('N')
        ac.perform()

        page = LoginPage(self.browser)
        page.open()
        page.login('*****@*****.**', 'abrakadabra')
예제 #8
0
    def testLoginSuccess(self):
        login = LoginPage(self.browser)
        log_data = {
            'email': '*****@*****.**',
            'password': '******',
        }

        for key, value in log_data.items():

            login.find_element(key).send_keys(value)
        login.find_element('login_button').click()

        self.assertIn('My Account', self.browser.title)
예제 #9
0
    def test_search(self):
        page = LoginPage(self.browser)
        page.open()
        page.search('shoes')

        #explicitly wait example
        timeout = self.settings['explicit_timeout']
        wait = WebDriverWait(self.browser, timeout)
        try:
            options = wait.until(
                EC.visibility_of_all_elements_located(
                    (By.XPATH, page.locators['search_results'])))
        except TimeoutException:
            pass
        options[0].click()

        self.assertTrue(Product(self.browser, 'Black Nolita Cami').is_visible)
예제 #10
0
 def test_forgot_password(self):
     LoginPage(self.browser).forgot_account()
     self.assertIn('Forgot Your Password', self.browser.title)
예제 #11
0
 def test_login_with_incorrect_password(self):
     LoginPage(self.browser).login('*****@*****.**', 'codesace')
     self.assertIn('Customer Login', self.browser.title)
예제 #12
0
 def setUp(self):
     LoginPage(self.browser).open()