使用主文件(XML,Java,AutoIt或任何语言)运行许多AutoIt脚本文件

时间:2014-11-17 06:11:52

标签: autoit

我使用AutoIt来测试我的应用程序。有不同的测试用例。我将创建这些测试用例作为au3文件。现在我想一个接一个地运行所有这些脚本。也就是说,一个接一个调用所有子脚本文件的主脚本。我怎么能这样做?

5 个答案:

答案 0 :(得分:2)

在主AutoIt脚本( main.au3 )中,您只需添加:

#include <UDF_function_1.au3>
#include <UDF_function_2.au3>
#include <UDF_function_3.au3>

Func _lanch_all()
    ; In order to run AutoIt function
    _function_1() ; from UDF_function_1.au3
    _function_2() ; from UDF_function_2.au3
    _function_3() ; from UDF_function_3.au3

    Run(PATH_to_script\"script_1.bat") ; In order to run a batch script windows
    Run(PATH_to_executable\"script_2.exe") ; In order to run an executable
EndFunc

例如 UDF_function_1.au3 包含:

#include-once
Func _function_1()
    ConsoleWrite("Call of _function_1"&@CRLF)
EndFunc

答案 1 :(得分:1)

如果您不想编译这些测试用例,只需编译主exe:

Compiled.exe [/ ErrorStdOut] [/ AutoIt3ExecuteScript文件] [参数...]                 从已编译的AutoIt3脚本文件中执行另一个脚本文件。然后,您不需要在已编译的文件中安装另一份AutoIT3.exe副本。

#include <File.au3>

$Path = @ScriptDir & 'TestCases\'
$files = _FileListToArray($Path, "*.au3")

For $i = 1 To $files[0]
    RunWait(@ScriptFullPath & '/AutoIt3ExecuteScript "' & $Path & $files[$i] & '.au3"')
Next

答案 2 :(得分:0)

只需创建一个主AutoIt程序,让该程序运行其他子程序。如果它们以.au3格式存在,只需通过include关键字将主程序包含子程序:

#include "[path\]filename"

这将允许主程序调用所包含的子程序的功能。

答案 3 :(得分:0)

#include <File.au3>

$Path = @ScriptDir & 'TestCases\'
$files = _FileListToArray($Path, "*.au3")

For $i = 1 To $files[0]
    RunWait(@ScriptFullPath & '/AutoIt3ExecuteScript "' & $Path & $files[$i] & '.au3"')
Next

答案 4 :(得分:0)

修改后的代码如下:

#include <File.au3>
$Path = @ScriptDir & '\TestCases\'
$files = _FileListToArray($Path, "*.au3")
MsgBox(0,"path", $files[0])
For $i = 1 To $files[0]
    RunWait(@AutoItExe & " /AutoIt3ExecuteScript "& '"'& $Path & $files[$i] & '"')
Next