Förstå SystemUtil.Run, SetSecure, Set, Type: QTP/UFT

⚡ Smart sammanfattning

SystemUtil.Run är UFT Ett kommando som startar en fil eller ett program i början av en körsession, medan Set, SetSecure och Type matar in värden och tangenttryckningar i fönstret som det öppnas.

  • 🔘 Automatisk insättning: Starta en applikation från Windows Startmenyn under inspelning gör UFT Man skriver SystemUtil.Run-steget åt dig.
  • ☑️ Fem argument: Run accepterar fil, parametrar, dir, op och mode, så en kommando kan öppna, redigera, utforska, hitta eller skriva ut ett mål.
  • ✅ Ställ in kontra typ: Set skriver ett värde direkt i ett fält, medan Type skickar råa tangenttryckningar som micTab som en människa skulle behöva.
  • 🧪 SetSecure-lösenord: Inspelade lösenord lagras som kodade strängar som inte kan återställas till originaltexten.
  • 🛠️ Lösenordskodare: Det grafiska användargränssnittet för lösenordskodaren och CryptonCMD.exe producerar samma kodade strängar utanför en inspelningssession.
  • 📌 Nuvarande namngivning: QTP är nu OpenText Funktionell testning (UFT Ett), och SystemUtil.Run ersätter den äldre InvokeApplication-satsen.

SystemUtil.Run-, SetSecure-, Set- och Type-satser i en QTP/UFT Ett manus

SystemUtil.Run i UFT

Varje inspelat GUI-test behöver ett första steg som testar applikationen på skärmen. OpenText Funktionell testning (UFT En, tidigare Micro Focus UFT och ursprungligen HP QTP), det steget är SystemUtil.RunLåt oss förstå följande kodstycke

SystemUtil.Run "C:\Program Files\HP\samples\flight\app\flight.exe"
Dialog("Login").WinEdit("Agent Name:").Set "Guru"
Dialog("Login").WinEdit("Agent Name:").Type micTab
Dialog("Login").WinEdit("Password:").SetSecure "4af272a62666d2e"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").Close
  • Det första steget är SystemUtil.Run-kommandot som används som standard av UFT/QTP för att öppna en applikation. Under inspelning använder du Windows Startmenyn, vi navigerade till "Flygreservation”-applikation. Vid den tidpunkten, Micro Focus UFT identifierade platsen för dess körbara fil och infogade SystemUtil.Run-kommandot för att öppna den.
  • Rad 2 ställer in agentnamn som Guru som visas på den aktiva skärmen
  • Rad 3 är att trycka på tabbtangenten på ett tangentbord för att flytta fokus från agentnamnfältet till lösenordsfältet, vilket är exakt detta steg. Mänskliga användare behöver använda tabb- eller klickoperationer för att fokusera på ett visst objekt på skärmen. Å andra sidan, Snabbt test kan direkt identifiera ett objekt med hjälp av objektegenskaper och kräver inte dessa "manövrerande" operationerVi kan ta bort det här steget, eftersom UFT Man kommer fortfarande att kunna ange lösenordsfältet utan denna åtgärd
  • Rad 4 är att ställa in lösenordet som Mercury. UFT Man krypterar lösenord automatiskt angavs under inspelning för att undvika säkerhetsintrång. Detta värde kan inte dekrypteras, dvs det finns inget sätt att återställa det ursprungliga värdet med hjälp av dessa kryptiska data. Du kan uttryckligen kryptera ett lösenord med hjälp av Password Encoder Tool. För våra inlärningsändamål kommer vi att använda lösenordet i dess råa form. Och operationen kommer också att ändras till Set
  • Rad 5 klickar på OK-knappen
  • Linje 6 stänger fönstret

⚠️ Versionsnotering: den inspelade vägen ovan pekar på den gamla C:\Programfiler\HP\samples\flight plats som används av HP QTPExempelansökan för flygbokning levereras fortfarande med UFT En, men under den aktuella installationsmappen, så den bokstavliga sökvägen i ett skript som spelats in idag kommer att skilja sig.

