Testowałem w Selenium IDE. Jest bardzo łatwy w użyciu i stworzyłem z nim kilka przypadków testowych. Szukałem Google, próbując znaleźć sposób na powtórzenie moich testów automatycznie. Widziałem rozwiązanie z gotolabel, pętle itp. Ale nie mogłem zrobić żadnego z nich działa. Czy ktoś może dać mi wskazówkę, jak zapętlić mój test raz na n
razy lub zapętlić na zawsze. Doceniam każdą pomoc.Jak zapętlić testy w Selenium IDE?
Odpowiedz
Wykonaj:
- Pobierz ten plik: js https://github.com/darrenderidder/sideflow/blob/master/sideflow.js
- uruchamiania selen IDE od Firefoksa i otwórz menu opcji.
- Prześlij plik .js do pola "Selenium Core extensions (user-extensions.js)".
Plik js zawiera funkcje goto, gotoIf i while w selekcji IDE. Poniższy przykład pokazuje prosty pętli:
<tr>
<td>getEval</td>
<td>index = 0;</td>
<td></td>
</tr>
<tr>
<td>while</td>
<td>index < 10;</td>
<td></td>
</tr>
<tr>
<td>storeEval</td>
<td>index</td>
<td>value</td>
</tr>
<tr>
<td>echo</td>
<td>${value}</td>
<td></td>
</tr>
<tr>
<td>getEval</td>
<td>index++;</td>
<td></td>
</tr>
<tr>
<td>endWhile</td>
<td></td>
<td></td>
</tr>
jak stwierdzono w odpowiedzi powyżej, zainstalować rozszerzenie użytkownika, który będzie dodać funkcjonalność pętli do testów IDE selen. Poniższy przykład pokazuje prosty pętli:
<tr>
<td>getEval</td>
<td>index = 0;</td>
<td></td>
</tr>
<tr>
<td>while</td>
<td>index < 10;</td>
<td></td>
</tr>
<tr>
<td>storeEval</td>
<td>index</td>
<td>value</td>
</tr>
<tr>
<td>echo</td>
<td>${value}</td>
<td></td>
</tr>
<tr>
<td>getEval</td>
<td>index++;</td>
<td></td>
</tr>
<tr>
<td>endWhile</td>
<td></td>
<td></td>
</tr>
To jest przykład dla sampcop użytkownika w celu zautomatyzowania skarg spam za pomocą etykiet i etykiet goto polecenia:
1-ty zalogować spamcop.net
2nd opcję Zgłoś spam używać
3-te uruchomić ten skrypt
<!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="http://www.spamcop.net/sc" />
<title>testecase</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">testecase</td></tr>
</thead><tbody>
<tr>
<td>label</td>
<td>target1</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Report Now</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>//input[@value='Send Spam Report(s) Now']</td>
<td></td>
</tr>
<tr>
<td>gotoLabel</td>
<td>target1</td>
<td></td>
</tr>
</tbody></table>
</body>
</html>
nie działa, czy jest zależny od wtyczki? –
mój skrypt zależy od rozszerzenia rdzenia selenu przez Prashanta Vadhera – HelioSilva
Jestem nowy w Selenium (zacząłem używać go kilka minut temu). Po szybkim przeszukiwaniu Google dla "pętli selenu" pojawiło się to pytanie stackoverflow.com. Natychmiast wskoczyłem na przedłużenie i zacząłem używać pętli. Przyjęta odpowiedź jest bardzo pomocna. Chciałem jednak wskazać coś innego dla innych, którzy są nowicjuszami selenu (i potkną się na tej stronie).
Stworzyłem prosty test dla prostej strony internetowej. Dodałem pętlę, aby test był uruchamiany przez czas nieokreślony (dopóki nie zatrzymałem go). Zauważyłem jednak, że w ten sposób liczniki Runs/Failures w interfejsie graficznym Selenium nie zwiększają się z każdą pętlą (zgaduję, ponieważ pojedynczy przypadek testowy nigdy nie był uruchomiony do końca, po prostu pętla trwała przez czas nieokreślony). Więc poszperałem trochę dalej. Moim celem było pozostawienie tego samego testu uruchomionego przez długi czas (kilka godzin lub ewentualnie na noc), aby sprawdzić, czy nie ma żadnych błędów (w tej chwili ścigam sporadyczny błąd).
Najprostszy sposób (dla mnie, po kilku minutach wyszukiwania/eksperymentowania) polegał na wykonaniu następujących czynności (prawdopodobnie żadne wtyczki nie są potrzebne, chociaż załączona wtyczka jest zdecydowanie pomocna, jeśli chcesz uruchomić kilka małych pętli w teście przypadek):
- Zapisz przypadku testowego do pliku tekstowego
- zapisać zestaw testowy do pliku tekstowego
- otworzyć plik tekstowy zestawu testowego w edytorze tekstowym
- skopiuj i wklej przypadek testowy wiele razy w ramach zestawu testów (na przykład tysiąc d razy)
- otwórz zestaw testów w selen i uruchomić zestaw testów
Teraz mam ten sam prosty zestaw testowy działa wiele razy, i tras/Awarie liczniki są inkrementacji zgodnie z oczekiwaniami (bez potrzeba dla każdej pętli).
Użyj Flow Control plug-in for Firefox. Po ponownym uruchomieniu przeglądarki Firefox użyj polecenia label
, aby oznaczyć punkt w skrypcie i polecenie gotolabel
, aby tam przeskoczyć.
Na przykład:
lub jeśli wolisz zobaczyć kod źródłowy, to jest etykieta:
<tr>
<td>label</td>
<td>start</td>
<td></td>
</tr>
A to powoduje, że punkt wykonanie przeskoczyć z powrotem do etykieta:
<tr>
<td>gotolabel</td>
<td>start</td>
<td></td>
</tr>
Istnieją inne polecenia, które można Zobacz na stronie wtyczki i udokumentowane w Selenium IDE: Flow Control GitHub project.
plik zestawu testowego jest tylko plik HTML, więc po prostu wykonaj następujące czynności:
<tr><td><a href="testCase1.html">testCase1</a></td></tr>
<tr><td><a href="sameStep.html">sameStep</a></td></tr>
<tr><td><a href="testCase2.html">testCase1</a></td></tr>
<tr><td><a href="sameStep.html">sameStep</a></td></tr>
znalazłem ten poradnik, aby być bardziej pomocny, ponieważ niektóre z powyższych odpowiedzi są po prostu „iść do” rozwiązań, zamiast iteracyjnych konstruktów zapętlenie:
http://www.software-testing-tutorials-automation.com/2013/07/example-of-while-and-endwhile-loop.html
- 1. Jak zainstalować Selenium IDE w Mozilla Firefox
- 2. Jak wykonać testy Selenium 2 w Jenkinsach
- 3. Selenium IDE: Jak uzyskać dzisiejszą datę?
- 4. Testy automatyzacji Selenium w crm 2015
- 5. Jak wykonać wyrażenie regularne w komendzie waitForPopUp w IDE Selenium?
- 6. Jak sprawdzić, czy styl został zastosowany w Selenium IDE
- 7. Czy usunąć pliki cookie sesji za pomocą Selenium IDE?
- 8. "VerifyTextPresent" zwracający niepoprawny wynik dla Selenium IDE
- 9. Jak mogę odczytać zmienne z puli danych z Selenium IDE?
- 10. Jak zapętlić audio w phonegap?
- 11. Selenium IDE - Jak sprawdzić, czy element jest (CSS) widoczny?
- 12. Selenium IDE - Wprowadzanie wartości przechowywanych w tablicy do pola tekstowego?
- 13. Jak uniknąć "StaleElementReferenceException" w Selenium?
- 14. Jak zapętlić nazwy pól klasy
- 15. Selenium IDE - zestaw testów zatrzymania działający po błędzie
- 16. Jinja2 - Jak zapętlić listę json?
- 17. Selenium kliknij łącze
- 18. Jak zapętlić obiekt klucz/wartość w javascript
- 19. Jak zapętlić kolejkę dźwięków w AVQueuePlayer?
- 20. Jak zapętlić ten słownik w Ansible?
- 21. Jak zapętlić wszystkie zmienne w VelocityContext?
- 22. jak zapętlić w liście Pythona (odliczanie)
- 23. Jak uzyskać macierzysty rejestrator w Selenium WebDriver
- 24. Jak zainstalować ChromeDriver na Windows 10 i uruchomić testy Selenium w przeglądarce Chrome?
- 25. Jak mogę uruchomić testy Selenium WebDriver w osadzonej przeglądarce QT Webkit?
- 26. Jak zapętlić elementy iframe za pomocą jquery?
- 27. Jak zapętlić elementy statyczne StackPanel WPF?
- 28. Jak zapętlić pliki za pomocą Pythona?
- 29. Jak zapętlić dane JSON zwrócone przez jquery?
- 30. mysqli przygotowane oświadczenie, jak zapętlić zestaw wyników
To naprawdę miłe w coś kura "po prostu działa". – fool4jesus
Nie działa dla mnie. Selenium IDE mówi "[błąd] Nieznane polecenie:" while ". –