gpt4 book ai didi

c# - EdgeDriver - 无法更改 Edge 中的窗口大小

转载 作者:太空狗 更新时间:2023-10-30 01:31:24 25 4
gpt4 key购买 nike

我正在使用 EdgeDriver用于在我的浏览器上运行自动化测试 (Edge 38.14393.0.0)。我的测试是在 C# 中进行的,所以我使用的是 .NET 驱动程序:

using OpenQA.Selenium.Remote;
using OpenQA.Selenium.Edge;

var options = new EdgeOptions();
options.PageLoadStrategy = EdgePageLoadStrategy.Normal;

RemoteWebDriver driver = return new EdgeDriver(Environment.CurrentDirectory, options, TimeSpan.FromSeconds(60));

driver.SetDocumentSize(new Size(800, 600)); // HERE!

错误

这段代码是我在测试开始时运行的代码。它在最后一行失败了:

Class Initialization method Web.TestSuite.UIRendering.RenderingTestSuiteEdge.TestClassInitialize threw exception. System.InvalidOperationException: System.InvalidOperationException: A window size operation failed because the window is not currently available.

有了这个堆栈跟踪:

OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs: line 1126
OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs: line 920
OpenQA.Selenium.Remote.RemoteWindow.set_Size(Size value) in ...

仅供引用 请注意,我在 Chrome 和 IE11 上使用各自的驱动程序运行其他测试。当我对它们调用 SetDocumentSize 时,我没有收到任何错误。

未决问题

我可以找到一些与此问题相关的未解决问题:

问题

所以,这些是我的问题:

  • 有没有人在 Edge 中成功设置窗口大小?
  • 我遇到的这个问题是已知问题吗?如果是这样,它是固定的吗?引用的问题(看起来很相似)仍未解决,未提供任何状态。
  • 有什么解决方法吗?

最佳答案

为 C# 尝试其中一个:

driver.Manage().Window.Size = new Size(1920, 1080);
driver.Manage().Window.Maximize();

虽然我出于不同的原因遇到了那个错误(比如这里的那个 -> https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10319887/ )。

现在我会在每次测试前终止驱动程序和边缘的所有进程,所以希望它能像这样解决:

try
{
foreach (var process in Process.GetProcessesByName("MicrosoftWebDriver"))
{
process.Kill();
}

foreach (var process in Process.GetProcessesByName("MicrosoftEdge"))
{
process.Kill();
}
}
catch (Exception)
{
}

此外,如果您通过 RDP 在远程计算机上运行它们,例如,当您关闭 RDP 时,它会产生相同的错误。这是我找到的当前解决方法:

Create a batch file with this code:

for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (
%windir%\System32\tscon.exe %%s /dest:console
)

Create a desktop shortcut to this file. To do this, right-click the batch
file and select Send to | Desktop (create shortcut).

In the shortcut properties, click Advanced and select Run as administrator.

现在,当您需要与远程桌面断开连接时,双击远程计算机上的此快捷方式(在远程桌面窗口中)。

感谢https://support.smartbear.com/testcomplete/docs/testing-with/running/via-rdp/keeping-computer-unlocked.html用于脚本。

关于c# - EdgeDriver - 无法更改 Edge 中的窗口大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41341763/

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