| import ConfigParser | |
| import json | |
| import os | |
| import sys | |
| import unittest | |
| from network import get_lan_ip | |
| repo_root = os.path.abspath(os.path.join(__file__, "../..")) | |
| sys.path.insert(1, os.path.join(repo_root, "tools", "webdriver")) | |
| sys.path.insert(1, os.path.join(repo_root, "tools", "wptserve")) | |
| from wptserve import server | |
| from selenium import webdriver | |
| class WebDriverBaseTest(unittest.TestCase): | |
| @classmethod | |
| def setUpClass(cls): | |
| cls.driver = create_driver() | |
| cls.webserver = server.WebTestHttpd(host=get_lan_ip()) | |
| cls.webserver.start() | |
| cls.webserver.where_is = cls.webserver.get_url | |
| @classmethod | |
| def tearDownClass(cls): | |
| cls.webserver.stop() | |
| if cls.driver: | |
| cls.driver.quit() | |
| def create_driver(): | |
| config = ConfigParser.ConfigParser() | |
| config.read('webdriver.cfg') | |
| section = os.environ.get("WD_BROWSER", 'firefox') | |
| if config.has_option(section, 'url'): | |
| url = config.get(section, "url") | |
| else: | |
| url = 'http://127.0.0.1:4444/wd/hub' | |
| capabilities = None | |
| if config.has_option(section, 'capabilities'): | |
| try: | |
| capabilities = json.loads(config.get(section, "capabilities")) | |
| except: | |
| pass | |
| mode = 'compatibility' | |
| if config.has_option(section, 'mode'): | |
| mode = config.get(section, 'mode') | |
| if section == 'firefox': | |
| driver = webdriver.Firefox() | |
| elif section == 'chrome': | |
| driver = webdriver.Chrome() | |
| elif section == 'edge': | |
| driver = webdriver.Remote() | |
| elif section == 'ie': | |
| driver = webdriver.Ie() | |
| elif section == 'selendroid': | |
| driver = webdriver.Android() | |
| return driver |