環境:Mac OS X Yosemite 10.10.4下, Safari 8
Step 1:第一次運行SafariDriver時,先找到WebDriver extension的安裝路徑,比如/Users/extrabux/library/safari/extensions;
Step 2:然后在Java程序中添加:
System.setProperty("webdriver.safari.driver", "/Users/extrabux/library/safari/extensions");
driver = new SafariDriver();
Step 3:運行程序,如果執行正常,說明程序自動安裝SafariDriver extension正常了,否則如果報如下異常,繼續Step 4
WebDriverException: Message: Failed to connect to SafariDriver after 10065 ms java.util.concurrent.ExecutionException: org.openqa.selenium.WebDriverException: java.lang.reflect.InvocationTargetException
Step 4:上面異常通常出在安裝SafariDriver上,即運行SafariDriver之前需要給safari安裝一個 WebDriver extension,名字是WebDriver.safariextz,如果安裝不成功則執行不成功,mac下的路徑應該是/Users/extrabux/library /safari/extensions;
Step 5:打開http://selenium-release.storage.googleapis.com /index.html?path=2.48,因為我用的selenium是2.48版的,所以在這個路徑下載 SafariDriver.safariextz; 或者解壓本地的selenium-server-standalone-2.48.0.jar,然后在org/openqa/selenium /safari里找到SafariDriver.safariextz;
Step 6:打開Safari -> Preferences -> Extensions (tab),然后將SafariDriver.safariextz拖進去就安裝上了該extension了;
Step 7:在/Users/extrabux/library/safari/extensions下驗證是否看到WebDriver.safariextz,看到就說明安裝extension成功了;
Step 8:Java程序中,new一個SafariDriver之前加上下面這句,目的是不需要程序再自動安裝SafariDriver extension了。
System.setProperty("webdriver.safari.noinstall", "true");
driver = new SafariDriver();
