Warum gibt mir WinAppDriver immer Fehler "System.inValidoperationException: Access verweigert" Wenn ich versuche, in einC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Warum gibt mir WinAppDriver immer Fehler "System.inValidoperationException: Access verweigert" Wenn ich versuche, in ein

Post by Anonymous »

Meine Tests fehlen, wenn Sie versuchen, mit dem zweiten Fenster zu interagieren, sei es eine Taste, ein Treeview oder eine Menuitem. Zuerst habe ich mit dem Baum interagiert und dachte, dass das Problem darin bestand, weil die Anwendung WPF ist, aber es stellt sich nicht heraus. < /P>

Code: Select all

ClassInitialize class creation method created a conclusion. System.InvalidOperationException: System.InvalidOperationException: Access is denied

Wenn die Anwendung startet, wird das Ladefenster zuerst geöffnet, wo ein Bild und eine Fortschrittsbar vorhanden sind. Wenn die ProgressBar die Datenbank lädt, beginnt die Stufe "Ladeansicht" und das Arbeitsfenster wird geöffnet. Nachdem das Arbeitsfenster geladen wurde, schließt der erste und Sie können mit der Arbeit beginnen (klingt verrückt, müssen Sie zugeben). /> UI: Ja. Wenn Sie zusätzliche Daten benötigen, fragen Sie, ich werde antworten.

Code: Select all

DesiredCapabilities appCapabilities = new DesiredCapabilities();
appCapabilities.SetCapability("app", SwiftAppId);
appCapabilities.SetCapability("platformName", "Windows");
session = new WindowsDriver(new Uri(WindowsApplicationDriverUrl), appCapabilities, TimeSpan.FromSeconds(90));
Assert.IsNotNull(session);
Assert.IsNotNull(session.SessionId);

int initialWindowCount = session.WindowHandles.Count;
WebDriverWait wait = new WebDriverWait(session, TimeSpan.FromSeconds(60));
string newWindowHandle = wait.Until(driver =>
{
var currentWindowHandles = session.WindowHandles;
if (currentWindowHandles.Count > initialWindowCount)
{
foreach (var window in currentWindowHandles)
{
try
{
session.SwitchTo().Window(window);
var title = session.Title;
if (title.Contains("Swift"))
{
return window;
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
return null;
});

if (session.WindowHandles.Contains(newWindowHandle))
{
try
{
session.SwitchTo().Window(newWindowHandle);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
else
{
Assert.Fail("Window is closed");
}
session.FindElementByAccessibilityId("File").SafeClick(session); (Error occurs here)
Wenn Sie mehr Code benötigen oder Fragen haben, lassen Sie es mich wissen

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post