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