- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
Chrome 59 有 removed support for https://user:password@example.com URLs .
我有一个测试正在使用这个功能,但现在已经坏了,所以我试图用一个等待身份验证弹出窗口并填写详细信息的版本替换它。但以下内容在 Chrome 上不起作用(它不会将身份验证弹出窗口视为警报):
alert().authenticateUsing(new UserAndPassword("test", "test"));
selenium-only 版本有同样的问题:
WebDriverWait wait = new WebDriverWait(getDriver(), 10);
Alert alert = wait.until(ExpectedConditions.alertIsPresent());
alert.authenticateUsing(new UserAndPassword("test", "test"));
(基于此处给出的答案:How to handle authentication popup with Selenium WebDriver using Java)
我可以在 FireFox 中看到几种解决此问题的方法,但在 Chrome 中却没有。有什么替代方法吗?
最佳答案
我确信 Florent B 的解决方案是可行的,但是为了改造旧测试,我发现 zoonabar 发布到 this duplicate question 的解决方案更容易实现,需要的代码少得多,并且不需要对测试箱进行特殊准备。对于查看代码的新开发人员来说,这似乎也更容易理解。
简而言之:在访问被测 URL(没有凭据)之前访问任何带有凭据的 URL 将导致浏览器记住凭据。
goTo("http://user:password@localhost"); // Caches auth, but page itself is blocked
goTo("http://localhost"); // Uses cached auth, page renders fine
// Continue test as normal
这可能感觉像是浏览器中的一个漏洞,会被修补,但我认为这不太可能;施加限制是为了避免网络钓鱼风险(选择的用户名看起来像域,例如“http://google.com:long-token-here-which-makes-the-real-domain-disappear@example.com/ ”),并且这种设置凭据的解决方法不会带来相同的风险。
关于java - Chrome 59 和使用 Selenium/Fluentlenium 的基本身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44542740/
我正在尝试在不同的浏览器驱动程序中运行 Fluentlenium。我想我需要从 Fluentlenium 配置 getDefaultDriver(),但我不太确定该怎么做。任何示例代码都会很棒。这是我
我正在使用 fluentlenium 对我的应用程序进行测试,但出现了一些错误。我正在使用 Play Framework 和 Slickgrid 来创建我的网格。 Slickgrid 在 javasc
我有一个 Cucumber 和 Fluentlenium 项目,当我运行 CucumberRunner 时该项目无法启动。它只是跳过所有测试。我试图在互联网上找到解决方案,但到目前为止还没有解决问题。
我正在寻找使用 Fluentlenium 和 DropZone.js ( http://www.dropzonejs.com/ ) 编写一个上传文件的测试。 Dropzone.js 在模式下工作,然后
Chrome 59 有 removed support for https://user:password@example.com URLs . 我有一个测试正在使用这个功能,但现在已经坏了,所以我试
我正在尝试使用 PlayFramework 2.5 的 WithBrowser 类编写 Selenium 测试。 类似这样的事情: public class BrowserFunctionalTest
我是一名优秀的程序员,十分优秀!