Back

Explore Courses Blog Tutorials Interview Questions
0 votes
1 view
in Selenium by (5k points)

There is a task where I need to run selenium tests with Gradle on JBoss, and I did the required configuration now I want to share it with the community.

1 Answer

0 votes
by (10.2k points)

You can try out the solution given down below: 

gradle.build:

apply plugin: 'java'

apply plugin: 'eclipse-wtp'

apply plugin: 'war'

apply plugin: 'findbugs'

//apply from:'http://github.com/breskeby/gradleplugins/raw/master/emmaPlugin/emma.gradle'

apply from: 'emma.gradle'

buildDir = 'build'

 

sourceCompatibility = 1.7

version = ''

 

buildscript {

    repositories {

        mavenCentral()

    }

 

    dependencies {

        classpath 'org.gradle.api.plugins:gradle-cargo-plugin:0.6'

    }

}

 

repositories {

    mavenCentral()

    mavenRepo url: 'http://repository.primefaces.org'

    mavenRepo url: 'http://repository.jboss.org/nexus/content/groups/public'

    mavenRepo url: 'http://repository.jboss.org/maven2'

    mavenRepo url: 'http://maven.springframework.org/release'

    mavenRepo url: 'http://repo1.maven.org/maven2'

    mavenRepo url: 'http://git.solutionstream.com/nexus/content/repositories/thirdparty'

}

 

 

configurations {

   compileOnly

   weldEmbeddedTestRuntime { extendsFrom testRuntime }

   jbossasRemoteTestRuntime { extendsFrom testRuntime, compileOnly }

}

 

sourceSets {

 

   main {

      compileClasspath = configurations.compile + configurations.compileOnly

   }

 

   test {

      compileClasspath = compileClasspath + configurations.compileOnly

   }

 

   selenium {

      compileClasspath = compileClasspath + configurations.compileOnly

   }

}

 

dependencies {

    //JSF

    compile group: 'com.sun.faces', name: 'jsf-api', version: '2.1.22'

    compile group: 'com.sun.faces', name: 'jsf-impl', version: '2.1.22'

    compile 'org.ocpsoft.rewrite:rewrite-servlet:2.0.3.Final'

    compile 'org.ocpsoft.rewrite:rewrite-config-prettyfaces:2.0.3.Final'

 

 

    //Servlet

    compile group: 'javax.servlet', name: 'jstl', version: '1.2'

    providedCompile group: 'org.jboss.spec', name: 'jboss-javaee-6.0', version: '1.0.0.Final'

    compile 'taglibs:standard:1.1.2'

    compile group: 'org.springframework', name: 'spring-web', version: '3.2.2.RELEASE'

 

    //Omnifaces

    compile 'org.omnifaces:omnifaces:1.5'

 

    //Prime Faces

    compile group: 'org.primefaces', name: 'primefaces', version: '4.0-SNAPSHOT'

    compile 'org.primefaces.themes:bootstrap:1.0.10'

 

    // DB

    compile group: 'org.springframework.data', name: 'spring-data-jpa', version: '1.3.1.RELEASE'

    compile group: 'org.springframework', name: 'spring-aspects', version: '3.2.2.RELEASE'

    compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.9'

 

    compile group: 'javax.inject', name: 'javax.inject', version: '1'

    compile group: 'javax.enterprise', name: 'cdi-api', version: '1.0-SP4'

    compile 'cglib:cglib-nodep:2.2.2'

 

    //Hibernate / JPA   

    compile 'org.hibernate:hibernate-core:4.1.0.Final'

    compile 'org.hibernate:hibernate-entitymanager:4.1.0.Final'

    compile 'org.hibernate.javax.persistence:hibernate-jpa-2.0-api:1.0.1.Final'

    //JSR-303

    compile 'org.hibernate:hibernate-validator:4.3.1.Final'

 

    // Spring Security

    compile 'org.springframework.security:spring-security-core:3.1.4.RELEASE'

    compile 'org.springframework.security:spring-security-web:3.1.4.RELEASE'

    compile 'org.springframework.security:spring-security-config:3.1.4.RELEASE'

 

    //Utility

    compile 'com.google.guava:guava:14.0.1'

    compile 'commons-lang:commons-lang:2.6'

    compile 'org.apache.commons:commons-email:1.3.1'

    compile 'com.typesafe:config:1.0.0'

    compile 'joda-time:joda-time:2.2'

    compile 'org.apache.geronimo.javamail:geronimo-javamail_1.4_mail:1.8.3'

    compile 'org.slf4j:slf4j-api:1.7.2'

    compile 'org.slf4j:jcl-over-slf4j:1.7.2'

    compile 'org.slf4j:slf4j-log4j12:1.7.2'

    //Mustache Templates

    compile 'com.github.jknack:handlebars:1.0.0'

 

    //Projects

    //compile project(":ExtraValidators")

 

    ////TESTING DEPENDENCIES

    testCompile 'com.googlecode.jmockit:jmockit:1.2'

    testCompile group: 'junit', name: 'junit', version: '4.11'

    testCompile 'com.h2database:h2:1.3.172'

 

    //Spring Testing

    testCompile 'org.springframework:spring-test:3.2.3.RELEASE'

 

    /* Selenium */

    seleniumCompile 'org.seleniumhq.selenium:selenium-java:2.33.0'

    seleniumCompile 'junit:junit:4.11'

    seleniumCompile 'org.slf4j:slf4j-api:1.7.2'

    seleniumCompile 'org.slf4j:slf4j-log4j12:1.7.2'

    seleniumCompile 'org.slf4j:jcl-over-slf4j:1.7.2'

 

    /* Remote Jboss */

    testCompile group: 'org.jboss.arquillian', name: 'arquillian-junit', version: '1.0.0-SNAPSHOT'   

    jbossasRemoteTestRuntime group: 'org.jboss.arquillian.container', name: 'arquillian-jbossas-remote-6', version: '1.0.0-SNAPSHOT'

    jbossasRemoteTestRuntime group: 'org.jboss.jbossas', name: 'jboss-as-server', classifier: 'client', version: '6.1.0.Final', transitive: false

    jbossasRemoteTestRuntime group: 'org.jboss.jbossas', name: 'jboss-as-profileservice', classifier: 'client', version: '6.1.0.Final'

}

task wrapper(type: Wrapper){

    gradleVersion = '1.6'

}

eclipse {

    classpath {

       downloadSources=true

       plusConfigurations += configurations.seleniumCompile

    }

}

task selenium(type: Test) {

   testClassesDir = sourceSets.selenium.output.classesDir

   classpath = sourceSets.selenium.runtimeClasspath  + files('src/selenium/resources-jbossas') + configurations.jbossasRemoteTestRuntime

}

you need to start JBoss server manually then use the command gradlew clean selenium. 

If you want to become an expert in Selenium, check out this Selenium Certification offered by Intellipaat. 

Browse Categories

...