Klicka här. om videon inte är tillgänglig

SystemUtil.Run-syntax och argument

Den inspelade raden ovan använder bara det första argumentet, men metoden accepterar fem. Att känna till alla gör SystemUtil.Run från en inspelarartefakt till ett avsiktligt startsteg som du kan skriva för hand.

SystemUtil.Run file, [params], [dir], [op], [mode]
Argument Nödvändig? Vad den gör
fil Krävs Namn på filen eller programmet som ska köras. En icke-körbar fil öppnas i det tillhörande programmet.
params Frivillig Parametrar som skickas till applikationen när fil är en körbar fil. Standardvärdet är en tom sträng.
dir Frivillig Standardkatalog för programmet eller filen. Standard är en tom sträng.
op Frivillig Åtgärd att utföra: öppna, redigera, utforska, sök eller skriv ut. Ett tomt värde utför öppnandet.
läge Frivillig Heltal som styr hur fönstret visas när det öppnas. Standardvärdet är 1.

Ocuco-landskapet op argumentet är det som de flesta testare aldrig upptäcker. Det kopplas till samma verb Windows Utforskaren erbjuder erbjudanden med ett högerklick.

op-värde Resultat
öppet Öppnar filen, mappen eller körbara filen som heter i fil.
redigera Startar en redigerare och öppnar dokumentet för redigering. Misslyckas om filen inte är ett redigerbart dokument.
utforska Utforskar mappen som heter i fil.
finna Startar en sökning från den angivna mappsökvägen.
skriv ut Skriver ut dokumentet som heter i filMisslyckas om filen inte är utskrivbar.

För lägeDe värden som är viktiga i vardagen är 0 (dölj fönstret och aktivera ett annat), 1 (aktivera och visa i originalstorlek), 2 (aktivera minimerat) och 3 (aktivera maximerat). Högre värden styr fokus och återställer beteendet och behövs sällan i ett test.

SystemUtil.Run Exempel: Program, webbläsare och filer

Exemplen nedan bygger upp ett argument i taget, så att du kan se vad varje position lägger till. Klistra in dem i en ny åtgärd och kör dem en rad i taget.

1) endast fil — den kortaste användbara formen. En körbar fil på systemsökvägen behöver ingen mapp, och ett dokument öppnas i vilket program som helst. Windows har registrerat sig för det.

SystemUtil.Run "notepad.exe"
SystemUtil.Run "C:\Data\Orders.txt"

2) fil plus parametrar — allt som programmet skulle acceptera på en kommandorad placeras här. Så här öppnas en webbläsare på en specifik adress snarare än sin hemsida.

SystemUtil.Run "notepad.exe", "C:\Data\Orders.txt"

3) lägga till katalog — användbart när ett program vägrar att starta om inte dess egen mapp är arbetskatalogen.

SystemUtil.Run "flight.exe", "", "C:\Program Files\HP\samples\flight\app\"

4) lägga till op — samma fil, fyra olika resultat.

SystemUtil.Run "C:\Data\Orders.txt", "", "", "edit"
SystemUtil.Run "C:\Data", "", "", "explore"
SystemUtil.Run "C:\Data", "", "", "find"
SystemUtil.Run "C:\Data\Orders.txt", "", "", "print"

5) tilläggsläge — öppna fönstret maximerat så att senare steg inte blockeras av en delvis dold kontroll.

SystemUtil.Run "notepad.exe", "C:\Data\Orders.txt", "", "open", 3

Eftersom det öppnade fönstret blir ett vanligt testobjekt kan nästa rad styra det. Den officiella dokumentationen parar ihop Run med Type och Close på exakt detta sätt.

SystemUtil.Run "C:\type.txt", "", "", ""
Window("Text:=type.txt - Notepad").Type "happy days"
Window("Text:=type.txt - Notepad").Close

Lägg märke till det beskrivande Text:= formuläret i det utdraget: ingen post i arkivet behövs. Samma idé behandlas utförligt i beskrivande programmering, och hårdkodade sökvägar som de ovan hålls vanligtvis bättre i Miljövariabler så ett skript körs på varje maskin.

