Selenium

Re: Selenium

Postprzez LadyRoot » 7 stycznia 2009, o 10:12

Mam wątpliwości co do użyteczności Selenium dla moich celów. Potrzebuję skryptu, który przejdzie za mnie całość transakcji zakupowej w serwisie, łącznie z przekierowaniami na strony np. eCard-u, wpisaniem danych i powrotem do serwisu macierzystego. Potrafię przygotować taki skrypt w Selenium IDE, ale nie potrafię wyobrazić sobie, w jaki sposób mogłabym go odpalać automatycznie i raportować jego wynik (interesuje mnie monitoring działania wszystkich modułów serwisu, odpalany przypuśćmy co godzinę z poziomu cron-a jako automatyczna transakcja testowa). Czy da się coś takiego zrobić, czy jednak szukać innego rozwiązania? Nie jestem programistą (znam tylko C i C++) i nie bardzo radzę sobie z obsługą niespecjalnie dobrze udokumentowanego Selenium z poziomu C#, o Javie nie wspominając. Z linii poleceń działa wywołanie engine'u i skrypty BadBoy-a, ale ten nie potrafi sobie poradzić z transakcjami tego typu. Czy macie jakieś pomysły, jak zrealizować taki monitoring?
pozdrawiam
LadyRoot
Avatar użytkownika
LadyRoot
 
Posty: 9
Dołączył(a): 13 listopada 2008, o 15:54
Lokalizacja: Warszawa

Instrukcja Selenium

Postprzez Darkin1 » 12 lutego 2009, o 11:13

Selenium RC

Aby uruchomić nagrane wcześniej plan testowy tworzymy plik skryptowy

RunSelenium.cmd
Kod: Zaznacz cały
java -jar "C:\selenium-RC-2\selenium-server-1.0-beta-2\selenium-server.jar" -htmlSuite "*chrome C:\Program Files\Mozilla Firefox\firefox.exe" "http://wp.pl" "C:\TS\wp\TEST.html" "C:\TS\wp\RESULTS.html"


java -jar "<sciezka dostepu do katalogu>\selenium-server.jar" -htmlSuite "<sciezak dostepu do przegladarki>" "<strona poczatkowa testu>" "<sciezka dostepu do pliku z przypadkami testowymi>" "<sciazka dostepu do pliku z logami z testu>"


Możliwe ścieżki do przeglądarek:
- Firefox 2
*chrome C:\Program Files\Mozilla Firefox2\firefox.exe
- Firefox 3
*chrome C:\Program Files\Mozilla Firefox\firefox.exe
- Opera
*opera C:\Program Files\Opera\opera.exe
- IE 7
*iehta

Oczywiście ustawiamy tutaj swoje ścieżki dostępu do przeglądarek, można też próbować z takimi wywołaniami przeglądarek:
*firefox
*mock
*firefoxproxy
*chrome
*iexploreproxy
*pifirefox
*iexplore
*firefox3
*safariproxy
*googlechrome
*konqueror
*firefox2
*safari
*piiexplore
*opera
*iehta
*custom

Teraz tworzymy plik z listą przypadków testowych

TEST.html
Kod: Zaznacz cały
<table> 
   <tr> 
      <td>Test suite for the whole application</td> 
   </tr> 
   <tr> 
      <td><a href="wp.html" target="testFrame">Test</a></td> 
   </tr> 
</table>


Jest jeszcze potrzebny plik z testem nagranym na FF

wp.html
Kod: Zaznacz cały
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="" />
<title>wp</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">wp</td></tr>
</thead><tbody>
<tr>
   <td>open</td>
   <td>/</td>
   <td></td>
</tr>
<tr>
   <td>clickAndWait</td>
   <td>link=Film</td>
   <td></td>
</tr>
<tr>
   <td>clickAndWait</td>
   <td>//img[@alt='Recenzje']</td>
   <td></td>
</tr>

</tbody></table>
</body>
</html>


Tworzymy czysty plik gdzie bedą zapisywane rezultaty naszego testu

