I'm attempting to drive my user interface (heavy on javascript) through selenium. I've already tested the rest of my ajax interaction with selenium successfully. However, this one particular method seems to be eluding me because I can't seem to fake the correct click event. I could solve this problem by simply waiting in the test for the user to click a point and then continuing with the test but this seems like a cop out. But I'm really running out of time on my deadline to have this done and working. Should I just get this done and move on or should I spend the extra (unknown) amount of time to fix this problem and be able to have my selenium tests 100% automated?

3 Answers 3


If the tests aren't 100% automated, they lose a tremendous amount of value. They won't be run reliably, and are a lot more error prone because of the human interaction. If you can't get it 100% automated, remove that test completely, even if it means not testing that piece of functionality for now.

As an aside, have you asked for help on stackoverflow? They may be able to give you a fairly quick solution.

  • 1
    Also, the people over at the User Experience site might be able to help. I often see Selenium related posts there. Jun 20, 2012 at 13:11
  • 2
    +1 for removing automated tests that aren't automated. Also, the fine folks over at sta.stackexchange have a little (well, a lot of experience) with Selenium (and most other test automation libraries). Jun 20, 2012 at 13:47
  • 1
    Note there's a special site in SE (although still in beta) that is related to this in particular: Software Quality Assurance and testing
    – K.Steff
    Jun 20, 2012 at 15:04

I've seen that "wait for the user to do something" technique done. It's a bad idea, for a lot of different reasons, but it can be made to work in a limited context. If you do it, obviously you don't have an automated test, but rather one that requires active human observation and interaction. Which means you can't run it as part of a Continuous Integration process, you probably won't want to run it as part of an in-the-background unit-test collection, etc.

If you decide to do this anyway, the correct way to do it is to alert the user that their action is required, and to then wait (looping with pauses as necessary) for the correct result of their action. As opposed to waiting for a few minutes and hoping they did their piece of the job.


Try to find all possible workarounds.
And if nothing works classify them as non-automatable tests with proper blocker documentation. Maybe in future versions of selenium (or you application) you get some workaround for the step.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.