Set, SetSecure och Type: Vilken metod ska användas

Raderna 2 till 4 i det inspelade skriptet använder tre olika metoder på samma typ av redigeringsfält. De är inte utbytbara, och att välja fel metod är en vanlig orsak till att ett steg går tyst utan att något anges.

Metod Vad den skickar Använd den när
uppsättning Skriver ett värde i klartext direkt i fältet. Normal datainmatning, inklusive ett lösenord som du gärna behåller läsbart.
Säkerställ Skriver en kodad sträng som UFT En avkodas vid körning. Valfritt lösenordsfält, så att värdet aldrig visas i skriptet eller resultaten.
Typ Skickar råa tangenttryckningar, inklusive tangenter som micTab. Tangentbordsbeteendet är en del av testet, eller så reagerar en kontroll bara på riktiga tangenter.

Som genomgången noterar existerar Tab-tangenttryckningen på rad 3 endast för att inspelaren registrerade en mänsklig vana. UFT Man identifierar lösenordsfältet med dess egenskaper, så att ta bort den raden ändrar ingenting. Byt ut SetSecure mot Set och samma inloggning körs med ett läsbart lösenord.

Dialog("Login").WinEdit("Password:").Set "mercury"

För att gå åt andra hållet och koda ett värde utanför en inspelningssession, använd LösenordskodareGUI-verktyget levereras med UFT En och samma kodning är tillgänglig från en kommandorad som CryptonCMD.exe -e i produktens bin-mapp. Båda producerar strängar som du kan släppa i ett SetSecure-argument eller i en datatabellparameterLeverantören är tydlig med att denna kodning inte är en säkerhetsstandard: den döljer ett värde på skärmen, den skyddar inte verkliga kunddata.

När dessa tre metoder väl är en självklarhet följer resten av språket snabbt efter – Grunderna i VBScript och desto bredare UFT En handledningsserie täck loopar, villkor och återanvändbara funktioner, medan Objektspion och GetROProperty visa dig vilka fastigheter UFT En matchar faktiskt.

Vanliga frågor

En Run-sats skrivs automatiskt in i testet varje gång du startar ett program från Windows Start-menyn eller dialogrutan Kör under inspelning. Typping uttalandet för hand ger samma resultat.

Nej. Den kodade strängen kan inte återställas till det ursprungliga lösenordet, vilket är anledningen till att ett förlorat värde måste kodas om snarare än dekrypteras. Ersätt hela argumentet om lösenordet ändras.

Använd lösenordskodningsverktyget som medföljer UFT En, eller kör CryptonCMD.exe -e följt av strängen från produktens bin-mapp. Båda genererar ett värde som är lämpligt för ett SetSecure-argument eller en datatabellcell.

Inställningar för inspelning och körning kan öppna programmet före det första steget, och den äldre InvokeApplication-satsen fungerar fortfarande. Leverantören behåller endast InvokeApplication för bakåtkompatibilitet och rekommenderar Kör istället.

Förutom Window(…).Close, erbjuder SystemUtil-objektet CloseProcessByName, CloseProcessById, CloseProcessByHwnd, CloseProcessByWndTitle och CloseDescendentProcesses, vilket stänger alla processer som startats i körsessionen.

AI-assistenter kan utarbeta Run-, Set- och Type-satser från en beskrivning på ett enkelt språk och föreslå åtgärder när en positionerare inte fungerar. Varje genererad rad behöver fortfarande granskas mot de verkliga objektegenskaperna innan den körs.

Copilot slutför VBScript i vilken editor som helst som stöds, så en hjälpfunktion eller en loop över testdata går snabbt att bygga upp. UFT Man har inget Copilot-plugin, så koden klistras in i editorn och verifieras där.

Den bokstavliga sökvägen är den vanliga orsaken: en annan installationsmapp, en delning mellan 32-bitars och 64-bitars Program Files, eller en mappad enhet som inte finns. Att lagra sökvägar i miljövariabler löser problemet.

Sammanfatta detta inlägg med: