def test_change_tab_and_successful_login(self):
        # Create a second driver
        second_wrapper = DriverWrapper()
        second_wrapper.config.set('Driver', 'type', 'firefox')
        second_wrapper.connect()

        # [Mobile] Open tabs activity
        MenuPageObject().open_option('Views').open_option('Tabs').open_option('1. Content By Id')
        tabs_page = TabsPageObject()
        assert_equal('tab1', tabs_page.content1.text)

        # [Web] Login and check welcome message
        user = {'username': '******', 'password': '******'}
        expected_login_message = "You logged into a secure area!"
        expected_logout_message = "You logged out of the secure area!"
        secure_area = LoginPageObject(second_wrapper).open().login(user)
        assert_in(expected_login_message, secure_area.message.get_message())

        # [Mobile] Open second tab and check content
        tabs_page.tab2.click()
        assert_equal('tab2', tabs_page.content2.text)

        # [Web] Logout and check logout message
        login_page = secure_area.logout()
        assert_in(expected_logout_message, login_page.message.get_message())
Пример #2
0
def step_impl(context, browser):
    if browser == 'browser1':
        # Use default driver
        context.current_page = {'browser1': LoginPageObject()}
    else:
        # Create a second driver
        second_wrapper = DriverWrapper()
        second_wrapper.connect()
        context.current_page['browser2'] = LoginPageObject(second_wrapper)
    # Open home page
    context.current_page[browser].open()
def step_impl(context, browser):
    if browser == 'browser1':
        # Use default driver
        context.current_page = {'browser1': LoginPageObject()}
    else:
        # Create a second driver
        second_wrapper = DriverWrapper()
        second_wrapper.connect()
        context.current_page['browser2'] = LoginPageObject(second_wrapper)
    # Open home page
    context.current_page[browser].open()
