QTP spracováva rôzne udalosti myši fireEvent

Qtp Handles Various Mouse Events Fireevent



robí Web test Kedy budú značky HTML na stránke obsahovať rôzne udalosti: kliknutie (onclick), dvojité kliknutie (onDblClick), agregácia kurzorov (OnBlur), onchange, onfocus, onmousedown, onmouseup, onmouseover, onmouseout, onsubmit, onreset, onpropertychange atď. . Použitím QTP Počas nahrávania sa niektoré udalosti nemusia dať zaznamenať. V tejto chvíli môžete vykonať určité nastavenia, QTP / nástroje / Konfigurácia záznamu webových udalostí / vlastné nastavenia / udalosť / pridať môžu pridať udalosti, ktoré chcete zaznamenať. Samozrejme, tento článok Predmet nie je vyššie uvedený. Najprv mi dovoľte opísať môj problém. V projekte, ktorý bol vytvorený pomocou ligerUI, som narazil na kontrolu zoznamu. Dvojitým kliknutím na riadok v zozname sa prečíta obsah tohto riadku a potom sa údaje priradia k iným značkám na stránke vrátane niektorých skrytých polí. . Najskôr, keď som nahrával, som zistil, že udalosť dvojitého kliknutia sa nedá zaznamenať (bola nastavená vyššie uvedená konfigurácia nahrávania webových udalostí), preto som použil záznam na nízkej úrovni a udalosť dvojitého kliknutia bola úspešne zaznamenaná. Potom sa počas prehrávania zistilo, že udalosť dvojitého kliknutia bola neplatná a nie podľa očakávaní. Poklepal som na položku a ďalšie prvky na stránke získali svoju hodnotu. Moja prvá operácia je, pretože viem, že logika implementovaná na celej stránke je získať jedinečný identifikátor každej položky, priradiť túto hodnotu skrytému poľu stránky a potom postupovať pracovných miest Všetko môže prebiehať hladko. Pretože je tu zahrnutá skrytá doména, vieme, že QTP používa model rozpoznávania objektov. Vedomie je také, že dokáže rozpoznať iba predmety, ktoré vidí a objaví sa na povrchu. Tu je prijatá metóda objektu DOM. DOM získava objekt priamo zo zdrojového kódu (stránka HTML). Preto je možné v QTP ľahko prečítať rôzne skryté polia na stránke, rôzne objekty, ktoré je možné získať prostredníctvom značiek, ID, atribútov atď. Objekt DOM je tiež veľmi jednoduchý, stačí pridať nadradený objekt „.Object“ za objekt, ktorý chcete identifikovať, a potom môžete použiť getElementById („id“), document.getElementById („id“), getElementsByName („ html tag ') a ďalšie metódy získavania objektov, aby na stránke robili, čo chcú. Napríklad tu sa môj implementačný kód stane:
1 set obj = Browser ('Browser'). Page ('Page'). Object.getElementById ('verifyID') 2 obj.value = '0101002699'
Toto je iba povrchné riešenie problému, ale hodnota na stránke, kde by sa mala zobraziť správna hodnota, je stále prázdna. To znamená, že musíme prísť na metódu, ktorá dokáže problém skutočne vyriešiť. Teraz sme zaviedli metódu fireevent. Fireevent je metóda v JS, nasledujúca je vysvetlenie z MSDN Účinok vykonania požiarnej udalosti je „rovnaký ako“ vykonanie súvisiacich operácií s cieľovým prvkom. Dokáže simulovať všetky druhy operácií vrátane klikania, ktoré sú uvedené na začiatku článku. Riešením problému, s ktorým som sa stretol vyššie, je:
Nastaviť zoznam = Prehliadač („Prehliadač“). Stránka („Stránka“). WebElement („zoznam“). Objekt list.document.getElementById („maingrid4 | 2 | r1001“). Fireevent („ondblclick“)
Týmto spôsobom bol problém s prehrávaním udalosti s dvojitým kliknutím, ktorý som chcel, vyriešený hladko.

Najnovší obsah nájdete na autorovej stránke GitHub: http://qaseven.github.io/