RESULTS.html


Teraz odpalamy w konsoli nasz plik RunSelenium.cmd

np.
C:\TS>RunSelenium.cmd


Oczywiście do uruchomienia selenium jest potrzebne wgranie Javy, ale o tym juz chyba nie musze mówić ;]
Darkin1
 

Re: Selenium

Postprzez srv » 19 lutego 2009, o 17:57

Witam,

mam pewien problem a właściwie nawet dwa. Używam selenium do automatyzacji testów stron www, jednak pojawił się pewien kłopot. Selenium nie radzi sobie dobrze ze stronami (właściwie programami) internetowych zbudowanych w oparciu o ramki, co zresztą specjalnie nie dziwi. Właściwie problem stanowi lokalizowanie poszczególnych elementów.

Jest jakiś sprawdzony sposób na jednoznaczne lokalizowanie elementów bądź wybór ramki w ramach, której będziemy się poruszać ?? Ewentualnie może być jakiś inny program, ważne był obsługiwał zmienne, pętle i asercje

A druga sprawa nie co bardziej ciekawe i pilna.

Selenium IDE oferuje możliwość nagrywania testów w języku c# na platformę .NET, które następnie można wrzucić do VS 2005 i odpowiednio modelować.
Pytanie jak odtwarzać takie testy, najlepiej przy wykorzystaniu Selenium RC?? Jedyny opisany tutaj sposób oferuję odtwarzanie testów nagranych / napisanych w standardowym html co nie jest specjalnie wygodne, zwłaszcza jeśli chodzi o wielokrotne wykorzystanie kodu i generowanie losowych danych wejściowych.
srv
 

Re: Selenium

Postprzez Jubby » 1 kwietnia 2009, o 13:29

Widzę, że niektórzy z was posiadają dużo informacji na selenium, jeśli posiadacie jakieś ciekawe informacje na temat tego narzędzia: helpy, tutoriale itp. to proszę o wrzucenie ich na forum lub podesłanie na przemyslaw.soltys@gmail.com
Jubby
 

Re: Selenium

Postprzez ewa » 19 sierpnia 2009, o 09:49

Witam, czy są dobre materiały odnośnie Selenium IDE w języku polskim. Jeśli ktoś znalazł- bardzo proszę o namiary.
ewa
 
Posty: 1
Dołączył(a): 19 sierpnia 2009, o 09:42

Re: Selenium

Postprzez streser » 19 sierpnia 2009, o 15:18

srv napisał(a):mam pewien problem a właściwie nawet dwa. Używam selenium do automatyzacji testów stron www, jednak pojawił się pewien kłopot. Selenium nie radzi sobie dobrze ze stronami (właściwie programami) internetowych zbudowanych w oparciu o ramki, co zresztą specjalnie nie dziwi. Właściwie problem stanowi lokalizowanie poszczególnych elementów.

Jest jakiś sprawdzony sposób na jednoznaczne lokalizowanie elementów bądź wybór ramki w ramach, której będziemy się poruszać ?? Ewentualnie może być jakiś inny program, ważne był obsługiwał zmienne, pętle i asercje


Wystarczy użyć funkcji
Kod: Zaznacz cały
selenium.SelectFrame("Nazwa ramki")

później już poruszasz się tylko wewnątrz danej ramki i możesz używać nazw linków, przycisków etc. Ewentualnie możesz pokusić się o używanie w testach XPathów.

srv napisał(a):Selenium IDE oferuje możliwość nagrywania testów w języku c# na platformę .NET, które następnie można wrzucić do VS 2005 i odpowiednio modelować.
Pytanie jak odtwarzać takie testy, najlepiej przy wykorzystaniu Selenium RC?? Jedyny opisany tutaj sposób oferuję odtwarzanie testów nagranych / napisanych w standardowym html co nie jest specjalnie wygodne, zwłaszcza jeśli chodzi o wielokrotne wykorzystanie kodu i generowanie losowych danych wejściowych.


