как переключить управление на третьем окне со второго в настольном приложении с помощью селена - PullRequest
0 голосов
/ 09 мая 2019

Я работаю над приложением Windows (приложение управления больницей) и хочу переключить управление из главного окна во второе окно и из второго в третье окно и выполнить действие в третьем окне с помощью селена (драйвер winapp).

Я уже

  • выполнил действие в главном окне (вход в систему) - Готово
  • выполнил действие во втором окне (нажатие кнопки) - Готово

Сейчас я нахожусь в третьем окне и не могу выполнить какое-либо действие, например нажатие кнопки.

(я использую Java-код селена)

String parent_window = windriver.getWindowHandle();
Set<String> allWindows = windriver.getWindowHandles();
int count = allWindows.size();
System.out.println("Now Total Windows : "+count);
for(String child_1:allWindows)
    if(!parent_window.equalsIgnoreCase(child_1))
        windriver.switchTo().window(child_1);
System.out.println(windriver.getTitle());
Actions builder = new Actions(windriver);
org.openqa.selenium.interactions.Action mouseOverHome;
mouseOverHome =builder.moveToElement(windriver.findElementByClassName("WindowsForms10.BUTTON.app.0.19fd5c7_r1354685_ad1"), 62, 10).build();
mouseOverHome.perform();
builder.click().perform();
Thread.sleep(6000);
String child1_window = windriver.getWindowHandle();
System.out.println("Child 1 Window ID is : "+child1_window);

Set<String> all_Windows = windriver.getWindowHandles();
int count_final = all_Windows.size();
System.out.println("Now Total Windows : "+count_final);
for(String child_2:all_Windows)
    if(!parent_window.equalsIgnoreCase(child_2) && !child1_window.equalsIgnoreCase(child_2))
        windriver.switchTo().window(child_2);
String child2_window = windriver.getWindowHandle();
System.out.println("Child 2 Window ID is : "+child2_window);

Требуемый результат: хочу щелкнуть кнопкув третьем окне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...