def test_install_tools(self):
        """
        check installation of selenium-server, junit
        :return:
        """
        dummy_installation_path = ABS_PATH("/../../build/tmp/selenium-taurus")
        base_link = "file:///" + ABS_PATH("/../data/")

        shutil.rmtree(os.path.dirname(dummy_installation_path),
                      ignore_errors=True)

        selenium_server_link = SeleniumExecutor.SELENIUM_DOWNLOAD_LINK
        SeleniumExecutor.SELENIUM_DOWNLOAD_LINK = base_link + "/selenium-server-standalone-2.46.0.jar"

        junit_link = SeleniumExecutor.JUNIT_DOWNLOAD_LINK
        SeleniumExecutor.JUNIT_DOWNLOAD_LINK = base_link + "/junit-4.12.jar"

        hamcrest_link = SeleniumExecutor.HAMCREST_DOWNLOAD_LINK
        SeleniumExecutor.HAMCREST_DOWNLOAD_LINK = base_link + "/hamcrest-core-1.3.jar"

        self.assertFalse(os.path.exists(dummy_installation_path))

        obj = SeleniumExecutor()
        obj.engine = self.engine_obj
        obj.settings.merge({
            "selenium-tools": {
                "junit": {
                    "selenium-server":
                    os.path.join(dummy_installation_path,
                                 "selenium-server.jar")
                }
            }
        })
        obj.settings.merge({
            "selenium-tools": {
                "junit": {
                    "hamcrest-core":
                    os.path.join(dummy_installation_path, "tools", "junit",
                                 "hamcrest-core.jar")
                }
            }
        })
        obj.settings.merge({
            "selenium-tools": {
                "junit": {
                    "path":
                    os.path.join(dummy_installation_path, "tools", "junit",
                                 "junit.jar")
                }
            }
        })

        obj.execution = BetterDict()
        obj.execution.merge(
            {"scenario": {
                "script": ABS_PATH("/../../tests/selenium/jar/")
            }})
        obj.prepare()
        self.assertTrue(
            os.path.exists(
                os.path.join(dummy_installation_path, "selenium-server.jar")))
        self.assertTrue(
            os.path.exists(
                os.path.join(dummy_installation_path, "tools", "junit",
                             "junit.jar")))
        self.assertTrue(
            os.path.exists(
                os.path.join(dummy_installation_path, "tools", "junit",
                             "hamcrest-core.jar")))
        SeleniumExecutor.SELENIUM_DOWNLOAD_LINK = selenium_server_link
        SeleniumExecutor.JUNIT_DOWNLOAD_LINK = junit_link
        SeleniumExecutor.HAMCREST_DOWNLOAD_LINK = hamcrest_link
 def get_selenium_executor(self):
     obj = SeleniumExecutor()
     obj.engine = self.engine_obj
     obj.settings = self.selenium_config
     return obj