Musisz mieć aplikację postawioną w tej samej lokalizacji co selenium-server. Ściągasz sobie selenium-server.jar ze strony selenium (google it). wrzucasz do katalogu np. vendor w aplikacji. wchodzisz do tego katalogu i odpalasz server - w kosoli:
Kod: Zaznacz cały
java -jar selenium-server.jar

To powinno wystarczyć (tzn. prawie zawsze działa).
Teraz wchodzisz do katalogu aplikacji i odpalasz skrypt z testem, w zależności od języka np w Ruby jest to:
Kod: Zaznacz cały
ruby ./tests/selenium/nazwa_pliku.rb
streser
 
Posty: 47
Dołączył(a): 1 października 2008, o 10:06
Lokalizacja: Kraków

Re: Selenium

Postprzez Gość » 5 grudnia 2009, o 17:42

Hej mam problemmm
uruchamiam *.bat

echo @off
java -jar C:\sel\selenium-remote-control-1.0.1\selenium-server-1.0.1\selenium-server.jar -htmlSuite "*iexplore" "http://www.google.pl" "C:\sel\test.html" "C:\sel\result.html"
pause

i mam BŁAD
'this.link' jest pusty lub nie jest obiektem
Kod: 0
URL: file//C:\Dokume~1\User\USTAW~1\Temp\customProfile444078\core\TestRunner.hta

?? moze ktos ma jakis pomysl

DOdam ze pod innymi przegladarkami blad nie wystepuje ale nie mozna uruchomic testu ;]
Gość
 

Re: Selenium

Postprzez kochin » 24 lutego 2010, o 14:51

Mam problem z Selenium. Mam listę 10 pozycji na liście. Przy każdej pozycji jest ikonka "Zarządzanie" w alt.

Chce kliknąc po kolei w te ikonki. Z pierwszą nie ma problemu, komenda click i value //img[@alt='Zarządzaj uprawnieniami']

Jednak mam problem z kolejnymi. W jakis posób za pomocą XPATH kliknąc np. w drugą ikonkę??
kochin
 
Posty: 2
Dołączył(a): 8 października 2008, o 10:42

Re: Selenium

Postprzez streser » 2 marca 2010, o 18:38

kochin napisał(a):Mam problem z Selenium. Mam listę 10 pozycji na liście. Przy każdej pozycji jest ikonka "Zarządzanie" w alt.

Chce kliknąc po kolei w te ikonki. Z pierwszą nie ma problemu, komenda click i value //img[@alt='Zarządzaj uprawnieniami']

Jednak mam problem z kolejnymi. W jakis posób za pomocą XPATH kliknąc np. w drugą ikonkę??



Kod: Zaznacz cały
click //li[2]//img[@alt='Zarządzaj uprawnieniami']
click //li[3]//img[@alt='Zarządzaj uprawnieniami']


itd.

Powinno wystarczyć...
Proponuje poczytać o XPath'ach w selenium jeśli potrzebujesz czegoś bardziej skomplikowanego...
streser
 
Posty: 47
Dołączył(a): 1 października 2008, o 10:06
Lokalizacja: Kraków

Re: Selenium

Postprzez kochin » 5 marca 2010, o 12:28

Napisałem "lista" w przenośni. Tak naprawdę to jest automatycznie generowana tabela i przez to xpath dla niej wygląda kosmicznie i zmienia sie przy najmniejszej zmianie listy.

Jednak znalazłem dobre rozwiązanie. Nie wiedziałem dlaczego jesli chce trafić w druga ikonę to po wpisaniu //img[@alt='Zarządzaj uprawnieniami'][2] w pole target to nie znajduje mi elementu.

Trzeba wpisać xpath=(//img[@alt='Zarządzaj uprawnieniami'])[2] w pole target i wszystko działa bez zabawy w kosmiczne xpathy dla tabel.

Może się komuś przyda.
kochin
 
Posty: 2
Dołączył(a): 8 października 2008, o 10:42

Poprzednia stronaNastępna strona

Powrót do Automatyzacja / Automatization

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość

cron