Пример #4
0
class DriverWrapperTests(DriverWrapperCommon):
    def setUp(self):
        os.environ["Config_log_filename"] = os.path.join(
            self.root_path, 'conf', 'logging.conf')
        os.environ["Config_prop_filenames"] = os.path.join(
            self.root_path, 'conf', 'properties.cfg')
        self.driver_wrapper = DriverWrapper()
        self.driver_wrapper.configure()

    def test_multiple(self):
        # Request a new additional wrapper
        new_wrapper = DriverWrapper()

        # Modify new wrapper
        first_driver_type = 'firefox'
        new_driver_type = 'opera'
        new_wrapper.config.set('Driver', 'type', new_driver_type)

        # Check that wrapper and new_wrapper are different
        assert_equal(first_driver_type,
                     self.driver_wrapper.config.get('Driver', 'type'))
        assert_equal(new_driver_type, new_wrapper.config.get('Driver', 'type'))
        assert_not_equal(self.driver_wrapper, new_wrapper)

    def test_configure_no_changes(self):
        # Check previous values
        assert_equal('firefox',
                     self.driver_wrapper.config.get('Driver', 'type'))

        # Modify wrapper
        self.driver_wrapper.config.set('Driver', 'type', 'opera')

        # Trying to configure again
        self.driver_wrapper.configure()

        # Configuration has not been initialized
        assert_equal('opera', self.driver_wrapper.config.get('Driver', 'type'))

    def test_configure_change_configuration_file(self):
        # Check previous values
        assert_equal('firefox',
                     self.driver_wrapper.config.get('Driver', 'type'))

        # Modify wrapper
        self.driver_wrapper.config.set('Driver', 'type', 'opera')

        # Change driver type and try to configure again
        os.environ["Config_prop_filenames"] = os.path.join(
            self.root_path, 'conf', 'android-properties.cfg')
        self.driver_wrapper.configure()

        # Check that configuration has been initialized
        assert_equal('android',
                     self.driver_wrapper.config.get('Driver', 'type'))

    @mock.patch('toolium.driver_wrapper.ConfigDriver.create_driver')
    def test_connect(self, create_driver):
        # Mock data
        expected_driver = mock.MagicMock()
        create_driver.return_value = expected_driver
        self.driver_wrapper.utils = mock.MagicMock()

        # Connect and check the returned driver
        assert_equal(expected_driver,
                     self.driver_wrapper.connect(maximize=False))

        # Check that the wrapper has been configured
        assert_equal('firefox',
                     self.driver_wrapper.config.get('Driver', 'type'))
        logger = logging.getLogger(
            'selenium.webdriver.remote.remote_connection')
        assert_equal('DEBUG', logging.getLevelName(logger.level))

    def test_connect_api(self):
        # Mock data
        expected_driver = None

        # Change driver type to api and configure again
        os.environ["Config_prop_filenames"] = os.path.join(
            self.root_path, 'conf', 'api-properties.cfg')
        self.driver_wrapper.configure()

        # Connect and check that the returned driver is None
        self.driver_wrapper.configure()
        assert_equal(expected_driver,
                     self.driver_wrapper.connect(maximize=False))

        # Check that the wrapper has been configured
        assert_equal('', self.driver_wrapper.config.get('Driver', 'type'))
        assert_equal('false',
                     self.driver_wrapper.config.get('Jira', 'enabled'))
        logger = logging.getLogger(
            'selenium.webdriver.remote.remote_connection')
        assert_equal('DEBUG', logging.getLevelName(logger.level))

    @data(*mobile_tests)
    @unpack
    def test_is_mobile_test(self, driver_type, is_mobile, is_android, is_ios):
        self.driver_wrapper.config.set('Driver', 'type', driver_type)
        assert_equal(is_mobile, self.driver_wrapper.is_mobile_test())
        assert_equal(is_android, self.driver_wrapper.is_android_test())
        assert_equal(is_ios, self.driver_wrapper.is_ios_test())

    @data(*web_tests)
    @unpack
    def test_is_web_test(self, driver_type, appium_app, appium_browser_name,
                         is_web, is_android_web, is_ios_web):
        self.driver_wrapper.config.set('Driver', 'type', driver_type)
        if appium_app is not None:
            self.driver_wrapper.config.set('AppiumCapabilities', 'app',
                                           appium_app)
        if appium_browser_name is not None:
            self.driver_wrapper.config.set('AppiumCapabilities', 'browserName',
                                           appium_browser_name)
        assert_equal(is_web, self.driver_wrapper.is_web_test())
        assert_equal(is_android_web, self.driver_wrapper.is_android_web_test())
        assert_equal(is_ios_web, self.driver_wrapper.is_ios_web_test())

    @data(*maximizable_drivers)
    @unpack
    def test_is_maximizable(self, driver_type, is_maximizable):
        self.driver_wrapper.config.set('Driver', 'type', driver_type)
        assert_equal(is_maximizable, self.driver_wrapper.is_maximizable())
