2 Skripte für den IE parallel laufen lassen. Die Skripte stören sich untereinander.

  • Hallo zusammen.

    Ich habe folgende Voraussetzungen:

    Ich habe 2 Skripte, die unterschiedliche Dinge tun. Das eine Skript führt den Prozess einer Angebotsschreibung in unserem firmeninternen Portal durch und misst die Ladezeiten, welche dann in ein Logfile geschrieben werden. Das andere Skript macht das ähnlich nur den Prozess einer Bestellung.

    Jedes Skript für sich läuft einwandfrei. Nun habe ich (ich vermute) ein Problem mit der Fensterzuordnung zu von Skript zu Browserfenster, wenn sie gleichzeitig laufen. Das ganze soll parallel und in einer While schleife laufen, um eine dauerhafte Überwachung zu gewährleisten und im Anschluss entsprechende Auswertungen machen zu können. Eine weitere Vermutung ist, dass wenn ein Skript gerade den Browser öffnet (und lädt) das 2. Skript irgendwie dazwischen fuscht.
    Ich versuche mal alles notwendige anzuhängen.

    Versucht habe ich schon anstatt IECreate es über ShellExecute und das Handles des Fensters zu lösen. Aber da liegt das Problem in der WinWait Methode meiner Meinung nach.

    Das 1. Skript

    Spoiler anzeigen
    [autoit]

    #include <Test_IE.au3>
    ; Read the config.ini
    $INI=@ScriptDir&"\AngebotSnagViewConfig.ini"

    [/autoit] [autoit][/autoit] [autoit]

    $host=IniRead ( $INI, "base", "host", "default" )
    $service1=IniRead ( $INI, "base", "service1", "default" )
    $service2=IniRead ( $INI, "base", "service2", "default" )
    $service3=IniRead ( $INI, "base", "service3", "default" )
    $service4=IniRead ( $INI, "base", "service4", "default" )
    $cmd01 = @ScriptDir&"\"& IniRead ( $INI, "base", "cmd01", "default" )

    [/autoit] [autoit][/autoit] [autoit]

    $logWarn=IniRead ( $INI, "check", "logWarning", "default" )
    $logCrit=IniRead ( $INI, "check", "logCritical", "default" )
    $serviceWarn=IniRead ( $INI, "check", "serviceWarn", "default" )
    $serviceCrit=IniRead ( $INI, "check", "serviceCrit", "default" )

    [/autoit] [autoit][/autoit] [autoit]

    $hidden=IniRead ( $INI, "run", "hidden", "true" )
    ; Variablen
    $user = ""
    $pwd = ""
    $server = ""
    $anwendung = ""
    $oIE_ANG = ""
    While @HOUR < 20
    ;URL und Server wählen
    For $i = 1 to 4 step 1
    if $i = 1 Then
    $url = "http://sp280w05.viessmann.com:10040/wps/portal"
    $server = "WP_1_1"
    Endif
    if $i = 2 Then
    $url = "http://sp280w05.viessmann.com:10046/wps/portal"
    $server = "WP_1_2"
    Endif
    if $i = 3 Then
    $url = "http://sp281w05.viessmann.com:10040/wps/portal"
    $server = "WP_2_1"
    Endif
    if $i = 4 Then
    $url = "http://sp281w05.viessmann.com:10046/wps/portal"
    $server = "WP_2_2"
    Endif
    ;Angebotsschreibung: Prozess durchführen
    $anwendung = "ANG"
    $oIE_ANG = _PortalLogin($user, $pwd, $url, $hidden)
    $serviceTimeBegin = TimerInit()
    _IELinkClickByTextContains($oIE_ANG, "Vertrieb", "Reiter Vertrieb")
    _IELinkClickByTextContains($oIE_ANG, "Angebote", "Seite Angebot")
    _IELinkClickByTextContains($oIE_ANG, "Meine Angebotsentwürfe", "Öffnen ""Meine Angebotsentwürfe""")
    _IELinkClickByTextContains($oIE_ANG, "0051234500", "Auswahl des Angebotsentwurfs")
    _IELinkClickByTextContains($oIE_ANG, "Weiter", "Verkaufshinweis anzeigen")
    _IELinkClickByTextContains($oIE_ANG, "Weiter", "Angebotspositionen anzeigen")
    _IELinkClickByTextContains($oIE_ANG, "Aktualisieren", "Angebotspositionen aktualisieren")
    _IELinkClickByTextContains($oIE_ANG, "Weiter", "Druckeinstellungen anzeigen")
    _IELinkClickByTextContains($oIE_ANG, "Textbaustein auswählen", "Auswahl für Textbausteine öffnen")
    _IELinkClickByTextContains($oIE_ANG, "Suchen", "Textbausteine suchen")
    _IELinkClickByTextContains($oIE_ANG, "Abgasberechnung", "Auswahl eines Textbausteins")
    $serviceTime = Round(TimerDiff($serviceTimeBegin)/1000, 2)
    _PortalLogout($oIE_ANG)

    [/autoit] [autoit][/autoit] [autoit]

    ;Returncode und Warn/Crit festlegen
    if $serviceTime >= $serviceCrit Then
    $output = StringFormat("%s%s%s", "CRITICAL-",$serviceTime,"s")
    $returncode = "2"
    ElseIf $serviceTime >= $serviceWarn Then
    $output = StringFormat("%s%s%s", "WARNING-",$serviceTime,"s")
    $returncode = "1"
    ElseIf $serviceTime < $serviceWarn Then
    $output = StringFormat("%s%s%s", "OK-",$serviceTime,"s")
    $returncode = "0"
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ; Submit Value to SNAG-View
    ;service1
    If $i = 1 Then
    $performance = "time="&$serviceTime&"s;"&$serviceWarn&";"&$serviceCrit&";0"
    $cmdrun01 = $cmd01 & " " & $host & " " & $service1 & " " & $returncode & " " & $output& " " & $performance
    EndIf
    ;service2
    If $i = 2 Then
    $performance = "time="&$serviceTime&"s;"&$serviceWarn&";"&$serviceCrit&";0"
    $cmdrun01 = $cmd01 & " " & $host & " " & $service2 & " " & $returncode & " " & $output& " " & $performance
    EndIf
    ;service3
    If $i = 3 Then
    $performance = "time="&$serviceTime&"s;"&$serviceWarn&";"&$serviceCrit&";0"
    $cmdrun01 = $cmd01 & " " & $host & " " & $service3 & " " & $returncode & " " & $output& " " & $performance
    EndIf
    ;service4
    If $i = 4 Then
    $performance = "time="&$serviceTime&"s;"&$serviceWarn&";"&$serviceCrit&";0"
    $cmdrun01 = $cmd01 & " " & $host & " " & $service4 & " " & $returncode & " " & $output& " " & $performance
    EndIf
    Run($cmdrun01)
    sleep (5000)
    Next
    Wend
    Exit

    [/autoit]

    Das 2. Skript

    Spoiler anzeigen
    [autoit]

    #include <Test_IE.au3>
    ; Read the config.ini
    $INI=@ScriptDir&"\OBSSnagViewConfig.ini"

    [/autoit] [autoit][/autoit] [autoit]

    $host=IniRead ( $INI, "base", "host", "default" )
    $service1=IniRead ( $INI, "base", "service1", "default" )
    $service2=IniRead ( $INI, "base", "service2", "default" )
    $service3=IniRead ( $INI, "base", "service3", "default" )
    $service4=IniRead ( $INI, "base", "service4", "default" )
    $cmd01 = @ScriptDir&"\"& IniRead ( $INI, "base", "cmd01", "default" )

    [/autoit] [autoit][/autoit] [autoit]

    $logWarn=IniRead ( $INI, "check", "logWarning", "default" )
    $logCrit=IniRead ( $INI, "check", "logCritical", "default" )
    $serviceWarn=IniRead ( $INI, "check", "serviceWarn", "default" )
    $serviceCrit=IniRead ( $INI, "check", "serviceCrit", "default" )

    [/autoit] [autoit][/autoit] [autoit]

    $hidden=IniRead ( $INI, "run", "hidden", "true" )
    ; Variablen
    $user = ""
    $pwd = ""
    $server = ""
    $anwendung = ""
    $oIE_OBS = ""
    While @HOUR < 20
    ;URL und Server wählen
    For $i = 1 to 4 step 1
    if $i = 1 Then
    $url = "http://sp280w05.viessmann.com:10040/wps/portal"
    $server = "WP_1_1"
    Endif
    if $i = 2 Then
    $url = "http://sp280w05.viessmann.com:10046/wps/portal"
    $server = "WP_1_2"
    Endif
    if $i = 3 Then
    $url = "http://sp281w05.viessmann.com:10040/wps/portal"
    $server = "WP_2_1"
    Endif
    if $i = 4 Then
    $url = "http://sp281w05.viessmann.com:10046/wps/portal"
    $server = "WP_2_2"
    Endif
    ;OBS: Prozess durchführen
    $anwendung = "OBS"
    $oIE_OBS = _PortalLogin($user, $pwd, $url, $hidden)
    $serviceTimeBegin = TimerInit()
    _IELinkClickByTextContains($oIE_OBS, "Vertrieb", "Reiter Vertrieb")
    _IELinkClickByTextContains($oIE_OBS, "Bestellung", "Seite Bestellung")
    _OBSKundenlogin($oIE_OBS, "", "", "")
    _IELinkClickByTextContains($oIE_OBS, "Bestellerfassung", "Bestellerfassung öffnen")
    _IELinkClickByTextContains($oIE_OBS, "Import Musterwarenkorb", "Musterwarenkorb importieren")
    _IELinkClickByTextContains($oIE_OBS, "PortalUeberwachung", "Musterwarenkorb auswählen")
    _IELinkClickByTextContains($oIE_OBS, "In Warenkorb übernehmen", "Musterwarenkorb in Warenkorb übernehmen")
    _IELinkClickByTextContains($oIE_OBS, "Warenkorb", "Warenkorb öffnen")
    _IELinkClickByTextContains($oIE_OBS, "Warenkorb bestellen", "Warenkorb bestellen")
    $oForms = _IEFormGetCollection ($oIE_OBS, 0)
    $o_commission = _IEFormElementGetObjByNameContains($oForms, "commission")
    _IEFormElementSetValue($o_commission, "1")
    _IELinkClickByTextContains($oIE_OBS, "Weiter", "Bestellvorgang Weiter")
    _IELinkClickByTextContains($oIE_OBS, "Ergänzende Angaben", "Ergänzende Angaben Weiter")
    $serviceTime = Round(TimerDiff($serviceTimeBegin)/1000, 2)
    _PortalLogout($oIE_OBS)

    [/autoit] [autoit][/autoit] [autoit]

    ;Returncode und Warn/Crit festlegen
    if $serviceTime >= $serviceCrit Then
    $output = StringFormat("%s%s%s", "CRITICAL-",$serviceTime,"s")
    $returncode = "2"
    ElseIf $serviceTime >= $serviceWarn Then
    $output = StringFormat("%s%s%s", "WARNING-",$serviceTime,"s")
    $returncode = "1"
    ElseIf $serviceTime < $serviceWarn Then
    $output = StringFormat("%s%s%s", "OK-",$serviceTime,"s")
    $returncode = "0"
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ; Submit Value to SNAG-View
    ;service1
    If $i = 1 Then
    $performance = "time="&$serviceTime&"s;"&$serviceWarn&";"&$serviceCrit&";0"
    $cmdrun01 = $cmd01 & " " & $host & " " & $service1 & " " & $returncode & " " & $output& " " & $performance
    EndIf
    ;service2
    If $i = 2 Then

    [/autoit] [autoit][/autoit] [autoit]

    $performance = "time="&$serviceTime&"s;"&$serviceWarn&";"&$serviceCrit&";0"
    $cmdrun01 = $cmd01 & " " & $host & " " & $service2 & " " & $returncode & " " & $output& " " & $performance
    EndIf
    ;service3
    If $i = 3 Then

    [/autoit] [autoit][/autoit] [autoit]

    $performance = "time="&$serviceTime&"s;"&$serviceWarn&";"&$serviceCrit&";0"
    $cmdrun01 = $cmd01 & " " & $host & " " & $service3 & " " & $returncode & " " & $output& " " & $performance
    EndIf
    ;service4
    If $i = 4 Then

    [/autoit] [autoit][/autoit] [autoit]

    $performance = "time="&$serviceTime&"s;"&$serviceWarn&";"&$serviceCrit&";0"
    $cmdrun01 = $cmd01 & " " & $host & " " & $service4 & " " & $returncode & " " & $output& " " & $performance
    EndIf
    Run($cmdrun01)
    sleep (5000)
    Next
    Wend
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    ;-- Functions --
    Func _OBSKundenlogin($oIE_OBS, $customer, $role, $orgUnit)
    $oForms = _IEFormGetCollection ($oIE_OBS, 0)
    $o_customer = _IEFormElementGetObjByNameContains($oForms, "customer")
    $o_role = _IEFormElementGetObjByNameContains($oForms, "role")
    $o_orgUnit = _IEFormElementGetObjByNameContains($oForms, "orgUnit")
    _IEFormElementSetValue($o_customer, $customer )
    _IEFormElementSetValue($o_role, $role )
    _IEFormElementSetValue($o_orgUnit, $orgUnit )
    _IELinkClickByTextContains($oIE_OBS, "Weiter", "OBS Login")

    [/autoit] [autoit][/autoit] [autoit]

    If StringInStr(_IEBodyReadText($oIE_OBS),"Aus Ihrer letzten Bestellsystem-Anmeldung existiert noch ein gefüllter Warenkorb.") > 0 Then _IELinkClickByTextContains($oIE_OBS, "Neuen Warenkorb anlegen", "OBS Login neuer Warenkorb anlegen")
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]

    Die in der Test_IE.au3 selbst geschriebenen Methoden:

    Spoiler anzeigen
    [autoit]


    ; Angepasst
    #include <Date.au3>
    Func _IELinkClickByTextContains(ByRef $o_object, $s_linkText, $s_logText = "", $i_index = 0, $f_wait = 1, $f_log = 1)
    If Not IsObj($o_object) Then
    __IEErrorNotify("Error", "_IELinkClickByTextContains", "$_IEStatus_InvalidDataType")
    SetError($_IEStatus_InvalidDataType, 1)
    Return 0
    EndIf
    ;
    Local $found = 0, $link, $linktext, $links = $o_object.document.links
    $i_index = Number($i_index)
    For $link In $links
    $linktext = $link.outerText & "" ; Append empty string to prevent problem with no outerText (image) links
    If StringInStr($linktext, $s_linkText) Then
    if ($found = $i_index) Then
    $link.click
    If $f_wait Then
    If $f_log Then
    $begin = TimerInit()
    If _IELoadWait($o_object) Then
    _LogInFile(@ScriptDir, @ScriptName, "_IELinkClickByTextContains: " & $s_linktext & ";" & $s_logText , TimerDiff($begin))
    Else
    _LogInFile(@ScriptDir, @ScriptName, "_IELinkClickByTextContains: " & $s_linktext & ";" & $s_logText, TimerDiff($begin))
    _IEQuit($o_object)
    EndIf
    Else
    _IELoadWait($o_object)
    EndIf
    SetError(@error)
    Return -1
    EndIf
    SetError($_IEStatus_Success)
    Return -1
    EndIf
    $found = $found + 1
    EndIf
    Next
    __IEErrorNotify("Warning", "_IELinkClickByTextContains", "$_IEStatus_NoMatch")
    SetError($_IEStatus_NoMatch) ; Could be caused by parameter 2, 3 or both
    Return 0
    EndFunc ;==>_IELinkClickByText

    [/autoit] [autoit][/autoit] [autoit]

    Func _IEFormElementGetObjByNameContains(ByRef $o_object, $s_Name, $i_index = 0)
    If Not IsObj($o_object) Then
    __IEErrorNotify("Error", "_IEFormElementGetObjByNameContains", "$_IEStatus_InvalidDataType")
    SetError($_IEStatus_InvalidDataType, 1)
    Return 0
    EndIf
    ;
    If Not __IEIsObjType($o_object, "form") Then
    __IEErrorNotify("Error", "_IEFormElementGetObjByNameContains", "$_IEStatus_InvalidObjectType")
    SetError($_IEStatus_InvalidObjectType, 1)
    Return 0
    EndIf
    ;----- Get Fullname out of containing Name
    For $item in $o_object.document.forms.item
    If StringInStr($item.name, $s_Name) Then $s_Name = $item.name
    Next
    ;-----
    ;----- Determine valid collection length
    Local $o_col, $i_length = 0
    $o_col = $o_object.elements.item ($s_Name)
    If IsObj($o_col) Then
    If __IEIsObjType($o_col, "elementcollection") Then
    $i_length = $o_col.length
    Else
    $i_length = 1
    EndIf
    EndIf
    ;-----
    $i_index = Number($i_index)
    If $i_index = -1 Then
    SetError($_IEStatus_Success)
    SetExtended($i_length)
    Return $o_object.elements.item ($s_Name)
    Else
    If IsObj($o_object.elements.item ($s_Name, $i_index)) Then
    SetError($_IEStatus_Success)
    SetExtended($i_length)
    Return $o_object.elements.item ($s_Name, $i_index)
    Else
    __IEErrorNotify("Warning", "_IEFormElementGetObjByNameContains", "$_IEStatus_NoMatch")
    SetError($_IEStatus_NoMatch) ; Could be caused by parameter 2, 3 or both
    Return 0
    EndIf
    EndIf
    EndFunc ;==>_IEFormElementGetObjByNameContains

    [/autoit] [autoit][/autoit] [autoit]

    Func _PortalLogin($user = "", $pwd = "", $url = "http://sportal.viessmann.com/wps/myportal", $hidden = "false")
    Opt("WinTitleMatchMode", 2)
    If $hidden = "true" then
    $oIE = _IECreate($url, 0, 0)
    ;ShellExecute("iexplore.exe", $url, "","", @SW_HIDE)
    ;WinWait("")
    ;$oIE = _IEAttach(WinGetHandle("[active]"), "HWND")
    else
    $oIE = _IECreate($url)
    ;ShellExecute("iexplore.exe", $url)
    ;WinWait("")
    ;$oIE = _IEAttach(WinGetHandle("[active]"), "HWND")
    endif
    _IELinkClickByTextContains($oIE, "... treten Sie ein!", "Einstiegsseite laden")
    $oForms = _IEFormGetCollection ($oIE, 0)
    if _IEFormElementGetObjByNameContains($oForms, "wps.portlets.userid") <> 0 Then
    $o_user = _IEFormElementGetObjByNameContains($oForms, "wps.portlets.userid")
    Else
    $o_user = _IEFormElementGetObjByNameContains($oForms, "username")
    EndIf
    $o_pwd = _IEFormElementGetObjByNameContains($oForms, "password")
    _IEFormElementSetValue($o_user, $user)
    _IEFormElementSetValue($o_pwd, $pwd )
    _IEFormSubmit($oForms, 1)
    Return $oIE
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _PortalLogout(ByRef $oIE)
    _IELinkClickByTextContains($oIE, "Abmelden", "Portalabmeldung")
    _IEQuit($oIE)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _LogInFile ($scriptdir, $scriptname, $logtext, $logtime)
    $output = ""
    DirCreate($scriptdir&"\log\")
    DirCreate($scriptdir&"\log\"&$scriptname&"\" & @YEAR &"_"& @MON &"_"& @MDAY)
    $dir = $scriptdir&"\log\"&$scriptname&"\" & @YEAR &"_"& @MON &"_"& @MDAY & "\"
    $logtime = Round($logtime/1000, 2)
    $filename = $dir & "log.txt"
    $file = FileOpen($filename, 1)

    [/autoit] [autoit][/autoit] [autoit]

    ; Status anhand der Antwortzeit setzen
    if $logtime >= $logCrit Then
    $output = StringFormat("%s%s%s", "CRITICAL;",$logtime,"s")
    ElseIf $logtime >= $logWarn Then
    $output = StringFormat("%s%s%s", "WARNING;",$logtime,"s")
    ElseIf $logtime < $logWarn Then
    $output = StringFormat("%s%s%s", "OK;",$logtime,"s")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ;Text der ins das Logfile geschrieben wird
    $filetext = $server&";"&$anwendung&";"&_DateTimeFormat(_NowCalc(), 2)& ";" & _DateTimeFormat(_NowCalc(), 3) & ";" & $logtext & ";" &$output& @CRLF
    FileWrite($file, $filetext)
    FileClose($file)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _BAPILogInFile ($scriptdir, $scriptname, $logtext, $logtime)
    $output = ""
    DirCreate($scriptdir&"\log\")
    DirCreate($scriptdir&"\log\"&$scriptname&"\" & @YEAR &"_"& @MON &"_"& @MDAY)
    $dir = $scriptdir&"\log\"&$scriptname&"\" & @YEAR &"_"& @MON &"_"& @MDAY & "\"

    [/autoit] [autoit][/autoit] [autoit]

    $logtime = Round($logtime/1000, 2)
    $filename = $dir & "log.txt"
    $file = FileOpen($filename, 1)

    [/autoit] [autoit][/autoit] [autoit]

    ; Status anhand der Antwortzeit setzen
    if $logtime >= 10000 Then
    $output = StringFormat("%s%s%s", "CRITICAL;",$logtime,"ms")
    ElseIf $logtime >= 5000 Then
    $output = StringFormat("%s%s%s", "WARNING;",$logtime,"ms")
    ElseIf $logtime < 5000 Then
    $output = StringFormat("%s%s%s", "OK;",$logtime,"ms")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    $filetext = $server&";"&$anwendung&";"&_DateTimeFormat(_NowCalc(), 2)& ";" & _DateTimeFormat(_NowCalc(), 3) & ";" & $logtext & ";" &$output& @CRLF
    FileWrite( $file, $filetext)
    FileClose($file)
    EndFunc

    [/autoit]

    Config.ini

    Spoiler anzeigen

    [base]
    host=Roboter_Portal
    service1=Angebot_1_1
    service2=Angebot_1_2
    service3=Angebot_2_1
    service4=Angebot_2_2
    cmd01=submit.cmd

    [check]
    in Sekunden
    logWarning=5
    logCritical=10

    serviceWarn=30
    serviceCrit=45

    [run]
    hidden=false

    Über Tipps, Anregungen und Hilfen würde ich mich freuen

    Gruß GreS

    2 Mal editiert, zuletzt von GreS (23. April 2010 um 08:57)

  • Hier schonmal dein 1. Script kürzer, teste das mal.

    Spoiler anzeigen
    [autoit]

    #include <Test_IE.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $user, $pwd, $server, $anwendung, $oIE_ANG, $serviceTimeBegin, $serviceTime

    [/autoit] [autoit][/autoit] [autoit]

    Global $aUrlServer[4][2] = [["http://sp280w05.viessmann.com:10040/wps/portal", "WP_1_1"], _
    ["http://sp280w05.viessmann.com:10046/wps/portal", "WP_1_2"], _
    ["http://sp281w05.viessmann.com:10040/wps/portal", "WP_2_1"], _
    ["http://sp281w05.viessmann.com:10046/wps/portal", "WP_2_2"]]
    ; Read the config.ini
    Global $sPathIni = @ScriptDir & "\AngebotSnagViewConfig.ini"

    Global $aIni_Base = IniReadSection($sPathIni, "base")
    ; 0 = host
    ; 1 = service1
    ; 2 = service2
    ; 3 = service3
    ; 4 = service4
    ; 5 = cmd01

    [/autoit] [autoit][/autoit] [autoit]

    Global $aIni_Check = IniReadSection($sPathIni, "check")
    ; 0 = logWarning
    ; 1 = logCritical
    ; 2 = serviceWarn
    ; 3 = serviceCrit

    [/autoit] [autoit][/autoit] [autoit]

    Global $aIni_Run = IniReadSection($sPathIni, "run")
    ; 0 = hidden

    [/autoit] [autoit][/autoit] [autoit]

    While @HOUR < 20
    ; URL und Server wählen
    For $i = 0 To 3
    $server = $aUrlServer[$i][1]

    ; Angebotsschreibung: Prozess durchführen
    $anwendung = "ANG"
    $oIE_ANG = _PortalLogin($user, $pwd, $aUrlServer[$i][0], $aIni_Run[0][1])
    $serviceTimeBegin = TimerInit()
    _IELinkClickByTextContains($oIE_ANG, "Vertrieb", "Reiter Vertrieb")
    _IELinkClickByTextContains($oIE_ANG, "Angebote", "Seite Angebot")
    _IELinkClickByTextContains($oIE_ANG, "Meine Angebotsentwürfe", "Öffnen ""Meine Angebotsentwürfe""")
    _IELinkClickByTextContains($oIE_ANG, "0051234500", "Auswahl des Angebotsentwurfs")
    _IELinkClickByTextContains($oIE_ANG, "Weiter", "Verkaufshinweis anzeigen")
    _IELinkClickByTextContains($oIE_ANG, "Weiter", "Angebotspositionen anzeigen")
    _IELinkClickByTextContains($oIE_ANG, "Aktualisieren", "Angebotspositionen aktualisieren")
    _IELinkClickByTextContains($oIE_ANG, "Weiter", "Druckeinstellungen anzeigen")
    _IELinkClickByTextContains($oIE_ANG, "Textbaustein auswählen", "Auswahl für Textbausteine öffnen")
    _IELinkClickByTextContains($oIE_ANG, "Suchen", "Textbausteine suchen")
    _IELinkClickByTextContains($oIE_ANG, "Abgasberechnung", "Auswahl eines Textbausteins")
    $serviceTime = Round(TimerDiff($serviceTimeBegin) / 1000, 2)
    _PortalLogout($oIE_ANG)

    ; Returncode und Warn/Crit festlegen
    Select
    Case $serviceTime < $aIni_Check[2][1]
    $output = StringFormat("%s%s%s", "OK-", $serviceTime, "s")
    $returncode = 0
    Case $serviceTime >= $aIni_Check[2][1] And $serviceTime < $aIni_Check[3][1]
    $output = StringFormat("%s%s%s", "WARNING-", $serviceTime, "s")
    $returncode = 1
    Case $serviceTime >= $aIni_Check[3][1]
    $output = StringFormat("%s%s%s", "CRITICAL-", $serviceTime, "s")
    $returncode = 2
    EndSelect

    ; Submit Value to SNAG-View
    $performance = "time=" & $serviceTime & "s;" & $aIni_Check[2][1] & ";" & $aIni_Check[3][1] & ";0"
    $cmdrun01 = @ScriptDir & "\" & $aIni_Base[5][1] & " " & $aIni_Base[0][1] & " " & $aIni_Base[$i + 1][1] & " " & $returncode & " " & $output& " " & $performance
    Run($cmdrun01)
    Sleep (5000)
    Next
    Wend

    [/autoit]

    Die Ini sollte so aussehen:

    Übrigens wenn du Variablen Werte zuweisst, aber diese nicht in deinem Script verwendest, sondern in einem Includescript, ist es besser und sinnvoller Übergabeparameter zu verwenden.