Selenium Fitnesse Bridge: come immagazzino ed eseguo l'eco di una variabile?
-
03-07-2019 - |
Domanda
Sto usando Selenium Fitnesse Bridge Fixture per scrivere test in Fitness per il selenio. È fantastico perché copre TUTTO le funzioni di Selenium. Tuttavia, il problema in cui mi imbatto è l'archiviazione di variabili come farei con Selenium IDE.
| !- fixtures.SeleniumFixture -!| | setup | http://www.google.com/ | *chrome /usr/lib/firefox-3.0.5/firefox | | open | http://www.google.com/ | | | storeLocation | here | | | echo | ${here} | |
Qualcosa di così semplice come dovrebbe funzionare bene, ma quando salvo il test ricevo un errore, variabile non definita.
| storeLocation | here | | | echo | undefined variable: here | |
Questo non ha senso. Sto definendo la variabile la linea prima di farla eco. Quando eseguo il test, ottengo:
| storeLocation | here | | | echo | undefined variable: here | undefined variable: here |
L'autore sta facendo lo stesso genere di cose con i suoi test . Perché questo non funziona per me?
Soluzione
Il problema è che Fitnesse si sta confondendo. Pensa che non stai definendo una variabile.
!define variable {variable} | echo | ${variable} | |
Il modo per aggirare la confusione di Fitnesse è sfuggire al nome della variabile circondandolo con! - - !.
| storeLocation | here | | | echo | ${!-here-!} | |
Questo ora farà eco alla risposta desiderata.
| !- fixtures.SeleniumFixture -!| | setup | http://www.google.com/ | *chrome /usr/lib/firefox-3.0.5/firefox | | open | http://www.google.com/ | | | storeLocation | here | | | echo | ${here} | http://www.google.com |