From da1f39f5f7cab0a3290e9eb4a0d0cc8dfccb601b Mon Sep 17 00:00:00 2001 From: Greg Gauthier Date: Wed, 14 Oct 2020 23:24:01 +0100 Subject: [PATCH] add all four tests, and skip the edge test --- behave.ini | 3 ++- features/browser_demo.feature | 14 +++++++++++++- features/environment.py | 4 +--- features/steps/browser_demo.py | 10 ++++++++++ pytests/test_basic.py | 12 +++++++++--- 5 files changed, 35 insertions(+), 8 deletions(-) diff --git a/behave.ini b/behave.ini index 602a6c8..d2d15e0 100644 --- a/behave.ini +++ b/behave.ini @@ -1,9 +1,10 @@ [behave] default_format = pretty -show_skipped = false +show_skipped = true show_timings = true stdout_capture = yes logging-level = ERROR +default_tags = ~@skip [behave.userdata] browser = chrome diff --git a/features/browser_demo.feature b/features/browser_demo.feature index 1ea6816..09ee36c 100644 --- a/features/browser_demo.feature +++ b/features/browser_demo.feature @@ -7,4 +7,16 @@ Feature: Browser Demo Scenario: Load test.io web page with firefox Given I have a firefox driver When I navigate to test.io - Then The page is displayed \ No newline at end of file + Then The page is displayed + + @skip + Scenario: Load test.io web page with edge + Given I have an edge driver + When I navigate to test.io + Then The page is displayed + + Scenario: Load test.io web page with safari + Given I have a safari driver + When I navigate to test.io + Then The page is displayed + diff --git a/features/environment.py b/features/environment.py index 4c9fe1c..d445eeb 100644 --- a/features/environment.py +++ b/features/environment.py @@ -1,7 +1,5 @@ + def before_all(context): # -- SET LOG LEVEL: behave --logging-level=ERROR ... # on behave command-line or in "behave.ini". context.config.setup_logging() - - # -- ALTERNATIVE: Setup logging with a configuration file. - # context.config.setup_logging(configfile="behave_logging.ini") \ No newline at end of file diff --git a/features/steps/browser_demo.py b/features/steps/browser_demo.py index 27050f0..14de24f 100644 --- a/features/steps/browser_demo.py +++ b/features/steps/browser_demo.py @@ -13,6 +13,16 @@ def step_impl(context): context.driver = BrowserDriver.get("chrome") +@given(u'I have an edge driver') +def step_impl(context): + context.driver = BrowserDriver.get("edge") + + +@given(u'I have a safari driver') +def step_impl(context): + context.driver = BrowserDriver.get("safari") + + @when('I navigate to test.io') def step_impl(context): context.driver.get("https://test.io") diff --git a/pytests/test_basic.py b/pytests/test_basic.py index 5d7070f..9208b5b 100644 --- a/pytests/test_basic.py +++ b/pytests/test_basic.py @@ -1,10 +1,10 @@ from browserdriver import BrowserDriver import pytest + def test_firefox_browser(headless): bd = BrowserDriver().get("firefox", headless=headless) bd.get('https://test.io') - print(bd.current_url, bd.title) assert "QA Testing as a Service | test IO" == bd.title bd.quit() @@ -12,14 +12,20 @@ def test_firefox_browser(headless): def test_chrome_browser(headless): bd = BrowserDriver().get("chrome", headless=headless) bd.get('https://test.io') - print(bd.current_url, bd.title) assert "QA Testing as a Service | test IO" == bd.title bd.quit() + +def test_safari_browser(headless): + bd = BrowserDriver().get("safari", headless=False) + bd.get('https://test.io') + assert "QA Testing as a Service | test IO" == bd.title + bd.quit() + + @pytest.mark.skip(reason="inconsistent implementations across platforms") def test_edge_browser(headless): bd = BrowserDriver().get("edge", headless=headless) bd.get('https://test.io') - print(bd.current_url, bd.title) assert "QA Testing as a Service | test IO" == bd.title bd.quit()