Last active
April 3, 2018 05:10
-
-
Save kvabapo/b688a94ebb7c9cdce95c2df01f13d3f0 to your computer and use it in GitHub Desktop.
Implementing a webdriver factory pattern to set the browser configuration
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
| import selenium.webdriver as webdriver | |
| class WebdriverFactory: | |
| @staticmethod | |
| def set_browser(browserName='chrome'): #sets chrome as default browser | |
| if(browserName == 'firefox'): | |
| driver = webdriver.Firefox() | |
| elif(browserName == 'chrome'): | |
| driver = webdriver.Chrome() | |
| elif(browserName == 'ie'): | |
| driver = webdriver.Ie() | |
| elif(browserName == 'safari'): | |
| driver = webdriver.Safari() | |
| elif(browserName == 'edge'): | |
| driver = webdriver.Edge() | |
| else: | |
| raise Exception("Invalid browser name: " + browserName + ". Accepted values: firefox, chrome, ie, safari and edge.") | |
| return driver #returns a webdriver browser object | |
| def set_remote_browser(): | |
| # TODO: set capabilities for each remote browser | |
| pass | |
| browser = WebdriverFactory.set_browser("firefox") | |
| browser.get("https://github.com/") | |
| print browser.current_url |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment