2012-01-19 18 views
9

Czy użytkownik może podać dane wejściowe podczas uruchamiania selenowego skryptu IDE? Na przykład Jeśli istnieje pole nazwy, czy możemy otworzyć pole wprowadzania przy każdym uruchomieniu skryptu, aby użytkownik mógł podać swoje dane dla pola nazwy?Ręczne wprowadzanie danych przez użytkownika podczas uruchamiania selenowego skryptu IDE

Daj mi znać, czy jest to możliwe, czy nie ..

Jeśli tak, to proszę mi zaproponować rozwiązanie.

Dzięki z góry

Odpowiedz

16

Można użyć następującego skryptu do wywołania javascript wiersz, aby uzyskać wartość

<tr> 
    <td>storeEval</td> 
    <td>javascript{prompt(&quot;Please enter your FirstName&quot;)}</td> 
    <td>firstName</td> 
</tr> 

Następnie dostępu wartość jest przypadek użycia ${firstName}

0

Można zastosować technikę zaproponował here który używa selen WebDriver i Java BufferedReader. Nie sądzę, żeby można go było dostosować do Selenium IDE, ale technika powinna działać dobrze z Selenium RC.

Podstawowym założeniem jest: Polecenia

  • Issue Selen aż do punktu, w którym chcesz przechwycić dane wprowadzone przez użytkownika.
  • Wywołanie następującego kodu w celu przechwycenia danych wprowadzonych przez użytkownika do obiektu BufferedReader.

    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); reader.readLine();

  • Kontynuuj Selen poleceń

(Uwaga, jeśli używasz C#, jest dyskusja here jak używać Console.In.ReadLine(); zamiast BufferedReader).

0

Od kiedy konkretnie zapytałeś o Selenium IDE, odpowiedź brzmi: nie. Ale możesz można wstrzymać skrypt i niech użytkownik wpisz swoją nazwę, a następnie skrypt kontynuować. Słyszałem o ludziach używających tej techniki do obsługi CAPTCHA, których oczywiście nie można łatwo zautomatyzować.

+0

Tak, masz rację..i spróbuje tego rozwiązania..dzięki –

0

tylko drobne modyfikacje do odpowiedzi Stephen Binns . Używam selen IDE 2.5.0 i mój test wygląda tak:

<tr> 
    <td>store</td> 
    <td>javascript{prompt(&quot;password&quot;)}</td> 
    <td>password</td> 
</tr> 

Bez javascript {} to nie poprosi.

0

Proponowane rozwiązanie działa prawidłowo dla IDE selenu (testowane na 2,5)

<tr> 
    <td>store</td> 
    <td>javascript{prompt(&quot;password&quot;)}</td> 
    <td>password</td> 
</tr> 
1

w selen IDE 2.8.0: przechwytywania sesja wprowadzania nazwy użytkownika i hasła. Edytuj komendę dla każdego i zmień z "typ" na "waitForText" i usuń wartości w polach wartości wcześniej zapisanych dla logowania i hasła. Ponownie uruchom zapisany skrypt testowy z IDE.

+0

Ponieważ lubię przyjęte rozwiązanie, ten jest lepiej uzyskać w pełni zaciemnione hasło. – JuanitoMint

0

Użyj wątku.Sen (20000); Spowoduje to zamrożenie wszystkiego przez 20 sekund i możesz wprowadzić dowolne pola, które chcesz wprowadzić ręcznie w tym okresie czasu.

Powiązane problemy