Skip to content

Commit 7f9f262

Browse files
author
Petr Kus
committed
add first "real" content
1 parent f032f75 commit 7f9f262

File tree

6 files changed

+530
-0
lines changed

6 files changed

+530
-0
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
class Browser:
2+
def __init__(self,driver):
3+
self.driver = driver
4+
5+
def go_to_page(self,page):
6+
self.driver.get(page)
7+
8+
def page(self):
9+
return self.driver.current_url
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
from selenium.webdriver.common.by import By
2+
3+
class LoginPage:
4+
password_field = (By.ID,'password')
5+
login_name_field = (By.ID,'user-name')
6+
login_button = (By.ID,'login-button')
7+
8+
def __init__(self,driver):
9+
self.driver = driver
10+
11+
def login(self,name,password):
12+
self.driver.find_element(*self.login_name_field).send_keys(name)
13+
self.driver.find_element(*self.password_field).send_keys(password)
14+
self.driver.find_element(*self.login_button).click()
15+
16+
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
from selenium.webdriver.common.by import By
2+
from selenium.webdriver.support.ui import WebDriverWait
3+
from selenium.webdriver.support import expected_conditions as EC
4+
import time
5+
6+
def slowdown():
7+
time.sleep(0.5)
8+
9+
class Menu:
10+
main_menu_button = (By.ID, "react-burger-menu-btn")
11+
logout_button = (By.XPATH,"//nav/*[text()='Logout']")
12+
13+
def __init__(self, driver):
14+
self.driver = driver
15+
16+
def logout(self):
17+
slowdown()
18+
self.driver.find_element(*self.main_menu_button).click()
19+
slowdown()
20+
WebDriverWait(self.driver,2).until(EC.visibility_of_element_located(self.logout_button)).click()
21+
slowdown()
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
from selenium import webdriver
2+
from selenium.webdriver.common.keys import Keys
3+
from selenium.webdriver.common.by import By
4+
import pytest
5+
@pytest.fixture
6+
def browser():
7+
driver = webdriver.Chrome()
8+
return driver
9+
@pytest.fixture
10+
def webpage():
11+
return "https://www.saucedemo.com"
12+
@pytest.fixture
13+
def login():
14+
return {"username": "standard_user", "password": "secret_sauce"}
15+
class TestWebPage:
16+
driver = webdriver.Chrome()
17+
def test_web_loading(self, webpage):
18+
self.driver.get(webpage)
19+
assert "Swag Labs" == self.driver.title
20+
@pytest.mark.parametrize("username, password", [("standard_user", "secret_sauce")])
21+
def test_login(self, username, password):
22+
self.driver.find_element(By.ID, "user-name").send_keys(username)
23+
self.driver.find_element(By.ID, "password").send_keys(password)
24+
self.driver.find_element(By.ID, "login-button").click()
25+
assert "Products" == self.driver.title
26+
self.driver.quit()

0 commit comments

Comments
 (0)