I'm working on a Java application, it's a middleware between two ticketing webapps. I want to write end2end tests using Selenium to test functionality.
Let's say my testing process goes like this: I manually start a Jenkins Job, it compiles my app using maven, launches unit tests, then if the unit tests pass, deploys the app on the test server. I used to manually test each feature from this point which consist of going in the first ticketing web application, filling some forms, then checking and verifying expected behaviour in the second webapp based on my manual tests my first application.
Now I want to let Selenium-Webdriver do the form filling and checking (not by using Selenium-RC or Selenium-IDE, but really writing java code with the Webdriver)
But where should it go?
- I've seen tutorials putting end2end tests in JUnit tests, but first, it doesn't really make sense to put them in unit test, second, I would need my app to be deployed to test it. Would it make sense to start all (or just some) unit test to start end2end tests?
- Other tutorials put the tests in a
int main void()
function and executing them on their IDE, but I guess it's just for quick demonstration of the WebDriver. - I've been thinking if I should do a separate Maven project, put all the (Selenium) tests in there, then somehow start it after Jenkins has deployed.
Is there some kind of recommendations on how to do that? Something like where should be Selenium on a CI chain and in the code ?
I've tried to Google it, but I only found tutorials about how to set and use Selenium.