If embedded in IE:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <file.au3>
#include <common.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiEdit.au3>
#include <date.au3>
#include <ScreenCapture.au3>
#include <IE.au3>
; Define global parameters;
; Set Global Values
$Network_Path="\\_Projects\Test Projects\ WMP Plugin\Version 1.2\Test Data\"
$Test_Scripts_Path=$Network_Path&"Test Scripts\"
$Local_Path="C:\temp\ WMP Plugin\"
dim $TestResultFiles[3]
;$VIQ_Page_URL="C:\Program Files\\ WMP Plug-in\.html"
$VIQ_Page_URL="http://192.168.1.2:9091/.html"
$WMP_Title = "Windows Media Player" ; Windows Media Player Main Screen Title
Global $page
Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=\\_projects\test projects\wmp plugin\version 1.2\test data\test scripts\form1.kxf
$TestConsoleForm. = GUICreate("Test Console", 633, 454, 190, 111)
GUISetOnEvent($GUI_EVENT_CLOSE, "TestConsoleFormClose")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "TestConsoleFormMinimize")
GUISetOnEvent($GUI_EVENT_MAXIMIZE, "TestConsoleFormMaximize")
GUISetOnEvent($GUI_EVENT_RESTORE, "TestConsoleFormRestore")
$bSelectDataFile = GUICtrlCreateButton("Browse", 440, 120, 75, 25, 0)
GUICtrlSetOnEvent(-1, "bSelectDataFileClick")
$SelectDataFile = GUICtrlCreateLabel("Select test data file:", 16, 120, 97, 17)
GUICtrlSetOnEvent(-1, "SelectDataFileClick")
Global $iSelectDataFile = GUICtrlCreateInput("iSelectDataFile", 208, 120, 209, 21)
GUICtrlSetOnEvent(-1, "iSelectDataFileChange")
$bRunScript. = GUICtrlCreateButton("Run", 208, 216, 75, 25, 0)
GUICtrlSetOnEvent(-1, "bRunScriptClick")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $bSelectDataFile
EndSwitch
WEnd
Func bSelectDataFileClick()
$var = FileOpenDialog("Select a file", $Network_Path, "All (*.*)")
;Global $Test_Data_File
_GUICtrlEdit_SetText($iSelectDataFile, $var)
EndFunc ;==>bSelectDataFileClick
Func GetTestType()
Global $sTestType
if StringInStr($Test_Data_File, "Baseline") Then
$sTestType= "Baseline"
elseif StringInStr($Test_Data_File, "Web") Then
$sTestType= "Web"
Elseif StringInStr($Test_Data_File, "Others") Then
$sTestType= "Others"
EndIf
return $sTestType
EndFunc
Func CreateTestResultFile($TestCase_ID,$File_Name,$CurrentDT)
$sTestType=GetTestType()
$TestResult_Dir_Name = $Network_Path & "Test Results\" & $sTestType&"_" & $CurrentDT & "\"
$TestResult_File = $TestResult_Dir_Name&$sTestType&"_" & $CurrentDT & ".txt";
$Url_List_File = $Network_Path & "Test Results\" & "_WMP_URL_List-"&$sTestType&"_" & $CurrentDT & ".txt";
DirCreate($TestResult_Dir_Name)
DirCreate($Local_Path)
;~ ; Copy files to local path if they do not exist
;~ If Not FileExists($Local_Path & $File_Name) Then
;~ If $Codec == "Mpeg4" Then
;~ FileCopy($Network_Path & "Mpeg4 Files\" & $File_Name, $Local_Path)
;~ ElseIf $Codec == "H.264" Then
;~ FileCopy($Network_Path & "H.264 Files\" & $File_Name, $Local_Path)
;~ ElseIf $Codec == "Playlist" Then
;~ FileCopy($Network_Path & "Playlist\" & $File_Name, $Local_Path)
;~ EndIf
;~ If $Codec == "External" Then
;~ FileCopy($Network_Path & "External .mp4 files\" & $File_Name, $Local_Path)
;~ EndIf
;~ EndIf
; Create Test Result File
If Not FileExists($TestResult_File) Then
FileChangeDir($TestResult_Dir_Name)
_FileCreate($TestResult_File)
;FileWrite($TestResult_File,"OS:"&$OS&@CRLF)
FileWrite($TestResult_File, "Windows Media Player:" & $WMP_CurVersion & @CRLF)
;FileWrite($TestResult_File,"Web Browser:"&$Browser&@CRLF&@CRLF)
EndIf
WinActivate($WMP_Title)
FileWrite($TestResult_File, "executing Test Case " & $TestCase_ID & " on " & $CurrentDT & @CRLF & @CRLF)
$TestResultFiles[1]=$TestResult_File
$TestResultFiles[0]=$TestResult_Dir_Name
$TestResultFiles[2]=$Url_List_File
Return $TestResultFiles
EndFunc
Func OpenFile($File_Path,$File_Name)
Send("^o")
WinWaitActive("Open")
$File_To_Enter = StringReplace($File_Path & $File_Name, "+", "{+}")
ControlSend("Open", "", "[CLASS:Edit; INSTANCE:1]", $File_To_Enter)
ControlClick("Open", "", "&Open")
MsgBox(0, "Open File", $File_To_Enter, 5)
EndFunc
Func OpenURL($Url,$File_Name)
Send("^u")
WinWaitActive("Open URL")
$URL_To_Enter = StringReplace($Url & $File_Name, "+", "{+}")
ControlSend("Open URL", "", "[CLASS:Edit; INSTANCE:1]", $URL_To_Enter)
ControlClick("Open URL", "Enter the URL", "OK")
MsgBox(0, "Open URL", $URL_To_Enter, 5)
EndFunc
Func ExitRelaunchWMP()
WinWaitActive($WMP_Title)
;MsgBox(0,"","test")
Sleep(1000)
Send("!{F4}")
Sleep(3000)
Run("C:\Program Files\Windows Media Player\wmplayer.exe");Launch Windows Media Player
WinWaitActive($WMP_Title)
EndFunc
Func ExecTC()
$sTestType=GetTestType()
if $sTestType=="Web" Then
;Launch the web page;
Global $page = _IECreate($VIQ_Page_URL)
Send("{ENTER}")
_IELoadWait($page)
Else
Run("C:\Program Files\Windows Media Player\wmplayer.exe");Launch Windows Media Player
EndIf
; Check if data file exists
Dim $aRecords
If Not _FileReadToArray($Test_Data_File, $aRecords) Then
MsgBox(4096, "Error", " Error reading file to Array. Error:" & @error)
Exit
EndIf
; Get Current Date Time
Global $CurrentDT = Get_Current_DT()
;~ $TestData_Line_Array = StringSplit(FileReadLine($Test_Data_File, 16), @TAB)
;~ $TestCase_ID = $TestData_Line_Array[1]
;~ MsgBox(0,"",$TestCase_ID)
; Read from test data file and execute test cases
For $Line_Num = 2 To _FileCountLines($Test_Data_File)
;for $Line_Num = 16 To 17
$TestData_Line_Array = StringSplit(FileReadLine($Test_Data_File, $Line_Num), @TAB)
;MsgBox(0,"",$TestData_Line_Array)
$TestCase_ID = $TestData_Line_Array[1]
$File_Path = $TestData_Line_Array[2]
$File_Name = $TestData_Line_Array[3]
$Url = $TestData_Line_Array[4]
;$Codec = $TestData_Line_Array[5]
;MsgBox(0,"",$TestCase_ID&$File_Path&$File_Name&$Url&$Codec)
;MsgBox(0,"",$TestCase_ID)
$TestResultFiles=CreateTestResultFile($TestCase_ID,$File_Name,$CurrentDT)
; Open File or Open URL
If ($File_Path == "" And $Url <> "") Then
FileWrite($TestResultFiles[2], $TestCase_ID & ": " & $Url & $File_Name & @CRLF & @CRLF)
FileWrite($TestResultFiles[1], "URL is " & $Url & $File_Name & @CRLF & @CRLF)
Switch $sTestType
case "Web"
WinActivate($VIQ_Page_URL&" - Microsoft Internet Explorer")
$oInput=_IEGetObjByName($page,"inputURL")
$oSetvalue=_IEFormElementSetValue($oInput,$url&$File_Name)
$oButton=_IEGetObjByName($page,"BtnPlay")
_IEAction($oButton,"click")
MsgBox(0,"",$url&$File_Name,1)
Case "Baseline" or "Others"
WinWaitActive($WMP_Title)
OpenURL($Url,$File_Name)
EndSwitch
Sleep(5000)
ElseIf ($File_Path <> "" And $Url == "") Then
FileWrite($TestResultFiles[2], $TestCase_ID & ": " & $File_Path & $File_Name & @CRLF & @CRLF)
FileWrite($TestResultFiles[1], "URL is " & $File_Path & $File_Name & @CRLF & @CRLF)
Switch $sTestType
case "Web"
WinActivate($VIQ_Page_URL&" - Microsoft Internet Explorer")
;MsgBox(0,"",$page)
$oInput=_IEGetObjByName($page,"inputURL")
;MsgBox(0,"",$oInput)
$oButton=_IEGetObjByName($page,"BtnPlay")
$oSetvalue=_IEFormElementSetValue($oInput,$File_Path&$File_Name)
_IEAction($oButton,"click")
MsgBox(0,"",$File_Path&$File_Name,1)
Case "Baseline" or "Others"
WinWaitActive($WMP_Title)
OpenFile($File_Path,$File_Name)
EndSwitch
Sleep(1000)
EndIf
; Check error messages;
Sleep(1000)
Error_W_Check()
Screen_Capture_Save_to_File()
Sleep(2000)
FileWrite($TestResultFiles[1], $TestCase_ID & " is executed, see " & "screenshot saved under " & $TestResult_File_Snapshot & @CRLF & @CRLF)
ExitRelaunchWMP()
Next
EndFunc
Func bRunScriptClick()
ExecTC()
EndFunc ;==>bRunScriptClick
Func TestConsoleFormClose()
;Note: at this point @GUI_CTRLID would equal $GUI_EVENT_CLOSE,
;@GUI_WINHANDLE will be either $mainwindow or $dummywindow
If @GUI_WinHandle = $TestConsoleForm. Then
;MsgBox(0, "Exiting", "Exiting...",1)
;ExitOpt("GUIOnEventMode", 1)
Exit
EndIf
EndFunc ;==>TestConsoleFormClose
Func iSelectDataFileChange()
$Test_Data_File = _GUICtrlEdit_GetText($iSelectDataFile)
Return $Test_Data_File
EndFunc ;==>iSelectDataFileChange
Func SelectDataFileClick()
EndFunc ;==>SelectDataFileClick
Func TestConsoleFormMaximize()
EndFunc ;==>TestConsoleFormMaximize
Func TestConsoleFormMinimize()
EndFunc ;==>TestConsoleFormMinimize
Func TestConsoleFormRestore()
EndFunc ;==>TestConsoleFormRestore
Func RepPlayStopButton()
Run($Test_Scripts_Path & "RepeatPlayStop.exe")
EndFunc ;==>RepPlayStopButton
From Windows Media Player standalone
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <file.au3>
#include <common.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiEdit.au3>
#include <date.au3>
#include <ScreenCapture.au3>
#include <IE.au3>
; Define global parameters;
; Set Global Values
$Network_Path="\Test Projects\WMP Plugin\Version 1.2\Test Data\"
$Test_Scripts_Path=$Network_Path&"Test Scripts\"
$Local_Path="C:\temp\WMP Plugin\"
dim $TestResultFiles[3]
$VIQ_Page_URL="http://192.168.1.2:9091//.htm"
$WMP_Title = "Windows Media Player" ; Windows Media Player Main Screen Title
$VIQ_Page_Title = "VIQPLUGIN ACTIVEX Test"
Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=\wmp plugin\version 1.2\test data\test scripts\form1.kxf
$TestConsoleForm. = GUICreate("Test Console", 633, 454, 190, 111)
GUISetOnEvent($GUI_EVENT_CLOSE, "TestConsoleFormClose")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "TestConsoleFormMinimize")
GUISetOnEvent($GUI_EVENT_MAXIMIZE, "TestConsoleFormMaximize")
GUISetOnEvent($GUI_EVENT_RESTORE, "TestConsoleFormRestore")
$bSelectDataFile = GUICtrlCreateButton("Browse", 440, 120, 75, 25, 0)
GUICtrlSetOnEvent(-1, "bSelectDataFileClick")
$SelectDataFile = GUICtrlCreateLabel("Select test data file:", 16, 120, 97, 17)
GUICtrlSetOnEvent(-1, "SelectDataFileClick")
Global $iSelectDataFile = GUICtrlCreateInput("iSelectDataFile", 208, 120, 209, 21)
GUICtrlSetOnEvent(-1, "iSelectDataFileChange")
$bRunScript. = GUICtrlCreateButton("Run", 208, 216, 75, 25, 0)
GUICtrlSetOnEvent(-1, "bRunScriptClick")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $bSelectDataFile
EndSwitch
WEnd
Func bSelectDataFileClick()
$var = FileOpenDialog("Select a file", $Network_Path, "All (*.*)")
;Global $Test_Data_File
_GUICtrlEdit_SetText($iSelectDataFile, $var)
EndFunc ;==>bSelectDataFileClick
Func GetTestType()
Global $sTestType
if StringInStr($Test_Data_File, "Baseline") Then
$sTestType= "Baseline"
elseif StringInStr($Test_Data_File, "Web") Then
$sTestType= "Web"
Elseif StringInStr($Test_Data_File, "Others") Then
$sTestType= "Others"
EndIf
return $sTestType
EndFunc
Func CreateTestResultFile($TestCase_ID,$File_Name,$CurrentDT)
$sTestType=GetTestType()
$TestResult_Dir_Name = $Network_Path & "Test Results\" & $sTestType&"_" & $CurrentDT & "\"
$TestResult_File = $TestResult_Dir_Name&$sTestType&"_" & $CurrentDT & ".txt";
$Url_List_File = $Network_Path & "_WMP_URL_List-"&$sTestType&"_" & $CurrentDT & ".txt";
DirCreate($TestResult_Dir_Name)
DirCreate($Local_Path)
;~ ; Copy files to local path if they do not exist
;~ If Not FileExists($Local_Path & $File_Name) Then
;~ If $Codec == "Mpeg4" Then
;~ FileCopy($Network_Path & "Mpeg4 Files\" & $File_Name, $Local_Path)
;~ ElseIf $Codec == "H.264" Then
;~ FileCopy($Network_Path & "H.264 Files\" & $File_Name, $Local_Path)
;~ ElseIf $Codec == "Playlist" Then
;~ FileCopy($Network_Path & "Playlist\" & $File_Name, $Local_Path)
;~ EndIf
;~ If $Codec == "External" Then
;~ FileCopy($Network_Path & "External .mp4 files\" & $File_Name, $Local_Path)
;~ EndIf
;~ EndIf
; Create Test Result File
If Not FileExists($TestResult_File) Then
FileChangeDir($TestResult_Dir_Name)
_FileCreate($TestResult_File)
;FileWrite($TestResult_File,"OS:"&$OS&@CRLF)
FileWrite($TestResult_File, "Windows Media Player:" & $WMP_CurVersion & @CRLF)
;FileWrite($TestResult_File,"Web Browser:"&$Browser&@CRLF&@CRLF)
EndIf
WinActivate($WMP_Title)
FileWrite($TestResult_File, "executing Test Case " & $TestCase_ID & " on " & $CurrentDT & @CRLF & @CRLF)
$TestResultFiles[1]=$TestResult_File
$TestResultFiles[0]=$TestResult_Dir_Name
$TestResultFiles[2]=$Url_List_File
Return $TestResultFiles
EndFunc
Func OpenFile($File_Path,$File_Name)
Send("^o")
WinWaitActive("Open")
$File_To_Enter = StringReplace($File_Path & $File_Name, "+", "{+}")
ControlSend("Open", "", "[CLASS:Edit; INSTANCE:1]", $File_To_Enter)
ControlClick("Open", "", "&Open")
MsgBox(0, "Open File", $File_To_Enter, 5)
EndFunc
Func OpenURL($Url,$File_Name)
Send("^u")
WinWaitActive("Open URL")
$URL_To_Enter = StringReplace($Url & $File_Name, "+", "{+}")
ControlSend("Open URL", "", "[CLASS:Edit; INSTANCE:1]", $URL_To_Enter)
ControlClick("Open URL", "Enter the URL", "OK")
MsgBox(0, "Open URL", $URL_To_Enter, 5)
EndFunc
Func ExecTC()
$sTestType=GetTestType()
if $sTestType=="Web" Then
;Launch the web page;
$page = _IECreate($VIQ_Page_URL)
Send("{ENTER}")
_IELoadWait($page)
Else
Run("C:\Program Files\Windows Media Player\wmplayer.exe");Launch Windows Media Player
EndIf
; Check if data file exists
Dim $aRecords
If Not _FileReadToArray($Test_Data_File, $aRecords) Then
MsgBox(4096, "Error", " Error reading file to Array. Error:" & @error)
Exit
EndIf
; Get Current Date Time
Global $CurrentDT = Get_Current_DT()
;~ $TestData_Line_Array = StringSplit(FileReadLine($Test_Data_File, 16), @TAB)
;~ $TestCase_ID = $TestData_Line_Array[1]
;~ MsgBox(0,"",$TestCase_ID)
; Read from test data file and execute test cases
For $Line_Num = 2 To _FileCountLines($Test_Data_File)
;for $Line_Num = 16 To 17
$TestData_Line_Array = StringSplit(FileReadLine($Test_Data_File, $Line_Num), @TAB)
;MsgBox(0,"",$TestData_Line_Array)
$TestCase_ID = $TestData_Line_Array[1]
$File_Path = $TestData_Line_Array[2]
$File_Name = $TestData_Line_Array[3]
$Url = $TestData_Line_Array[4]
;$Codec = $TestData_Line_Array[5]
;MsgBox(0,"",$TestCase_ID&$File_Path&$File_Name&$Url&$Codec)
;MsgBox(0,"",$TestCase_ID)
$TestResultFiles=CreateTestResultFile($TestCase_ID,$File_Name,$CurrentDT)
; Open File or Open URL
If ($File_Path == "" And $Url <> "") Then
FileWrite($TestResultFiles[2], $TestCase_ID & ": " & $Url & $File_Name & @CRLF & @CRLF)
FileWrite($TestResultFiles[1], "URL is " & $Url & $File_Name & @CRLF & @CRLF)
Switch $sTestType
case "Web"
WinActivate($VIQ_Page_Title&" - Microsoft Internet Explorer")
$oInput=_IEGetObjByName($page,"inputURL")
$oSetvalue=_IEFormElementSetValue($oInput,$url&$File_Name)
$oButton=_IEGetObjByName($page,"BtnPlay")
_IEAction($oButton,"click")
MsgBox(0,"",$url&$File_Name,1)
Case "Baseline" or "Others"
WinWaitActive($WMP_Title)
OpenURL($Url,$File_Name)
EndSwitch
Sleep(5000)
ElseIf ($File_Path <> "" And $Url == "") Then
FileWrite($TestResultFiles[2], $TestCase_ID & ": " & $File_Path & $File_Name & @CRLF & @CRLF)
FileWrite($TestResultFiles[1], "URL is " & $File_Path & $File_Name & @CRLF & @CRLF)
Switch $sTestType
case "Web"
WinActivate($VIQ_Page_URL&" - Microsoft Internet Explorer")
$oInput=_IEGetObjByName($page,"inputURL")
$oSetvalue=_IEFormElementSetValue($oInput,$File_Path&$File_Name)
$oButton=_IEGetObjByName($page,"BtnPlay")
_IEAction($oButton,"click")
MsgBox(0,"",$File_Path&$File_Name,1)
Case "Baseline" or "Others"
WinWaitActive($WMP_Title)
OpenFile($File_Path,$File_Name)
EndSwitch
Sleep(1000)
EndIf
; Check error messages;
Sleep(1000)
Error_W_Check()
Screen_Capture_Save_to_File()
Sleep(2000)
FileWrite($TestResultFiles[1], $TestCase_ID & " is executed, see " & "screenshot saved under " & $TestResult_File_Snapshot & @CRLF & @CRLF)
Next
EndFunc
Func bRunScriptClick()
ExecTC()
EndFunc ;==>bRunScriptClick
Func TestConsoleFormClose()
;Note: at this point @GUI_CTRLID would equal $GUI_EVENT_CLOSE,
;@GUI_WINHANDLE will be either $mainwindow or $dummywindow
If @GUI_WinHandle = $TestConsoleForm. Then
;MsgBox(0, "Exiting", "Exiting...",1)
;ExitOpt("GUIOnEventMode", 1)
Exit
EndIf
EndFunc ;==>TestConsoleFormClose
Func iSelectDataFileChange()
$Test_Data_File = _GUICtrlEdit_GetText($iSelectDataFile)
Return $Test_Data_File
EndFunc ;==>iSelectDataFileChange
Func SelectDataFileClick()
EndFunc ;==>SelectDataFileClick
Func TestConsoleFormMaximize()
EndFunc ;==>TestConsoleFormMaximize
Func TestConsoleFormMinimize()
EndFunc ;==>TestConsoleFormMinimize
Func TestConsoleFormRestore()
EndFunc ;==>TestConsoleFormRestore
Func RepPlayStopButton()
Run($Test_Scripts_Path & "RepeatPlayStop.exe")
EndFunc ;==>RepPlayStopButton