An Open Source Test Automation Framework

The Selenified Test Framework provides mechanisms for simply testing applications at multiple tiers while easily integrating into DevOps build environments. Selenified provides traceable reporting for both web and API testing, wraps and extends Selenium calls to more appropriately handle testing errors, and supports testing over multiple browsers locally, or in the cloud (Selenium Grid or SauceLabs) in parallel. It can be a great starting point for building or improving test automation in your organization.

What Makes Selenified Unique

  • Provides Java based framework for testing at web and API level
  • Produces detailed traceable reporting with screenshots
  • Wraps Selenium calls to more appropriately handle missing or slow to load page elements
  • Supports simply running multiple tests over different browsers in parallel
    • On local browsers
    • Through Selenium Grid
    • Via SauceLabs connect
  • Built on top of TestNG
  • Allows running tests through proxy server
  • Supported on major build tools
    • Maven
    • Gradle
    • Ant/Ivy

Overview of Selenfied framework

Getting Started

It’s very simple to get started using Selenified. Just add selenified.jar to your project, and you can start writing your test cases. If you’re using a build tool, simply add the jar as a dependency.


Update your pom.xml file to include



Update your ivy.xml file to include

 <dependency org="com.coveros" name="selenified" rev="3.0.3"/>


Update your build.gradle file to include

dependencies {
 testCompile 'com.coveros:selenified:3.0.3'

Writing Your First Test

It’s pretty quick to get into. Create a new class, which will serve as your first test suite. Import your required Selenified dependencies, and ensure your class extends Selenified’s base class named Selenified

package sample.tests
import org.testng.ITestContext;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

import com.coveros.selenified.Selenified;
import com.coveros.selenified.Locator;
import com.coveros.selenified.application.App;
import com.coveros.selenified.element.Element;

public class SampleTests extends Selenified {

We’re now ready to write our first test

@Test(groups = { "sample", "virtual" }, description = "A sample test")
public void sampleTest() {
    // use this object to manipulate the app
     App app = this.apps.get();
     // perform some actions
     app.newElement(Locator.ID, "car_list").selectOption(listItem);
     // close out the test

That’s all there is to it. You can kick off your tests from your IDE, the commandline, or any way you normally would.

Want to see more details? Check out the README file. You can also checkout the documentation here