Last active
December 10, 2019 18:38
-
-
Save danizen/238ffdc8a231a93b10e4a082e95b243e to your computer and use it in GitHub Desktop.
How to use page objects with nlm_selenium
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[pytest] | |
baseurl = https://ned.nih.gov | |
browser = chrome |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from nlm_selenium import SeleniumTestCase | |
from nlm_selenium.page_objects import PageObject, PageElement | |
class SearchPage(PageObject): | |
URI = '/search/' | |
last_name = PageElement(id_='ContentPlaceHolder_txtLastName') | |
first_name = PageElement(id_='ContentPlaceHolder_txtFirstName') | |
search_button = PageElement(id_='ContentPlaceHolder_btnSearchName') | |
records_label = PageElement(id_='ContentPlaceHolder_lblRecords', caching=False) | |
error_label = PageElement(id_='ContentPlaceHolder_lblError', caching=False) | |
def should_have_no_results(self): | |
assert self.error_label | |
assert self.error_label.text | |
def should_have_results(self): | |
assert self.records_label | |
assert self.records_label.text | |
class TestNedSearch(SeleniumTestCase): | |
def test_wiring(self): | |
assert self.baseUrl == 'https://ned.nih.gov' | |
def test_ned_search_1(self): | |
# open | https:#ned.nih.gov/search/ | | |
page = SearchPage(self.driver, self.baseUrl) | |
page.open() | |
page.wait_for('first_name', 'last_name', 'search_button') | |
# type | id=ContentPlaceHolder_txtLastName | Paleontology | |
page.last_name.clear() | |
page.last_name.send_keys("Paleontology") | |
# type | id=ContentPlaceHolder_txtFirstName | John | |
page.first_name.clear() | |
page.first_name.send_keys("John") | |
# click | id=ContentPlaceHolder_btnSearchName | | |
page.search_button.click() | |
page.should_have_no_results() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from nlm_selenium.page_objects import PageObject, PageElement | |
class SearchPage(PageObject): | |
URI = '/search/' | |
last_name = PageElement(id_='ContentPlaceHolder_txtLastName') | |
first_name = PageElement(id_='ContentPlaceHolder_txtFirstName') | |
search_button = PageElement(id_='ContentPlaceHolder_btnSearchName') | |
records_label = PageElement(id_='ContentPlaceHolder_lblRecords', caching=False) | |
error_label = PageElement(id_='ContentPlaceHolder_lblError', caching=False) | |
def should_have_no_results(self): | |
assert self.error_label | |
assert self.error_label.text | |
def should_have_results(self): | |
assert self.records_label | |
assert self.records_label.text | |
def test_wiring(base_url): | |
assert base_url == 'https://ned.nih.gov' | |
def test_ned_search_1(webdriver, base_url): | |
# open | https:#ned.nih.gov/search/ | | |
page = SearchPage(webdriver, base_url) | |
page.open() | |
page.wait_for('first_name', 'last_name', 'search_button') | |
# type | id=ContentPlaceHolder_txtLastName | Paleontology | |
page.last_name.clear() | |
page.last_name.send_keys("Paleontology") | |
# type | id=ContentPlaceHolder_txtFirstName | John | |
page.first_name.clear() | |
page.first_name.send_keys("John") | |
# click | id=ContentPlaceHolder_btnSearchName | | |
page.search_button.click() | |
page.should_have_no_results() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment