Skip to content
This repository has been archived by the owner on Aug 20, 2018. It is now read-only.

Commit

Permalink
Merge pull request #377 from alexgibson/refactor-hope-page-promo-tests
Browse files Browse the repository at this point in the history
Update homepage promo tests to check valid link responses only
  • Loading branch information
bobsilverberg committed Jan 20, 2015
2 parents 9ca1649 + b0a7ece commit 6d2d3e8
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 24 deletions.
75 changes: 51 additions & 24 deletions pages/desktop/home.py
Expand Up @@ -17,30 +17,6 @@ def go_to_page(self):

major_links_list = [
{
'locator': (By.CSS_SELECTOR, '#promo-1 a'),
'url_suffix': '/firefox/independent/#play',
}, {
'locator': (By.CSS_SELECTOR, '#promo-2 a'),
'url_suffix': '/privacy/you/',
}, {
'locator': (By.CSS_SELECTOR, '#promo-5 .fxos-link'),
'url_suffix': '/firefox/desktop/',
}, {
'locator': (By.CSS_SELECTOR, '#promo-6 a'),
'url_suffix': '//webmaker.org/',
}, {
'locator': (By.CSS_SELECTOR, '#promo-8 a'),
'url_suffix': '//webmaker.org/appmaker',
}, {
'locator': (By.CSS_SELECTOR, '#promo-10 a'),
'url_suffix': '/firefox/developer/',
}, {
'locator': (By.CSS_SELECTOR, '#promo-11 a'),
'url_suffix': '//gear.mozilla.org/?ref=OMG_launch&utm_campaign=OMG_launch&utm_source=gear.mozilla.org&utm_medium=referral&utm_content=mozillaorg_largeblock',
}, {
'locator': (By.CSS_SELECTOR, '#promo-16 .twt-actions a:nth-child(1)'),
'url_suffix': '//twitter.com/firefox',
}, {
'locator': (By.CSS_SELECTOR, '#firefox-download-section header a'),
'url_suffix': '/firefox/',
}, {
Expand All @@ -61,6 +37,57 @@ def go_to_page(self):
}
]

promo_links_list = [
{
'locator': (By.CSS_SELECTOR, '#promo-1 .panel-link')
},
{
'locator': (By.CSS_SELECTOR, '#promo-2 .panel-link')
},
{
'locator': (By.CSS_SELECTOR, '#promo-3 > a')
},
{
'locator': (By.CSS_SELECTOR, '#promo-4 > a')
},
{
'locator': (By.CSS_SELECTOR, '#promo-5 .fxos-link')
},
{
'locator': (By.CSS_SELECTOR, '#promo-6 .panel-link')
},
{
'locator': (By.CSS_SELECTOR, '#promo-7 > a')
},
{
'locator': (By.CSS_SELECTOR, '#promo-8 .panel-link')
},
{
'locator': (By.CSS_SELECTOR, '#promo-9 .panel-link')
},
{
'locator': (By.CSS_SELECTOR, '#promo-10 .panel-link')
},
{
'locator': (By.CSS_SELECTOR, '#promo-11 .panel-link')
},
{
'locator': (By.CSS_SELECTOR, '#promo-12 > a')
},
{
'locator': (By.CSS_SELECTOR, '#promo-13 > a')
},
{
'locator': (By.CSS_SELECTOR, '#promo-14 > a')
},
{
'locator': (By.CSS_SELECTOR, '#promo-15 > a')
},
{
'locator': (By.CSS_SELECTOR, '#promo-16 .twt-actions a:nth-child(1)')
},
]

images_list = [
{
'locator': (By.CSS_SELECTOR, '.primary img'),
Expand Down
12 changes: 12 additions & 0 deletions tests/test_home.py
Expand Up @@ -12,6 +12,18 @@

class TestHomePage:

@pytest.mark.nondestructive
def test_promo_links_are_valid(self, mozwebqa):
home_page = HomePage(mozwebqa)
home_page.go_to_page()
bad_urls = []
for link in home_page.promo_links_list:
url = home_page.link_destination(link.get('locator'))
response_code = home_page.get_response_code(url)
if response_code != requests.codes.ok:
bad_urls.append('%s is not a valid url - status code: %s.' % (url, response_code))
Assert.equal(0, len(bad_urls), '%s bad urls found: ' % len(bad_urls) + ', '.join(bad_urls))

@pytest.mark.nondestructive
def test_major_link_urls_are_valid(self, mozwebqa):
home_page = HomePage(mozwebqa)
Expand Down

0 comments on commit 6d2d3e8

Please sign in to comment.