2

My question is about best practice.

We are moving to Selenium and will be using Selenium, Maven, TestNG and GitHub, with a Windows environment. We will have about ten users, with more in the future.

GitHub is for the test case code and test data version control, but what about Selenium/Maven/TestNG itself?

How might we best ensure that all users are using the same version of Java, Selenium, TestNG, etc.?

Do we include the Selenium Maven, etc. jar files as well?

System patching is done with IBM BigFix, and one manager suggested that. Is that viable, for maintaining the Selenium Suite?

Thank you for sharing your experience.

  • Is the IBM BigFix a separate question? It also needs a bit more context as now I have no clue what you expect from us in regards to this. – Niels van Reijmersdal Feb 9 '17 at 15:25
3

This is what you use Maven for. Maven manages and downloads your dependencies. Suggest you try to always use the latest stable version of Maven and you should be set.

Example pom.xml:

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.10</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.45.0</version>
    </dependency>
</dependencies>

So no do not put the depended JAR's in source control, use a dependency manager like Maven. It can even make sure you cannot use different versions of Java with the maven-compiler-plugin.

Personally I would version the test-code with the application and not in a separate repository. Other else you will wind up with only tests for the latest version. You could run into trouble when you need to maintain patches for older version.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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