Kezelés böngésző pop-up ablakok szelén

szavazat
20

Mi fut szelén regressziós tesztek ellen meglévő kód alapja, és egyes képernyők web alkalmazás számára a pop-up köztes lépéseket.

Jelenleg az utasításokat használhatja a teszt:

// force new window to open at this point - so we can select it later
selenium().getEval(this.browserbot.getCurrentWindow().open('', 'enquiryPopup'));
selenium().click(//input[@value='Submit']);
selenium().waitForPopUp(enquiryPopup, getWaitTime());
selenium().selectWindow(enquiryPopup);

... ami működik a legtöbb időt . Esetenként a teszt sikertelen lesz, a waitForPopUp()összhangba

com.thoughtworks.selenium.SeleniumException: Permission denied

Tud valaki arra utalnak, hogy jobb, megbízhatóbb módszer?

Is, mi elsősorban fut ezeknek a vizsgálatoknak az IE6 és 7.

A kérdést 19/09/2008 01:44
a forrás felhasználó
Más nyelveken...                            


5 válasz

szavazat
1

Ha fut a * iehta módban, akkor fogsz befut néhány hibák itt-ott. Futunk szelén a munkám, és úgy tűnik, hogy sok kérdés IE és AJAX.

Azonban úgy hangzik, mint a probléma, akkor fut be az egyik, ahol a szelén megpróbál hozzáférni egy komponens egy másik ablakban, mielőtt teljesen betölti fel. Nem vagyok biztos benne, mi az alapértelmezett időkorlát tartományban van állítva, de érdemes kipróbálni növelve azt a 60 (60000ms) másodpercig vagy úgy, hogy már a kérdést.

Más, mint hogy azt javasoljuk, fut a teszteket a Firefox böngészőben (* króm) közül, mivel sokkal megbízhatóbb eredményt, de néha egyszerűen nem lehetséges, mivel az üzleti követelményeknek.

Válaszolt 19/09/2008 02:00
a forrás felhasználó

szavazat
0

Csak próbáltak még egy szelén funkció windowFocus():

// force new window to open at this point - so we can select it later
selenium().getEval("this.browserbot.getCurrentWindow().open('', 'enquiryPopup')");
selenium().click("//input[@value='Submit']");
selenium().windowFocus("enquiryPopup");
selenium().waitForPopUp("enquiryPopup", getWaitTime());
selenium().selectWindow("enquiryPopup");

A teszt sikeres volt, ha futottam helyben, de csak azokkal metódushívások - létrehozása / fókusz / wait / select.

Én hagyom, a build szervert futtatni a teszteket, és ha ez sikerül is, ott leszek, hogy egy könyvtári függvény belőle ...!

Válaszolt 19/09/2008 02:43
a forrás felhasználó

szavazat
-1

Vegyél fel néhány várakozás állítások körül hívások, amelyek okozza a problémákat.

Elegem ugyanazok a hibák előtt és csak úgy volt képes megbízhatóan megoldja őket volt azáltal, hogy a hívásokat System.Threading.Thread.Sleep (5000) ..

Válaszolt 19/09/2008 13:18
a forrás felhasználó

szavazat
3

Működik!! Csak, hogy könnyebb az emberek, akik inkább selenese.

Ez nekem dolgozott a IE7 (normál üzemmód).

Mi egy rohadt szóváltás. Köszönöm a spagetti szörny az égen SO vagy nincs, ahogy én nyertem volna ezt dolgozó IE.

<tr>
    <td>getEval</td>
    <td>selenium.browserbot.getCurrentWindow().open('', 'windowName');</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>buttonName</td>
    <td></td>
</tr>
<tr>
    <td>windowFocus</td>
    <td>windowName</td>
    <td></td>
</tr>
<tr>
    <td>waitForPopUp</td>
    <td>windowName</td>
    <td>3000</td>
</tr>
<tr>
    <td>selectWindow</td>
    <td>windowName</td>
    <td></td>
</tr>
Válaszolt 09/01/2009 17:40
a forrás felhasználó

szavazat
0

Kellett, hogy válasszon ki egy iframe-en belül egy felugró ablakot, és töltse ki az űrlapot. Volt baj a selectWindow cmd ahol szelén nem tudta megtalálni a iframe, így eltávolítottam a parancsot.

Ez selenese jól működött nekem (ahol az iframe cím és id = account_frame):

<tr>
  <td>click</td>
  <td>//a[@class='item_add']</td>
  <td></td>
</tr>
<tr>
  <td>windowFocus</td>
  <td>account_frame</td>
  <td></td>
</tr>
<tr>
  <td>waitForPopUp</td>
  <td>account_frame</td>
  <td>10000</td>
</tr>
Válaszolt 21/12/2009 17:58
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more