WinDriver: Porovnání verzí
(Tato verze je označená pro překlad) |
|||
| (Není zobrazeno 26 mezilehlých verzí od stejného uživatele.) | |||
| Řádek 1: | Řádek 1: | ||
| + | <languages/> | ||
| + | <translate> | ||
| + | <!--T:1--> | ||
[[Category:GuiMaster]] | [[Category:GuiMaster]] | ||
[[Category:GuiMaster Library]] | [[Category:GuiMaster Library]] | ||
| − | == Popis == | + | == Popis == <!--T:2--> |
| + | |||
| + | <!--T:3--> | ||
'''Alias: WND''' | '''Alias: WND''' | ||
| + | <!--T:4--> | ||
'''Spustí příkaz přes zprávy Windows API.''' | '''Spustí příkaz přes zprávy Windows API.''' | ||
| − | + | <!--T:5--> | |
| + | Odešlě příkaz určený parametrem [[#command-| Command]] přes zprávy Windows API. WinDriver je tedy použitelný pouze pro interakci s nativní Win32 aplikací a i v tomto případě je funkčnost závislá na její implementaci a použitých knihovnách. Výsledek závisí na vlastní reakci aplikace na zaslané zprávy (Windows Messages). | ||
| + | |||
| + | == Vstupní parametry == <!--T:6--> | ||
| + | |||
| + | </translate> | ||
| + | <span id="command-"></span> | ||
| + | <translate> | ||
| + | === Command === <!--T:7--> | ||
| − | + | <!--T:8--> | |
| − | + | Typ [[Special:MyLanguage/Datové typy#String | String]] | |
| − | Typ [[Datové typy#String | String]] | ||
| + | <!--T:9--> | ||
Příkaz pro Windows API. | Příkaz pro Windows API. | ||
| − | *click | + | <!--T:10--> |
| − | **Target= | + | *cbGetCount (zjistí počet položek v nabídce comboboxu) |
| − | *getChecked | + | **Target=Parametry identifikující combobox |
| − | **Target= | + | **Output=Počet položek |
| + | *cbGetCurrent (vrátí index právě zvolené položky) | ||
| + | **Target=Parametry identifikující combobox | ||
| + | **Output=Index zvolené položky | ||
| + | *cbGetText (vrátí text položky) | ||
| + | **Target=Parametry identifikující combobox | ||
| + | **Value=Index požadované položky (0 odpovídá první položce) | ||
| + | **Output=Text položky | ||
| + | *cbSetCurrent (nastaví index aktuální položky) | ||
| + | **Target=Parametry identifikující combobox | ||
| + | **Value=Index požadované položky (0 odpovídá první položce, -1 ruší výběr) | ||
| + | *click (vyvolá kliknutí) | ||
| + | **Target=Parametry identifikující komponentu (typicky typu Button) | ||
| + | *clickAsync (vyvolá kliknutí, nečeká na zpracování) | ||
| + | **Target=Parametry identifikující komponentu (typicky typu Button) | ||
| + | *command (vykoná příkaz) | ||
| + | **Target=Parametry identifikující okno | ||
| + | **Value=Id příkazu | ||
| + | *getChecked (zjistí stav checkboxu/radiobuttonu) | ||
| + | **Target=Parametry identifikující komponentu (typicky typu Checkbox nebo Radiobutton) | ||
**Output=Stav (0=nezaškrtnuto, 1=zaškrtnuto) | **Output=Stav (0=nezaškrtnuto, 1=zaškrtnuto) | ||
| − | *getCount | + | *getCount (zjistí počet objektů) |
| − | **Target= | + | **Target=Parametry identifikující komponentu(-y) |
**Output=Počet nalezených objektů | **Output=Počet nalezených objektů | ||
| − | *getHandle | + | *getHandle (zjistí handle objektu) |
| − | **Target= | + | **Target=Parametry identifikující komponentu |
**Output=Handle prvního nalezeného objektu | **Output=Handle prvního nalezeného objektu | ||
| − | *getHandles | + | *getHandles (zjistí handle objektů) |
| − | **Target= | + | **Target=Parametry identifikující komponentu(-y) |
**Output=Čárkou oddělený seznam handlů nalezených objektů | **Output=Čárkou oddělený seznam handlů nalezených objektů | ||
| − | *getText | + | *getText (vrátí text objektu) |
| − | **Target= | + | **Target=Parametry identifikující komponentu nebo okno |
**Output=Text objektu | **Output=Text objektu | ||
| − | *setChecked | + | *hcGetCount (zjistí počet položek v headeru) |
| − | **Target= | + | **Target=Parametry identifikující header (např. handle=$(%WinDriver.WND_GetHeader.out:Output), kde WND_GetHeader je předchozí WinDriver s Command=lvGetHeaderHandle) |
| + | **Output=Počet položek | ||
| + | *hcGetText (vrátí text položky headeru) | ||
| + | **Target=Parametry identifikující header | ||
| + | **Value=Index požadované položky (0 odpovídá první položce) | ||
| + | **Output=Text položky | ||
| + | *lbGetCount (zjistí počet položek listboxu) | ||
| + | **Target=Parametry identifikující listbox | ||
| + | **Output=Počet položek | ||
| + | *lbGetCurrent (vrátí index aktuální položky) | ||
| + | **Target=Parametry identifikující listbox | ||
| + | **Output=Index aktuální položky | ||
| + | *lbGetSelected (vrátí index vybrané položky | indexy vybraných položek) | ||
| + | **Target=Parametry identifikující listbox | ||
| + | **Value=Pořadové číslo výběru | prázdný | ||
| + | **Output=Index vybrané položky | středníkem oddělený seznam indexů vybraných položek | ||
| + | *lbGetSelectedCount (vrátí počet vybraných položek listboxu) | ||
| + | **Target=Parametry identifikující listbox | ||
| + | **Output=Počet vybraných položek | ||
| + | *lbGetText (vrátí text položky listboxu) | ||
| + | **Target=Parametry identifikující listbox | ||
| + | **Value=Index požadované položky (0 odpovídá první položce) | ||
| + | **Output=Text položky | ||
| + | *lbSetCurrent (nastaví aktuální položku listboxu) | ||
| + | **Target=Parametry identifikující listbox | ||
| + | **Value=Index požadované položky (0 odpovídá první položce, -1 ruší výběr) | ||
| + | *lbSetSelected (výbere položky listboxu) | ||
| + | **Target=Parametry identifikující listbox | ||
| + | **Value=index položky | středníkem oddělený seznam indexů položek | ||
| + | *lbSetUnselected (zruší výběr položek listboxu) | ||
| + | **Target=Parametry identifikující listbox | ||
| + | **Value=index položky | středníkem oddělený seznam indexů položek | ||
| + | *lvGetCount (zjistí počet položek listview) | ||
| + | **Target=Parametry identifikující listview | ||
| + | **Output=Počet položek | ||
| + | *lvGetHeaderHandle (vrátí handle záhlaví listview - viz příkazy hc*) | ||
| + | **Target=Parametry identifikující listview | ||
| + | **Output=Handle záhlaví | ||
| + | *lvGetSelected (vrátí index vybrané položky | indexy vybraných položek) | ||
| + | **Target=Parametry identifikující listview | ||
| + | **Value=Pořadové číslo výběru | prázdný | ||
| + | **Output=Index vybrané položky | středníkem oddělený seznam indexů vybraných položek | ||
| + | *lvGetSelectedCount (vrátí počet vybraných položek listview) | ||
| + | **Target=Parametry identifikující listview | ||
| + | **Output=Počet vybraných položek | ||
| + | *lvGetText (vrátí text položky listview) | ||
| + | **Target=Parametry identifikující listview | ||
| + | **Value=index položky | index položky ''i'' spolu s indexem podpoložky ''s'' ve tvaru '''i[s]''' (i=0 odpovídá první položce, s=1 odpovídá první podpoložce - Value=i[0] je totéž jako Value=i) | ||
| + | **Output=Text položky | podpoložky | ||
| + | *lvSetSelected (výbere položky listview) | ||
| + | **Target=Parametry identifikující listview | ||
| + | **Value=index položky | středníkem oddělený seznam indexů položek | ||
| + | *lvSetUnselected (zruší výběr položek listview) | ||
| + | **Target=Parametry identifikující listview | ||
| + | **Value=index položky | středníkem oddělený seznam indexů položek | ||
| + | *sbGetCount (zjistí počet částí v statusbaru) | ||
| + | **Target=Parametry identifikující statusbar) | ||
| + | **Output=Počet částí | ||
| + | *sbGetText (vrátí text požadované části statusbar) | ||
| + | **Target=Parametry identifikující statusbar | ||
| + | **Value=Index požadované části (0 odpovídá první části) | ||
| + | **Output=Text části statusbaru | ||
| + | *setChecked (nastaví zaškrtnutí checkboxu/radiobuttonu) | ||
| + | **Target=Parametry identifikující komponentu (typicky typu Checkbox nebo Radiobutton) | ||
**Value=Požadovaný stav (0=nezaškrtnuto, nenulové celé číslo=zaškrtnuto) | **Value=Požadovaný stav (0=nezaškrtnuto, nenulové celé číslo=zaškrtnuto) | ||
| − | *setText | + | *setText (nastaví text objektu) |
| − | **Target= | + | **Target=Parametry identifikující komponentu nebo okno |
**Value=Text | **Value=Text | ||
| + | *setTimeout (nastaví timeout pro vyhledávání objektů) | ||
| + | **Value=Čas v sekundách | ||
| + | *tcGetCount (zjistí počet záložek v tabcontrol) | ||
| + | **Target=Parametry identifikující tabcontrol | ||
| + | **Output=Počet záložek | ||
| + | *tcGetCurrent (vrátí index aktuální záložky v tabcontrol) | ||
| + | **Target=Parametry identifikující tabcontrol | ||
| + | **Output=Index aktuální záložky | ||
| + | *tcGetText (vrátí text požadované záložky v tabcontrol) | ||
| + | **Target=Parametry identifikující tabcontrol | ||
| + | **Value=Index požadované záložky (0 odpovídá první záložce) | ||
| + | **Output=Text záložky | ||
| + | *tcSetCurrent (nastaví aktuální záložku v tabcontrol) | ||
| + | **Target=Parametry identifikující tabcontrol | ||
| + | **Value=Index požadované záložky (0 odpovídá první záložce) | ||
| + | <span id="target-"></span> | ||
| + | |||
| + | === Target === <!--T:11--> | ||
| − | + | <!--T:12--> | |
| − | Typ [[Datové typy#String | String]] | + | Typ [[Special:MyLanguage/Datové typy#String | String]] |
| − | Cíl příkazu. | + | <!--T:13--> |
| + | Cíl příkazu identifikovaný použitím parametrů: | ||
| + | *windowHandle | ||
| + | *windowClass | ||
| + | *windowText | ||
| + | *parentHandle | ||
| + | *parentClass | ||
| + | *parentText | ||
| + | *parentIndex | ||
| + | *handle | ||
| + | *class | ||
| + | *text | ||
| + | *index | ||
| + | Parametry jsou v seznamu odděleny středníkem, např. Target=windowClass=Notepad;class=Edit | ||
| + | <span id="value-"></span> | ||
| − | === Value === | + | === Value === <!--T:14--> |
| − | |||
| + | <!--T:15--> | ||
| + | Typ [[Special:MyLanguage/Datové typy#String | String]] | ||
| + | |||
| + | <!--T:16--> | ||
Hodnota parametru příkazu. | Hodnota parametru příkazu. | ||
| − | === Enabled === | + | === Enabled === <!--T:17--> |
| − | |||
| + | <!--T:18--> | ||
| + | Typ [[Special:MyLanguage/Datové typy#Number | Number]] | ||
| + | |||
| + | <!--T:19--> | ||
Povoluje nebo zakazuje příkaz. Při hodnotě 0 nebude příkaz proveden. | Povoluje nebo zakazuje příkaz. Při hodnotě 0 nebude příkaz proveden. | ||
| − | === PreWait === | + | === PreWait === <!--T:20--> |
| − | |||
| + | <!--T:21--> | ||
| + | Typ [[Special:MyLanguage/Datové typy#Number | Number]] | ||
| + | |||
| + | <!--T:22--> | ||
Prodleva v milisekundách před provedením příkazu. Nemá žádný vliv je-li Enabled=0. | Prodleva v milisekundách před provedením příkazu. Nemá žádný vliv je-li Enabled=0. | ||
| − | === PostWait === | + | === PostWait === <!--T:23--> |
| − | |||
| + | <!--T:24--> | ||
| + | Typ [[Special:MyLanguage/Datové typy#Number | Number]] | ||
| + | |||
| + | <!--T:25--> | ||
Prodleva v milisekundách po provedení příkazu. Nemá žádný vliv je-li Enabled=0. | Prodleva v milisekundách po provedení příkazu. Nemá žádný vliv je-li Enabled=0. | ||
| − | == Výstupní parametry == | + | == Výstupní parametry == <!--T:26--> |
| − | |||
| − | |||
| + | === Output === <!--T:27--> | ||
| + | |||
| + | <!--T:28--> | ||
| + | Typ [[Special:MyLanguage/Datové typy#String | String]] | ||
| + | |||
| + | <!--T:29--> | ||
Výstup příkazu | Výstup příkazu | ||
| + | |||
| + | == Wizard == <!--T:30--> | ||
| + | Tento příkaz má vlastního pomocníka pro nastavení (Wizard). Většina důležitých informací o komponentách, na které je WinDriver aplikován, je uživateli skryta. Wizard poskytuje nástroje umožňující tyto informace získat. | ||
| + | [[File:WinDriverWizard.png]] | ||
| + | # Obsahuje nejpoužívanější typy příkazů. Je zde možné požadovaný příkaz vybrat nebo ponechat sekci bez výběru a příkaz zvolit v nabídce Inspektoru u parametru [[#command-| Command]]. | ||
| + | # Definice cíle příkazu je založena na 3 záchytných bodech: identifikace okna (sekce Window), identifikace kontejneru obsahujícího cíl (sekce Parent) a identifikace samotného cíle (sekce Target), což je okno či komponenta, se kterou má WinDriver interagovat. Z techto polí s ohledem na stav jejich checkboxů je automaticky sestavena definice parametrů v poli Target Parameters. Ve většině případů postačí ponechat hodnoty tak, jak je dosadí funkce Pick. Za pozornost stojí hodnoty v polích Text Pokud např. má okno proměnlivý titulek (např. obsahuje název dokumentu nebo značku oznamující změnu dokumentu), je nutné check box u tohoto pole zrušit nebo hodnotu parametrizovat. Tlačítko '''Pick''' spustí režim získávání informací o komponentě pod kurzorem myši. Pokud je červeně orámována správná komponenta, klikněte na červený text PICK v levém horním rohu orámování. Hodnoty v této sekci budou dosazeny podle zjištěných informací. | ||
| + | # Pole Value odpovídá hodnotě parametru [[#value-| Value]]. Pokud je zvolen příkaz Command a pole Target Parameters označuje okno obsahující nabídku (Menu), lze použít tlačítko '''Commands''' k výběru položky nabídky a získání identifikátoru odpovídajícího příkazu, který bude dosazen do pole Value. Některé aplikace bohužel neumožňují zjištění textu položky menu. | ||
| + | </translate> | ||
Aktuální verze z 4. 3. 2025, 12:12
Obsah
Popis
Alias: WND
Spustí příkaz přes zprávy Windows API.
Odešlě příkaz určený parametrem Command přes zprávy Windows API. WinDriver je tedy použitelný pouze pro interakci s nativní Win32 aplikací a i v tomto případě je funkčnost závislá na její implementaci a použitých knihovnách. Výsledek závisí na vlastní reakci aplikace na zaslané zprávy (Windows Messages).
Vstupní parametry
Command
Typ String
Příkaz pro Windows API.
- cbGetCount (zjistí počet položek v nabídce comboboxu)
- Target=Parametry identifikující combobox
- Output=Počet položek
- cbGetCurrent (vrátí index právě zvolené položky)
- Target=Parametry identifikující combobox
- Output=Index zvolené položky
- cbGetText (vrátí text položky)
- Target=Parametry identifikující combobox
- Value=Index požadované položky (0 odpovídá první položce)
- Output=Text položky
- cbSetCurrent (nastaví index aktuální položky)
- Target=Parametry identifikující combobox
- Value=Index požadované položky (0 odpovídá první položce, -1 ruší výběr)
- click (vyvolá kliknutí)
- Target=Parametry identifikující komponentu (typicky typu Button)
- clickAsync (vyvolá kliknutí, nečeká na zpracování)
- Target=Parametry identifikující komponentu (typicky typu Button)
- command (vykoná příkaz)
- Target=Parametry identifikující okno
- Value=Id příkazu
- getChecked (zjistí stav checkboxu/radiobuttonu)
- Target=Parametry identifikující komponentu (typicky typu Checkbox nebo Radiobutton)
- Output=Stav (0=nezaškrtnuto, 1=zaškrtnuto)
- getCount (zjistí počet objektů)
- Target=Parametry identifikující komponentu(-y)
- Output=Počet nalezených objektů
- getHandle (zjistí handle objektu)
- Target=Parametry identifikující komponentu
- Output=Handle prvního nalezeného objektu
- getHandles (zjistí handle objektů)
- Target=Parametry identifikující komponentu(-y)
- Output=Čárkou oddělený seznam handlů nalezených objektů
- getText (vrátí text objektu)
- Target=Parametry identifikující komponentu nebo okno
- Output=Text objektu
- hcGetCount (zjistí počet položek v headeru)
- Target=Parametry identifikující header (např. handle=$(%WinDriver.WND_GetHeader.out:Output), kde WND_GetHeader je předchozí WinDriver s Command=lvGetHeaderHandle)
- Output=Počet položek
- hcGetText (vrátí text položky headeru)
- Target=Parametry identifikující header
- Value=Index požadované položky (0 odpovídá první položce)
- Output=Text položky
- lbGetCount (zjistí počet položek listboxu)
- Target=Parametry identifikující listbox
- Output=Počet položek
- lbGetCurrent (vrátí index aktuální položky)
- Target=Parametry identifikující listbox
- Output=Index aktuální položky
- lbGetSelected (vrátí index vybrané položky | indexy vybraných položek)
- Target=Parametry identifikující listbox
- Value=Pořadové číslo výběru | prázdný
- Output=Index vybrané položky | středníkem oddělený seznam indexů vybraných položek
- lbGetSelectedCount (vrátí počet vybraných položek listboxu)
- Target=Parametry identifikující listbox
- Output=Počet vybraných položek
- lbGetText (vrátí text položky listboxu)
- Target=Parametry identifikující listbox
- Value=Index požadované položky (0 odpovídá první položce)
- Output=Text položky
- lbSetCurrent (nastaví aktuální položku listboxu)
- Target=Parametry identifikující listbox
- Value=Index požadované položky (0 odpovídá první položce, -1 ruší výběr)
- lbSetSelected (výbere položky listboxu)
- Target=Parametry identifikující listbox
- Value=index položky | středníkem oddělený seznam indexů položek
- lbSetUnselected (zruší výběr položek listboxu)
- Target=Parametry identifikující listbox
- Value=index položky | středníkem oddělený seznam indexů položek
- lvGetCount (zjistí počet položek listview)
- Target=Parametry identifikující listview
- Output=Počet položek
- lvGetHeaderHandle (vrátí handle záhlaví listview - viz příkazy hc*)
- Target=Parametry identifikující listview
- Output=Handle záhlaví
- lvGetSelected (vrátí index vybrané položky | indexy vybraných položek)
- Target=Parametry identifikující listview
- Value=Pořadové číslo výběru | prázdný
- Output=Index vybrané položky | středníkem oddělený seznam indexů vybraných položek
- lvGetSelectedCount (vrátí počet vybraných položek listview)
- Target=Parametry identifikující listview
- Output=Počet vybraných položek
- lvGetText (vrátí text položky listview)
- Target=Parametry identifikující listview
- Value=index položky | index položky i spolu s indexem podpoložky s ve tvaru i[s] (i=0 odpovídá první položce, s=1 odpovídá první podpoložce - Value=i[0] je totéž jako Value=i)
- Output=Text položky | podpoložky
- lvSetSelected (výbere položky listview)
- Target=Parametry identifikující listview
- Value=index položky | středníkem oddělený seznam indexů položek
- lvSetUnselected (zruší výběr položek listview)
- Target=Parametry identifikující listview
- Value=index položky | středníkem oddělený seznam indexů položek
- sbGetCount (zjistí počet částí v statusbaru)
- Target=Parametry identifikující statusbar)
- Output=Počet částí
- sbGetText (vrátí text požadované části statusbar)
- Target=Parametry identifikující statusbar
- Value=Index požadované části (0 odpovídá první části)
- Output=Text části statusbaru
- setChecked (nastaví zaškrtnutí checkboxu/radiobuttonu)
- Target=Parametry identifikující komponentu (typicky typu Checkbox nebo Radiobutton)
- Value=Požadovaný stav (0=nezaškrtnuto, nenulové celé číslo=zaškrtnuto)
- setText (nastaví text objektu)
- Target=Parametry identifikující komponentu nebo okno
- Value=Text
- setTimeout (nastaví timeout pro vyhledávání objektů)
- Value=Čas v sekundách
- tcGetCount (zjistí počet záložek v tabcontrol)
- Target=Parametry identifikující tabcontrol
- Output=Počet záložek
- tcGetCurrent (vrátí index aktuální záložky v tabcontrol)
- Target=Parametry identifikující tabcontrol
- Output=Index aktuální záložky
- tcGetText (vrátí text požadované záložky v tabcontrol)
- Target=Parametry identifikující tabcontrol
- Value=Index požadované záložky (0 odpovídá první záložce)
- Output=Text záložky
- tcSetCurrent (nastaví aktuální záložku v tabcontrol)
- Target=Parametry identifikující tabcontrol
- Value=Index požadované záložky (0 odpovídá první záložce)
Target
Typ String
Cíl příkazu identifikovaný použitím parametrů:
- windowHandle
- windowClass
- windowText
- parentHandle
- parentClass
- parentText
- parentIndex
- handle
- class
- text
- index
Parametry jsou v seznamu odděleny středníkem, např. Target=windowClass=Notepad;class=Edit
Value
Typ String
Hodnota parametru příkazu.
Enabled
Typ Number
Povoluje nebo zakazuje příkaz. Při hodnotě 0 nebude příkaz proveden.
PreWait
Typ Number
Prodleva v milisekundách před provedením příkazu. Nemá žádný vliv je-li Enabled=0.
PostWait
Typ Number
Prodleva v milisekundách po provedení příkazu. Nemá žádný vliv je-li Enabled=0.
Výstupní parametry
Output
Typ String
Výstup příkazu
Wizard
Tento příkaz má vlastního pomocníka pro nastavení (Wizard). Většina důležitých informací o komponentách, na které je WinDriver aplikován, je uživateli skryta. Wizard poskytuje nástroje umožňující tyto informace získat.
- Obsahuje nejpoužívanější typy příkazů. Je zde možné požadovaný příkaz vybrat nebo ponechat sekci bez výběru a příkaz zvolit v nabídce Inspektoru u parametru Command.
- Definice cíle příkazu je založena na 3 záchytných bodech: identifikace okna (sekce Window), identifikace kontejneru obsahujícího cíl (sekce Parent) a identifikace samotného cíle (sekce Target), což je okno či komponenta, se kterou má WinDriver interagovat. Z techto polí s ohledem na stav jejich checkboxů je automaticky sestavena definice parametrů v poli Target Parameters. Ve většině případů postačí ponechat hodnoty tak, jak je dosadí funkce Pick. Za pozornost stojí hodnoty v polích Text Pokud např. má okno proměnlivý titulek (např. obsahuje název dokumentu nebo značku oznamující změnu dokumentu), je nutné check box u tohoto pole zrušit nebo hodnotu parametrizovat. Tlačítko Pick spustí režim získávání informací o komponentě pod kurzorem myši. Pokud je červeně orámována správná komponenta, klikněte na červený text PICK v levém horním rohu orámování. Hodnoty v této sekci budou dosazeny podle zjištěných informací.
- Pole Value odpovídá hodnotě parametru Value. Pokud je zvolen příkaz Command a pole Target Parameters označuje okno obsahující nabídku (Menu), lze použít tlačítko Commands k výběru položky nabídky a získání identifikátoru odpovídajícího příkazu, který bude dosazen do pole Value. Některé aplikace bohužel neumožňují zjištění textu položky menu.