diff --git a/behave.ini b/behave.ini index 7909dc5..602a6c8 100644 --- a/behave.ini +++ b/behave.ini @@ -3,10 +3,10 @@ default_format = pretty show_skipped = false show_timings = true stdout_capture = yes -logging-level=ERROR +logging-level = ERROR [behave.userdata] -browser=chrome +browser = chrome +headless = True name = gmgauthier@protonmail.com platform = OSX - diff --git a/browserdriver/__init__.py b/browserdriver/__init__.py index a0df79c..fc91da7 100755 --- a/browserdriver/__init__.py +++ b/browserdriver/__init__.py @@ -22,6 +22,7 @@ class BrowserDriver: def chrome(): options = webdriver.ChromeOptions() + options.headless = True options.add_argument('--ignore-certificate-errors') return webdriver.Chrome(ChromeDriverManager().install(), options=options) @@ -29,6 +30,7 @@ def chrome(): def firefox(): options = webdriver.FirefoxOptions() options.accept_insecure_certs = True + options.headless = True gecko_driver = GeckoDriverManager().install() return webdriver.Firefox(executable_path=gecko_driver, firefox_options=options) diff --git a/conftest.py b/conftest.py index b7e7423..8fb4559 100755 --- a/conftest.py +++ b/conftest.py @@ -12,7 +12,7 @@ def pytest_addoption(parser): action='store', default='staging', help='the name of the environment for which you need properties.') - parser.addoption('--fixtures', + parser.addoption('--fixture', action='store', default='default', help='the name of the environment for which you need fixture accounts.') @@ -32,8 +32,8 @@ def fixture_data(pytestconfig): """ The fixture data items for the account under test """ - env = pytestconfig.getoption("env") - return _read_config_section(fixtures, env) + #env = pytestconfig.getoption("env") + return _read_config_section(fixtures, "env") def _read_config_section(source, section): diff --git a/features/browser_demo.feature b/features/browser_demo.feature index 4816ff4..1ea6816 100644 --- a/features/browser_demo.feature +++ b/features/browser_demo.feature @@ -1,5 +1,10 @@ Feature: Browser Demo - Scenario: Load test.io web page + Scenario: Load test.io web page with chrome Given I have a chrome driver When I navigate to test.io Then The page is displayed + + 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 diff --git a/features/steps/browser_demo.py b/features/steps/browser_demo.py index 18bde55..27050f0 100644 --- a/features/steps/browser_demo.py +++ b/features/steps/browser_demo.py @@ -3,6 +3,11 @@ from behave import then, when, given from browserdriver import BrowserDriver +@given('I have a firefox driver') +def step_impl(context): + context.driver = BrowserDriver.get("firefox") + + @given('I have a chrome driver') def step_impl(context): context.driver = BrowserDriver.get("chrome") @@ -13,6 +18,7 @@ def step_impl(context): context.driver.get("https://test.io") print(context.driver.title) + @then('The page is displayed') def step_impl(context): assert context.driver.title == "QA Testing as a Service | test IO"