Пример #5
0
class DriverWrapperTests(DriverWrapperCommon):
    def setUp(self):
        os.environ["Config_log_filename"] = os.path.join(self.root_path, 'conf', 'logging.conf')
        os.environ["Config_prop_filenames"] = os.path.join(self.root_path, 'conf', 'properties.cfg')
        self.driver_wrapper = DriverWrapper()
        self.driver_wrapper.configure()

    def test_multiple(self):
        # Request a new additional wrapper
        new_wrapper = DriverWrapper()

        # Modify new wrapper
        first_driver_type = 'firefox'
        new_driver_type = 'opera'
        new_wrapper.config.set('Driver', 'type', new_driver_type)

        # Check that wrapper and new_wrapper are different
        assert_equal(first_driver_type, self.driver_wrapper.config.get('Driver', 'type'))
        assert_equal(new_driver_type, new_wrapper.config.get('Driver', 'type'))
        assert_not_equal(self.driver_wrapper, new_wrapper)

    def test_configure_no_changes(self):
        # Check previous values
        assert_equal('firefox', self.driver_wrapper.config.get('Driver', 'type'))

        # Modify wrapper
        self.driver_wrapper.config.set('Driver', 'type', 'opera')

        # Trying to configure again
        self.driver_wrapper.configure()

        # Configuration has not been initialized
        assert_equal('opera', self.driver_wrapper.config.get('Driver', 'type'))

    def test_configure_change_configuration_file(self):
        # Check previous values
        assert_equal('firefox', self.driver_wrapper.config.get('Driver', 'type'))

        # Modify wrapper
        self.driver_wrapper.config.set('Driver', 'type', 'opera')

        # Change driver type and try to configure again
        os.environ["Config_prop_filenames"] = os.path.join(self.root_path, 'conf', 'android-properties.cfg')
        self.driver_wrapper.configure()

        # Check that configuration has been initialized
        assert_equal('android', self.driver_wrapper.config.get('Driver', 'type'))

    @mock.patch('toolium.driver_wrapper.ConfigDriver.create_driver')
    def test_connect(self, create_driver):
        # Mock data
        expected_driver = mock.MagicMock()
        create_driver.return_value = expected_driver
        self.driver_wrapper.utils = mock.MagicMock()

        # Connect and check the returned driver
        assert_equal(expected_driver, self.driver_wrapper.connect(maximize=False))

        # Check that the wrapper has been configured
        assert_equal('firefox', self.driver_wrapper.config.get('Driver', 'type'))
        logger = logging.getLogger('selenium.webdriver.remote.remote_connection')
        assert_equal('DEBUG', logging.getLevelName(logger.level))

    def test_connect_api(self):
        # Mock data
        expected_driver = None

        # Change driver type to api and configure again
        os.environ["Config_prop_filenames"] = os.path.join(self.root_path, 'conf', 'api-properties.cfg')
        self.driver_wrapper.configure()

        # Connect and check that the returned driver is None
        self.driver_wrapper.configure()
        assert_equal(expected_driver, self.driver_wrapper.connect(maximize=False))

        # Check that the wrapper has been configured
        assert_equal('', self.driver_wrapper.config.get('Driver', 'type'))
        assert_equal('false', self.driver_wrapper.config.get('Jira', 'enabled'))
        logger = logging.getLogger('selenium.webdriver.remote.remote_connection')
        assert_equal('DEBUG', logging.getLevelName(logger.level))

    @data(*mobile_tests)
    @unpack
    def test_is_mobile_test(self, driver_type, is_mobile, is_android, is_ios):
        self.driver_wrapper.config.set('Driver', 'type', driver_type)
        assert_equal(is_mobile, self.driver_wrapper.is_mobile_test())
        assert_equal(is_android, self.driver_wrapper.is_android_test())
        assert_equal(is_ios, self.driver_wrapper.is_ios_test())

    @data(*web_tests)
    @unpack
    def test_is_web_test(self, driver_type, appium_app, appium_browser_name, is_web, is_android_web, is_ios_web):
        self.driver_wrapper.config.set('Driver', 'type', driver_type)
        if appium_app is not None:
            self.driver_wrapper.config.set('AppiumCapabilities', 'app', appium_app)
        if appium_browser_name is not None:
            self.driver_wrapper.config.set('AppiumCapabilities', 'browserName', appium_browser_name)
        assert_equal(is_web, self.driver_wrapper.is_web_test())
        assert_equal(is_android_web, self.driver_wrapper.is_android_web_test())
        assert_equal(is_ios_web, self.driver_wrapper.is_ios_web_test())

    @data(*maximizable_drivers)
    @unpack
    def test_is_maximizable(self, driver_type, is_maximizable):
        self.driver_wrapper.config.set('Driver', 'type', driver_type)
        assert_equal(is_maximizable, self.driver_wrapper.is_maximizable())