gpt4 book ai didi

unit-testing - Chrome Webdriver 在 headless 模式下丢失用户凭据

转载 作者:行者123 更新时间:2023-12-04 15:55:22 25 4
gpt4 key购买 nike

我正在尝试为 CI selenium 测试设置 headless chrome。我们的网络服务正在使用 AD 进行授权。无论出于何种原因,当 chromedriver 设置为 headless 模式时,它在尝试访问我们服务的任何页面时都会收到“拒绝访问 - 401.2”。但是一旦我正常启动它(使用窗口而不是 headless ),一切正常。

以下是我设置 webdriver 的方式:

var chromeOptions = new ChromeOptions{
BinaryLocation = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + @"/AppData/Local/Google/Chrome SxS/Application/chrome.exe"
};
chromeOptions.AddArguments(new List<string>() { "headless", "disable-gpu", "no-sandbox" });
var driver = new ChromeDriver(chromeOptions);
driver.Navigate().GoToUrl(mainPageURL);

尝试使用此设置运行任何测试(并获得 401.2)后,IIS 记录如下内容:

2017-06-23 11:25:12 ::1 GET / - 39731 - ::1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+HeadlessChrome...

但是一旦我从参数中删除“headless”,日志就会如下所示:

2017-06-23 11:26:15 ::1 GET / - 39731 [USER_LOGIN] ::1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome...

用我的登录名代替 [USER_LOGIN]。

因此,在“ headless ”模式下,用户登录似乎丢失了。到目前为止,我已经绑定(bind)了 impersiation,使用“profile-directory=Default”参数运行,并运行旧版本的 chrome(我目前使用 Canary 61.0.3138.0 64 位 - 最新可用)。

最佳答案

只是冒险,但是 https://user:pass@test.com/test 是什么意思?做?这就是为什么我问 mainPageURL 由什么组成。

更新:

Alert alert = wait.until(ExpectedConditions.alertIsPresent());     
alert.authenticateUsing(new UserAndPassword(**username**, **password**));

也许吧?

关于unit-testing - Chrome Webdriver 在 headless 模式下丢失用户凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44723618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com