我是Selenium的新手,但有一些简单的网站自动化工作。 这是我无法弄清楚的:我有一个使用用户的网站 用于验证用户的证书。我发布以下内容......
WebDriver driver = new FirefoxDriver();
driver.get("https://xt01:9100/owf/");
当网站出现时,用户Idenification请求也是如此 对话框询问我想要使用哪个证书“登录”。我无法得到 按住该对话框以指定证书并按下按钮, 因此,显示的第一个屏幕是“未授权”屏幕 (因为我没有指定1)任何证书或2)正确的证书)
问:我该如何“抓住”这个对话框? Selenium IDE没有注册对话框(似乎没有“看到”它,因此不包含任何点击)有一个选项(工具 - 选项 - 高级 - 加密)sez:“当 服务器请求“我的个人证书” “自动选择一个”或“每次询问我”。在Firefox上 启动的实例,我将其设置为“自动选择一个”和 点击,但这不会在下次启动时“记住”(它 重置为“每次问我”,因此我需要能够 捕获用户标识请求对话框并在之前处理它 开始我的考试....怎么样?
提前感谢...
答案 0 :(得分:2)
到目前为止,我没有时间尝试,但我认为它应该有所帮助:
selenium
创建FireFoxDriver的新实例时,请尝试以下操作:
ProfilesIni profile = new ProfilesIni();
FirefoxProfile ffprofile = profile.getProfile("selenium");
WebDriver driver = new FirefoxDriver(ffprofile);
driver.get("https://xt01:9100/owf/");
答案 1 :(得分:1)
可以通过prefs.js
在您的个人资料中user_pref("security.default_personal_cert", "Select Automatically");
指定证书提示
使用Firefox 33.0和selenium-webdriver-2.47.1为我工作。
答案 2 :(得分:0)
证书由操作系统管理,而不是浏览器。从浏览器的证书存储中删除除必要的证书之外的所有证书,然后将浏览器配置为仅在存在一个证书时自动选择证书。您还可以创建浏览器配置文件,让程序启动此配置文件或避免通过HTTPS进行测试。