【问题标题】:How to Pause your script in selenium untill your Autoit script gets completed?如何在 Selenium 中暂停脚本,直到您的 Autoit 脚本完成?
【发布时间】:2016-12-01 00:08:58
【问题描述】:

我希望 Selenium 等到并且除非 Autoit 脚本完成。

现在发生的事情是当我运行TestNG.xml 文件时,它会明智地运行所有@Test 优先级,并且在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

【问题讨论】:

    标签: eclipse selenium selenium-webdriver testng autoit


    【解决方案1】:

    您需要为 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() 将使当前线程等待进程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-21
      • 2011-12-22
      • 1970-01-01
      • 2020-04-06
      • 2020-09-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多