2016-07-27 2 views
0

Я хочу, чтобы Selenium подождал до тех пор, пока Autoit Script не будет завершен.Как приостановить ваш скрипт в селене до тех пор, пока скрипт Autoit не будет завершен?

Право Теперь, что происходит, когда я запускаю файл TestNG.xml, он запускает все приоритеты @Test Priority и в течение 5 секунд. Выход TestNg Консоль показывает, что все @Test прошли. Хотя мои сценарии AutoIT все еще работают параллельно в фоновом режиме.

Кодекс следующим образом:

@Test (priority=1) 
public void CreateNew() throws Exception 
{  
    Runtime.getRuntime().exec("exeFiles\\CreateNew.exe");  
} 

@Test (priority=2) 
public void OpenaFile() throws Exception 
{ 
     Runtime.getRuntime().exec("exeFiles\\OpenaFile.exe"); 
} 

И Кодекс AutoIt файла выглядит следующим образом:

createnew() 

Func createnew() 
    Sleep(2000) 
    Run("Mspaint.exe") 
    WinWaitActive("Untitled - Paint") 
    Send("!f") 
    Sleep(1000) 
    Send("n") 
    Sleep(2000) 
    WinClose("Untitled - Paint") 
EndFunc ;==>createnew 

ответ

2

Вам нужно создать новый процесс для AutoIt и ждать завершения процесса , Посмотрите ниже пример.

@Test (priority=1) 
public void CreateNew() throws Exception 
{  
    Process p =Runtime.getRuntime().exec("exeFiles\\CreateNew.exe"); 
    p.waitFor(); 
} 

@Test (priority=2) 
public void OpenaFile() throws Exception 
{ 
    Process p = Runtime.getRuntime().exec("exeFiles\\OpenaFile.exe"); 
    p.waitFor(); 
} 

p.waitFor() заставит текущую тему ждать процесса.

Смежные вопросы