我使用WebDriver遇到了Safari 11的问题。我能够通过使用以下方法绕过该身份验证弹出窗口:
String URL = "http://" + username + ":" + password + "@" + Settings.AUT;
Driver.Navigate().GoToUrl(URL + "/");
这在某种程度上适用于Safari 10,虽然我将Safari升级到11,因为最大化窗口不适用于Safari 10。 我目前正在使用webdriver 2.48进行safari。 我不知道如何处理Safari测试。这是一个已知的问题?我知道有AutoIT,但还有其他方法吗?
答案 0 :(得分:0)
您当前的网络驱动程序可能无法与该版本的浏览器一起使用。
SafariDriver - DEPRECATED - 将Apple的SafariDriver与Safari 10 +一起使用
SafariDriver现在需要先手动安装扩展程序 自动化
自:
答案 1 :(得分:0)
根据RFC 3986,在URL中传递用户名和密码的这种格式已被弃用,尽管它在Chrome和FF中仍然有效,但Safari不再支持此格式。
答案 2 :(得分:0)
您可以使用AppleScript和Java处理浏览器弹出窗口。这是执行AppleScript的Java代码,只需调用此函数并以String形式传递AppleScript:
public static void execute(String appleScript)
{
Process process = null;
try
{
String[] args = { "osascript", "-e", appleScript };
process = Runtime.getRuntime().exec(args);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
String logs = null;
while ((logs = bufferedReader.readLine()) != null)
{
System.out.println(logs);
}
}
catch (Exception e)
{
}
finally
{
if (process != null)
process.destroy();
}
}
如果您不知道如何编写AppleScript,请转到他们的教程。