2016-05-04 7 views
0

Ich verwende Selen mit Python. Ich schreibe einen Funktionstest, in dem ich überprüfen möchte, dass wenn ein Benutzer auf ein Textfeld klickt, es seinen Inhalt löscht.Selen: check textarea wird auf Klick gelöscht

Dies ist der HTML-Code für den Textbereich:

<textarea id="id_textarea" cols="50" rows="10" onclick="this.value=''">Enter some text</textarea> 

Es ist in meinem Browser funktioniert, aber ich kann es nicht mit Selen und mein Test nicht immer und immer wieder bekommen zu arbeiten. Das ist mein Python-Code:

# User clicks on the text area which removes its content. 
input_textarea.click() 
self.assertEqual(input_textarea.text, '') 

Beachten Sie, dass mein Punkt ist nicht die Selen input_textarea.clear() Funktion zu verwenden, wie ich will genau prüfen, ob der HTML-Code, um diesen Teil behandelt.

Jede Hilfe wäre willkommen.

Ben

Antwort

2

Sie get_attribute('value') Methode statt text verwenden sollte:

input_textarea.click() 
self.assertEqual(input_textarea.get_attribute('value'), '') 

P. S. Ich nehme an, dass input_textarea ist so etwas wie driver.find_element_by_id('id_textarea')

+0

Totally works! Vielen Dank. Würdest du mich bitte aufklären und mir sagen, warum ich 'text' nicht verwenden darf und wann ich es benutzen soll? – blaurent

+3

@binoua Text ist für den Text innerhalb der Tags eines Elements, während der gesuchte Text nicht innerhalb der Tags ist. Daher müssen Sie Wert verwenden. – RemcoW