seleniumfixturesfitnesseselenium-fitnesse-bridge

Selenium: How do I use javascript to clear a value from a form field?


I'm using the selenium IDE and the Selenium-Fitnesse Bridge fixture and I'm trying to test that when I clear a default value out of a form field, my form displays an error message.

So when I record with the Selenium IDE, what it does is the equivalent of telling Selenium to type nothing.

| type | text_field |  |

The problem with this is that the Fitnesse fixture I'm using expects that second argument to not be null.

Is there a way in Selenium to "clear a value" rather than "typing nothing"?


Solution

  • I used this to get it to work. reg_start_date is the id of my input field.

    | storeEval | window.document.getElementById('reg_start_date').value = '' |
    

    From the selenium reference:

    Note that, by default, the snippet will run in the context of the "selenium" object itself, so this will refer to the Selenium object. Use window to refer to the window of your application, e.g. window.document.getElementById('foo')

    Also, avoid wrapping the javascript code with javascript{}, it will not work.