C# 和 Selenium WebDriver 4.0+ - Microsoft Edge 配置文件选择 Window 阻止来自 运行 的测试
C# & Selenium WebDriver 4.0+ - Microsoft Edge Profile Selection Window Prevents Tests from Running
当尝试使用以下代码使用 Selenium WebDriver 4.10 和 C# (.NET Framework 4.5.2) 构建测试时,我收到一个弹出窗口,要求 select 配置文件。据我了解,下面的代码已经指定了要使用的配置文件:
string strEdgeProfilePath = @"C:\Users\" + Environment.UserName + @"\AppData\Local\Microsoft\Edge\User Data";
string strDefautProfilePath = strEdgeProfilePath + @"\Default";
string strSeleniumProfilePath = strEdgeProfilePath + @"\Selenium"; // <---- I have deleted this folder and copied the contents of the "Default" folder to no avail.
using (var service = EdgeDriverService.CreateDefaultService(@"C:\Temp\Selenium\Edge")) {
service.UseVerboseLogging = true;
EdgeOptions edgeOptions = new EdgeOptions();
edgeOptions.AddArgument("--user-data-dir=" + strSeleniumProfilePath);
edgeOptions.AddArgument("--profile-directory=Selenium");
driver = new EdgeDriver(@"C:\Temp\Selenium\Edge", edgeOptions); // <----- msedgeserve.exe located here
}
即使我 select 配置文件 Microsoft Edge 也不会继续并且测试超时。
我能做些什么来阻止配置文件 selection 并使测试达到 运行?
您的代码中存在一些问题:
- 不需要使用双反斜杠,反斜杠就够了。
--user-data-dir
的值不正确。用strEdgeProfilePath
就够了。
所以正确的代码应该是这样的:
string strEdgeProfilePath = @"C:\Users\" + Environment.UserName + @"\AppData\Local\Microsoft\Edge\User Data";
...
\Here you set the path of the profile ending with User Data not the profile folder
edgeOptions.AddArgument("--user-data-dir=" + strEdgeProfilePath);
\Here you specify the actual profile folder
\If it is Default profile, no need to use this line of code
edgeOptions.AddArgument("--profile-directory=Selenium");
此外,为避免 运行 边缘处理错误,您需要按照 中的备份步骤进行操作。请在代码中使用备份文件夹而不是原始文件夹。
当尝试使用以下代码使用 Selenium WebDriver 4.10 和 C# (.NET Framework 4.5.2) 构建测试时,我收到一个弹出窗口,要求 select 配置文件。据我了解,下面的代码已经指定了要使用的配置文件:
string strEdgeProfilePath = @"C:\Users\" + Environment.UserName + @"\AppData\Local\Microsoft\Edge\User Data";
string strDefautProfilePath = strEdgeProfilePath + @"\Default";
string strSeleniumProfilePath = strEdgeProfilePath + @"\Selenium"; // <---- I have deleted this folder and copied the contents of the "Default" folder to no avail.
using (var service = EdgeDriverService.CreateDefaultService(@"C:\Temp\Selenium\Edge")) {
service.UseVerboseLogging = true;
EdgeOptions edgeOptions = new EdgeOptions();
edgeOptions.AddArgument("--user-data-dir=" + strSeleniumProfilePath);
edgeOptions.AddArgument("--profile-directory=Selenium");
driver = new EdgeDriver(@"C:\Temp\Selenium\Edge", edgeOptions); // <----- msedgeserve.exe located here
}
即使我 select 配置文件 Microsoft Edge 也不会继续并且测试超时。
我能做些什么来阻止配置文件 selection 并使测试达到 运行?
您的代码中存在一些问题:
- 不需要使用双反斜杠,反斜杠就够了。
--user-data-dir
的值不正确。用strEdgeProfilePath
就够了。
所以正确的代码应该是这样的:
string strEdgeProfilePath = @"C:\Users\" + Environment.UserName + @"\AppData\Local\Microsoft\Edge\User Data";
...
\Here you set the path of the profile ending with User Data not the profile folder
edgeOptions.AddArgument("--user-data-dir=" + strEdgeProfilePath);
\Here you specify the actual profile folder
\If it is Default profile, no need to use this line of code
edgeOptions.AddArgument("--profile-directory=Selenium");
此外,为避免 运行 边缘处理错误,您需要按照