Exemple #1
0
 def setUp(self):
     self.driver = Web.driver = SeleniumHatch.gen_local_driver("chrome", SeleniumHatch.get_remote_browser_capabilities("chrome"))        
     Web.NavigateTo('https://www.baidu.com')
     
     self.test_tmp_path = "./data/test_tmp"
     if not os.path.exists(self.test_tmp_path):
         os.makedirs(self.test_tmp_path)
Exemple #2
0
 def __init__(self):
     super(LocalDriver,self).__init__(is_local_driver = True)        
     
     chrome_capabilities = SeleniumHatch.get_remote_browser_capabilities(browser = LocalDriver._browser, 
                                                                         download_path=LocalDriver._download_path, 
                                                                         marionette = LocalDriver._marionette)
     self._default_drivers = [("", SeleniumHatch.gen_local_driver(browser = "chrome", capabilities = chrome_capabilities))]        
Exemple #3
0
    def test_gen_local_driver(self):
        chrome_capabilities = SeleniumHatch.get_remote_browser_capabilities()
        self.assertIsInstance(chrome_capabilities, dict)

        driver = SeleniumHatch.gen_local_driver(
            browser="chrome", capabilities=chrome_capabilities)
        self.assertIsInstance(driver, webdriver.Chrome)

        driver.quit()
Exemple #4
0
 def __init__(self):
     super(RemoteDriver, self).__init__(is_local_driver=False)
             
     self._default_devices = []
     
     self._default_drivers = []        
     executors = SeleniumHatch.get_remote_executors(RemoteDriver._remote_ip, RemoteDriver._remote_port)
     chrome_capabilities = SeleniumHatch.get_remote_browser_capabilities(browser=RemoteDriver._browser,
                                                                         download_path=RemoteDriver._download_path,
                                                                         marionette=RemoteDriver._marionette)
     for executor in executors:
         fn = FileSystemUtils.get_legal_filename(executor)
         self._default_devices.append(fn)            
         self._default_drivers.append((fn, SeleniumHatch.gen_remote_driver(executor, chrome_capabilities)))            
Exemple #5
0
    def test_gen_remote_driver(self):
        self.hub.start_server()
        self.node.start_server()

        executors = SeleniumHatch.get_remote_executors("localhost", 4444)
        self.assertIsInstance(executors, (tuple, list))

        chrome_capabilities = SeleniumHatch.get_remote_browser_capabilities()
        self.assertIsInstance(chrome_capabilities, dict)

        driver = SeleniumHatch.gen_remote_driver(executors[0],
                                                 chrome_capabilities)
        self.assertIsInstance(driver, webdriver.Remote)

        driver.quit()
Exemple #6
0
    def test_webuidriver_remote(self):
        """ Selenium grid mode.
            You can use SeleniumJar to start service.
            Also, you can use command lines if you installed rtsf-web, like this:
            wrhub selenium-server-standalone-3.14.0.jar --port 4444
            wrnode selenium-server-standalone-3.14.0.jar --port 5555 --hub-ip 10.154.123.74 --hub-port 4444
        """

        hub = SeleniumJar(self.jar_path, self.java_path).hub(4444)
        hub.start_server()

        node = SeleniumJar(self.jar_path, self.java_path).node(5555, ("localhost", 4444))
        node.start_server()
        executors = SeleniumHatch.get_remote_executors("localhost", 4444)

        # self.driver = webuidriver.Remote(executor, options=self.opt) 与下面语句效果是一样的
        self.driver = webuidriver.Remote(executors[0], desired_capabilities=self.opt.to_capabilities())

        self.driver.get('http://www.baidu.com')
        time.sleep(1)

        # webuidriver.Remote 是 webdriver.Chrome 的子类
        self.assertTrue(issubclass(webuidriver.Chrome, webdriver.Remote))
        self.assertIsInstance(self.driver, webdriver.Remote)

        self.driver.close()
        self.driver.quit()

        hub.stop_server()
        node.stop_server()
Exemple #7
0
    def test_gen_local_driver(self):
        chrome_capabilities = SeleniumHatch.get_remote_browser_capabilities()
        self.assertIsInstance(chrome_capabilities, dict)
        self.assertIn(
            "ignore-certificate-errors",
            chrome_capabilities["goog:chromeOptions"]["excludeSwitches"])
        self.assertIn(
            "enable-automation",
            chrome_capabilities["goog:chromeOptions"]["excludeSwitches"])

        driver = SeleniumHatch.gen_local_driver(
            browser="chrome", capabilities=chrome_capabilities)
        self.assertIsInstance(driver, webdriver.Chrome)

        driver.get("http://www.baidu.com")
        time.sleep(1)
        driver.quit()
Exemple #8
0
    def test_node(self):
        self.node.start_server()
        self.assertEqual(self.node.is_runnnig(), True)

        executors = SeleniumHatch.get_remote_executors("localhost", 4444)
        self.assertEqual(len(executors), 1)
        self.assertIn("5555", executors[0])
         
        self.node.re_start_server()
        self.assertEqual(self.node.is_runnnig(), True)
Exemple #9
0
    def test_gen_remote_driver(self):
        self.hub.start_server()
        self.node.start_server()

        executors = SeleniumHatch.get_remote_executors("localhost", 4444)
        self.assertIsInstance(executors, (tuple, list))

        chrome_capabilities = SeleniumHatch.get_remote_browser_capabilities()
        self.assertIsInstance(chrome_capabilities, dict)
        self.assertIn(
            "ignore-certificate-errors",
            chrome_capabilities["goog:chromeOptions"]["excludeSwitches"])
        self.assertIn(
            "enable-automation",
            chrome_capabilities["goog:chromeOptions"]["excludeSwitches"])

        driver = SeleniumHatch.gen_remote_driver(executors[0],
                                                 chrome_capabilities)
        self.assertIsInstance(driver, webdriver.Remote)

        driver.get("http://www.baidu.com")
        time.sleep(1)
        driver.quit()