Selenio: come utilizzo JavaScript per cancellare un valore da un campo modulo?
-
06-07-2019 - |
Domanda
Sto usando l'IDE selenio e il dispositivo Selenium-Fitnesse Bridge e sto provando a provare che quando cancello un valore predefinito da un campo modulo, il mio modulo visualizza un messaggio di errore.
Quindi, quando registro con l'IDE del selenio, ciò che fa è l'equivalente di dire al selenio di non scrivere nulla.
| type | text_field | |
Il problema è che l'apparecchiatura Fitnesse che sto usando si aspetta che il secondo argomento non sia nullo.
Esiste un modo in Selenio per "cancellare un valore" anziché " digitando nulla " ;?
Soluzione 2
L'ho usato per farlo funzionare. reg_start_date
è l'id del mio campo di input.
| storeEval | window.document.getElementById('reg_start_date').value = '' |
Dal riferimento al selenio:
Tieni presente che, per impostazione predefinita, lo snippet verrà eseguito nel contesto del "selenio" stesso oggetto, quindi
this
farà riferimento all'oggetto Selenium. Usawindow
per fare riferimento alla finestra della tua applicazione, ad es.window.document.getElementById ( 'foo')
Inoltre, evitare di racchiudere il codice javascript con javascript {}, non funzionerà.
Altri suggerimenti
Puoi farlo tramite JavaScript come tale:
| verifyEval | javascript{this.browserbot.getCurrentWindow().document.getElementById('CONTROL_ID').value = ''} ||
In effetti l'istruzione confirmEval ti consente di eseguire qualsiasi pezzo di javascript che desideri. Rende alcuni problemi difficili da realizzare con il selenio molto più semplice.
Ho usato questo tutorial (oggi ci crediate o no) per capire le cose fuori.
Abbiamo riscontrato questo problema anche all'inizio. Prova: | digitare | campo_testo | vuoto |
Cerca ulteriori informazioni sulla documentazione di Fitnesse per l'uso del bianco e del null.
:)