2016-11-23 2 views
0

zu maximieren? Momentan führe ich einen End-to-End-Test einer Anwendung durch, die mit einem Elektronenrahmen entwickelt wurde. Ich bin in der Lage, die Anwendung mit Selen zu öffnen und auch mit den Formularsteuerelementen usw. interagieren. Wenn ich die Anwendung öffne, wird es in einem minimierten Modus geöffnet und ich möchte es maximieren, indem Sie die Tastenanschläge ALT + Leertaste + X Das Folgende ist mein Code, der ohne Fehler ausgeführt wird, aber das Fenster nicht maximiert.Wie automatisiere ich das Fenster einer Elektronenapplikation mit Selenium

[TestMethod] 
     public void TestDispneseLogin() 
     {   
      ChromeOptions chromeOptions = new ChromeOptions(); 
      chromeOptions.BinaryLocation = @"C:\CorumDispense-win32-x64\CorumDispense.exe"; 
      chromeOptions.AddArgument("start-maximized"); 
      DesiredCapabilities capability = new DesiredCapabilities(); 
      capability.SetCapability(CapabilityType.BrowserName, "Chrome"); 
      capability.SetCapability("chromeOptions", chromeOptions); 
      IWebDriver driver = new ChromeDriver(chromeOptions);       
      Thread.Sleep(2000); 

      //maximize the window     
      Actions keyAction = new Actions(driver); 
      keyAction.SendKeys(Keys.Alt); 
      keyAction.SendKeys(Keys.Space); 
      keyAction.SendKeys(Convert.ToString('\u0078')); 
      keyAction.Build().Perform(); 

      //input the text into the patient text box   
      driver.FindElement(By.Id("patient")).SendKeys("bharat"); 
     } 

ich auch die Möglichkeit habe versucht

keyAction.KeyDown(Keys.Alt).KeyDown(Keys.Space).SendKeys(Convert.ToString('\u0078')).Perform(); 

aber es funktioniert nicht und gibt mir die folgenden Fehler

Test Name: TestDispneseLogin 
Test FullName: LightHouseTestScenarios.TestScenarios.ElectronTest.TestDispneseLogin 
Test Source: C:\Automation\SeleniumProjects\Lighthouse\LightHouseTestScenarios\TestScenarios\ElectronTest.cs : line 83 
Test Outcome: Failed 
Test Duration: 0:00:05.1098462 

Result StackTrace: 
at OpenQA.Selenium.Interactions.Internal.SingleKeyAction..ctor(IKeyboard keyboard, IMouse mouse, ILocatable actionTarget, String key) 
    at OpenQA.Selenium.Interactions.Actions.KeyDown(IWebElement element, String theKey) 
    at OpenQA.Selenium.Interactions.Actions.KeyDown(String theKey) 
    at LightHouseTestScenarios.TestScenarios.ElectronTest.TestDispneseLogin() in C:\Automation\SeleniumProjects\Lighthouse\LightHouseTestScenarios\TestScenarios\ElectronTest.cs:line 99 
Result Message: 
Test method LightHouseTestScenarios.TestScenarios.ElectronTest.TestDispneseLogin threw exception: 
System.ArgumentException: key must be a modifier key (Keys.Shift, Keys.Control, or Keys.Alt) 
Parameter name: key 

ich auch die unten versucht, aber ohne Erfolg

keyAction.SendKeys(Keys.Alt + Keys.Space + Convert.ToString('\u0078')).Perform(); 

und auch diese option

driver.Manage().Window.Maximize(); 

Kann mir jemand helfen, dieses Problem zu lösen, danke im Voraus. prost, bharadwaj.

Antwort

0

Wenn Sie Elektronenfunktionen verwenden müssen, können Sie dies einfach mit der executeScript-Methode tun.

statt:

driver.Manage().Window.Maximize(); 

ersetzen mit:

driver.executeScript("require('electron').remote.BrowserWindow.getFocusedWindow().maximize();"); 
0

diesen Code versuchen .. Sein für mich arbeiten ...

JavascriptExecutor js = (JavascriptExecutor) driver; 
js.executeScript("require('electron').remote.BrowserWindow.getFocusedWindow().maximize();"); 
Verwandte Themen