Skip to content

Commit d74c976

Browse files
committed
rename base page name
1 parent 6c5ae8d commit d74c976

File tree

8 files changed

+23
-27
lines changed

8 files changed

+23
-27
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
Page-object-model (POM) is a pattern that you can apply it to develop efficient automation framework. With page-model, it is possible to minimise maintenance cost. Basically page-object means that your every page is inherited from a base class which includes basic functionalities for every pages. If you have some new functionality that every pages have, you can simple add it to the base class.
44

5-
Base class include basic functionality and driver initialization
5+
`BasePage` class include basic functionality and driver initialization
66
```python
7-
# base.py
8-
class Page(object):
7+
base_page.py
8+
class BasePage(object):
99
def __init__(self, driver, base_url='http://www.amazon.com/'):
1010
self.base_url = base_url
1111
self.driver = driver
@@ -15,10 +15,10 @@ class Page(object):
1515
return self.driver.find_element(*locator)
1616
```
1717

18-
MainPage is derived from the Base class, it contains methods related to this page, which will be used to create test steps.
18+
`MainPage` is derived from the `BasePage class, it contains methods related to this page, which will be used to create test steps.
1919
```python
2020
# main_page.py
21-
class MainPage(Page):
21+
class MainPage(BasePage):
2222
def __init__(self, driver):
2323
self.locator = MainPageLocators
2424
super().__init__(driver) # Python3 version

pages/base.py renamed to pages/base_page.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33

44
# this Base class is serving basic attributes for every single page inherited from Page class
5-
class Page(object):
5+
class BasePage(object):
66
def __init__(self, driver, base_url='http://www.amazon.com/'):
77
self.base_url = base_url
88
self.driver = driver

pages/home_page.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
from pages.base import Page
1+
from pages.base_page import BasePage
22

33

4-
class HomePage(Page):
4+
class HomeBasePage(BasePage):
55
pass

pages/login_page.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
from utils.locators import *
2-
from pages.base import Page
2+
from pages.base_page import BasePage
33
from utils import users
44

55

6-
class LoginPage(Page):
6+
class LoginBasePage(BasePage):
77
def __init__(self, driver):
88
self.locator = LoginPageLocators
9-
super(LoginPage, self).__init__(driver) # Python2 version
9+
super(LoginBasePage, self).__init__(driver) # Python2 version
1010

1111
def enter_email(self, email):
1212
self.find_element(*self.locator.EMAIL).send_keys(email)

pages/main_page.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
from selenium.webdriver.common.keys import Keys
2-
from pages.base import Page
2+
from pages.base_page import BasePage
33
from utils.locators import *
44

55

66
# Page objects are written in this module.
77
# Depends on the page functionality we can have more functions for new classes
88

9-
class MainPage(Page):
9+
class MainBasePage(BasePage):
1010
def __init__(self, driver):
1111
self.locator = MainPageLocators
1212
super().__init__(driver) # Python3 version

pages/signup_page.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
from pages.base import Page
1+
from pages.base_page import BasePage
22

33

4-
class SignUpPage(Page):
4+
class SignUpBasePage(BasePage):
55
pass

tests/base_test.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,5 @@ def tearDown(self):
2727

2828

2929
if __name__ == "__main__":
30-
BaseTest.__new__()
30+
suite = unittest.TestLoader().loadTestsFromTestCase(TestPages)
31+
unittest.TextTestRunner(verbosity=1).run(suite)

tests/test_sign_in_page.py

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,42 +12,37 @@ class TestSignInPage(BaseTest):
1212

1313
def test_page_load(self):
1414
print("\n" + str(test_cases(0)))
15-
page = MainPage(self.driver)
15+
page = MainBasePage(self.driver)
1616
self.assertTrue(page.check_page_loaded())
1717

1818
def test_search_item(self):
1919
print("\n" + str(test_cases(1)))
20-
page = MainPage(self.driver)
20+
page = MainBasePage(self.driver)
2121
search_result = page.search_item("iPhone 8")
2222
self.assertIn("iPhone 8", search_result)
2323

2424
def test_sign_up_button(self):
2525
print("\n" + str(test_cases(2)))
26-
page = MainPage(self.driver)
26+
page = MainBasePage(self.driver)
2727
sign_up_page = page.click_sign_up_button()
2828
self.assertIn("ap/register", sign_up_page.get_url())
2929

3030
def test_sign_in_button(self):
3131
print("\n" + str(test_cases(3)))
32-
page = MainPage(self.driver)
32+
page = MainBasePage(self.driver)
3333
login_page = page.click_sign_in_button()
3434
self.assertIn("ap/signin", login_page.get_url())
3535

3636
def test_sign_in_with_valid_user(self):
3737
print("\n" + str(test_cases(4)))
38-
main_page = MainPage(self.driver)
38+
main_page = MainBasePage(self.driver)
3939
login_page = main_page.click_sign_in_button()
4040
result = login_page.login_with_valid_user("valid_usrer")
4141
self.assertIn("yourstore/home", result.get_url())
4242

4343
def test_sign_in_with_in_valid_user(self):
4444
print("\n" + str(test_cases(5)))
45-
main_page = MainPage(self.driver)
45+
main_page = MainBasePage(self.driver)
4646
login_page = main_page.click_sign_in_button()
4747
result = login_page.login_with_in_valid_user("invalid_user")
4848
self.assertIn("There was a problem with your request", result)
49-
50-
51-
if __name__ == "__main__":
52-
suite = unittest.TestLoader().loadTestsFromTestCase(TestPages)
53-
unittest.TextTestRunner(verbosity=2).run(suite)

0 commit comments

Comments
 (0)