My company is introducing BDD into our projects. Our customers have differents processes-cases wich also may fork at specific points. It is a mostly long and tedious work to test each case and each fork manually.
It was my job to try out Selenium. So, I wrote Selenium tests and freed our poor tester from this task. I put quite some thought into my tests like a helper for returning jobs (i.E. click through pagination until you find link foo, always set deadline in the future, generate new e-mail adress for user bar...) or writing classes for stepstones like interview, then including methods ("fail_interview", etc). In the end, I was able to reuse a lot of the code and could expand the tests, once the fundament was writted, relatively fast along the whole processes.
The tests were very appreciated by our management and the poor tester ;-)
However, not all our developers support the way we use Selenium now. Saying they are almost useless because the tests are not directly connected with our source code and adopting the Selenium tests to changes (like a changed button_id or something) would take too long. I might add, that we never used any kind of testing before but manually.
I agreed to the point, that we also should include TDD into our projects. But now, I am not sure there "my" Selenium test should be positioned.
So, what are recommended scenarios to use Selenium Tests for? Was is a good idea to "click through everything"? What should and should not be tests with Selenium?