我已经编写了简单的代码来在eclipse中使用selenium web驱动程序打开safari web浏览器。也可以在哪里查找safari exe以及将它放在mac plzz上的位置help.thanks
package sanityTest;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.safari.SafariDriver;
public class AdminLogin {
public static void main(String[]args){
WebDriver driver=new SafariDriver();
//driver.close();//close the browser
}
}
我收到此错误
强文错误
2016年9月24日上午1:22:31 org.openqa.selenium.safari.SafariDriverServer开始 信息:服务器在端口3897上启动 2016年9月24日上午1:22:31 org.openqa.selenium.safari.SafariDriverCommandExecutor start 信息:启动Safari 2016年9月24日上午1:22:31 org.openqa.selenium.safari.SafariDriverCommandExecutor start 信息:等待SafariDriver连接 2016年9月24日上午1:22:41 org.openqa.selenium.safari.SafariDriverCommandExecutor stop 信息:关闭 2016年9月24日上午1:22:41 org.openqa.selenium.safari.SafariDriverCommandExecutor stop 信息:停止Safari 2016年9月24日上午1:22:41 org.openqa.selenium.safari.SafariDriverCommandExecutor stop 信息:停止服务器 2016年9月24日上午1:22:41 org.openqa.selenium.safari.SafariDriverServer停止 信息:停止服务器 2016年9月24日上午1:22:41 org.openqa.selenium.safari.SafariDriverCommandExecutor stop 信息:关闭完成 2016年9月24日上午1:22:41 org.openqa.selenium.safari.SafariDriverCommandExecutor stop 信息:关闭 2016年9月24日上午1:22:41 org.openqa.selenium.safari.SafariDriverCommandExecutor stop 信息:停止服务器 2016年9月24日上午1:22:41 org.openqa.selenium.safari.SafariDriverCommandExecutor stop 信息:关闭完成 线程“main”中的异常org.openqa.selenium.remote.UnreachableBrowserException:10080 ms后无法连接到SafariDriver 构建信息:版本:'未知',修订版:'c7b525d',时间:'2016-09-01 14:52:30 -0700' 系统信息:主机:'Vishals-MacBook-Pro.local',ip:'192.168.0.26',os.name:'Mac OS X',os.arch:'x86_64',os.version:'10 .11.5' ,java.version:'1.8.0_101' 驱动程序信息:driver.version:SafariDriver 在org.openqa.selenium.safari.SafariDriverCommandExecutor.start(SafariDriverCommandExecutor.java:118) 在org.openqa.selenium.safari.SafariDriver.startClient(SafariDriver.java:116) 在org.openqa.selenium.remote.RemoteWebDriver.startClient(RemoteWebDriver.java:284) 在org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:117) 在org.openqa.selenium.safari.SafariDriver。(SafariDriver.java:78) 在org.openqa.selenium.safari.SafariDriver。(SafariDriver.java:58) 在sanityTest.AdminLogin.main(AdminLogin.java:10)
答案 0 :(得分:1)
Mac OS上的Safari WebDriver目前要求您按照详细here编译,签名并安装特定的WebDriver浏览器扩展。这需要您注册一个免费的Apple开发人员帐户并获得一个测试密钥来签署该扩展程序。
幸运的是,这种远程自动化Safari浏览器的方法目前正在进行转型。随着即将发布的Safari 10,Webkit开发人员正在构建对Safari浏览器本身的本机WebDriver支持。在我看来,目前自动化Safari的最简单方法是下载Safari Technology Preview,然后使用Selenium的当前快照版本来启动WebDriver。您可以找到有关如何使用Safari的新WebDriver功能here的说明。
答案 1 :(得分:0)
I was also facing issues in initiating safari browser on mac machine, and below solution helped me. Everytime I was calling driver init, browser was getting opened but the URL was not getting hit. I am using Page object factory, with selenium , Java , maven and testng.
if (browserType.equals("safari")) {
// System.setProperty("webdriver.safari.driver", workingDir +
// "//driver//SafariDriverServer.exe");
System.setProperty("webdriver.safari.driver",
"/driver/SafariDriver.safariextz");
System.setProperty("webdriver.safari.noinstall", "true");
DesiredCapabilities desiredCapabilities = DesiredCapabilities
.safari();
SafariOptions safariOptions = new SafariOptions();
safariOptions.setUseCleanSession(true);
safariOptions.getUseCleanSession();
safariOptions.setUseCleanSession(true);
desiredCapabilities.setCapability(SafariOptions.CAPABILITY,
safariOptions);
// deleteCookies();
driver = new EventFiringWebDriver(new SafariDriver());
ThreadDriver.set(driver);
// driver.manage().window().setSize(new Dimension(1024, 850));
getDriver().manage().timeouts().implicitlyWait(3,
TimeUnit.SECONDS);
wait = new WebDriverWait(driver, 30);
}