CMSAuto Development Environment: OS + Apps
- OS
- Win8
- Linux Mint
- JDK8
- Eclipse + Plugins
- Web Browsers
- Selenium WebDriver
- Excel
- TestData
- Test Case Management
- NPP ( Text Editing )
CMSAuto Development Environment: EclipseIDE
- JDK8x64
- Eclipse Oxygen 3a (x64bit )
- Plugins
- DevStyle
- TestNG ( Test Case Annotations & Test Listeners & Reporting )
- Natural ( Cucumber BDD )
- Maven ( Build / Dependency Manager )
- JUnit ( Test Case Annotations& Unit Testing & Reporting )
- Executables
- ChromeDriver
- IEServerDriver
- FireFoxDriver
- Maven POM Projects
- log4j
- JUnit 4.12
- TestNG 6.9.9
- ExtentReports 2.41.2
- Selenium 3.11.0
- MySQL Connector 6.0.5
- JavaX 1.4.7
- Apache POI 3.6
- Cucumber 1.2.5
- gherkin 2.12.2
- Proxy Settings
- settings.xml for EclipseIDE
- Preferences > Networking > Proxy [ default / direct / manual ]
- https
- http
- SOCKS
CMSAuto Development Environment: Maven POM Dependencies
- log4j
- JUnit 4.12
- TestNG 6.9.9
- ReportNG 1.1.4
- guice 4.1.0
- extentreports 2.41.2
- selenium-java 3.11.0
- mysql-connector-java 6.0.5
- javax.mail 1.4.7
- Apache POI
- poi 3.6
- poi-ooxml 3.6
- poi-ooxml-schemas 3.6
- dom4j 1.1
- xmlbeans 2.3.0
- Cucumber 1.2.5
- cucumber-java 1.2.5
- cucumber-core 1.2.5
- cucumber-jvm 1.2.5
- cucumber-jvm-deps 1.0.5
- cucumber-reporting 3.10.0
- gherkin 2.12.2
- cucumber-junit 1.2.5
- guava 25.1-jre
- cucumber-picocontainer 1.2.5
Maven POM Deciphered
<!-- Include the following dependencies --> <dependencies>
Log4j
<!-- log4j OLD --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
JUnit ( Unit Test Runner + Cucumber Runner )
<!-- Junit 4.12 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency>
TestNG
- TestNG Runner & Reporting Tools
<!-- TestNG -->
<dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.9.9</version> </dependency> <!-- https://mvnrepository.com/artifact/org.uncommons/reportng --> <dependency> <groupId>org.uncommons</groupId> <artifactId>reportng</artifactId> <version>1.1.4</version> </dependency> <!-- https://mvnrepository.com/artifact/com.google.inject/guice --> <dependency> <groupId>com.google.inject</groupId> <artifactId>guice</artifactId> <version>4.1.0</version> </dependency> <!-- com.relevantcodes/extentreports --> <!-- http://repo1.maven.org/maven2/com/relevantcodes/extentreports/2.41.2/ --> <dependency> <groupId>com.relevantcodes</groupId> <artifactId>extentreports</artifactId> <version>2.41.2</version> </dependency>
Selenium WebDriver
<!-- Selenium --> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.11.0</version> </dependency>
MySQL Connector
<!-- mysql connector --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>6.0.5</version> </dependency>
JavaX Mail
<!-- https://mvnrepository.com/artifact/javax.mail/mail --> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency>
Apache POI
- Excel/Spreadsheet, XML, DOM Access Tools
<!-- Apache POI --> <!-- Dependency for POI API --> <!-- http://mvnrepository.com/artifact/org.apache.poi/poi --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.6</version> </dependency> <!-- http://mvnrepository.com/artifact/org.apache.poi/poi-ooxml --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.6</version> </dependency> <!-- http://mvnrepository.com/artifact/org.apache.poi/poi-ooxml-schemas --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>3.6</version> </dependency> <!-- http://mvnrepository.com/artifact/dom4j/dom4j --> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.1</version> </dependency> <!-- xmlbeans --> <!-- http://repo1.maven.org/maven2/com/relevantcodes/extentreports/2.41.2/ --> <dependency> <groupId>org.apache.xmlbeans</groupId> <artifactId>xmlbeans</artifactId> <version>2.3.0</version> </dependency>
Cucumber
- Cucumber is a BDD Plugin for Eclipse that works with 3 file types:
- /Features/*.feature
- stepDefinitions/*StepDefinitions.java
- Runners/FeatureNameRunner.java
<!-- Cucumber --> <!-- Cucumber java --> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-java</artifactId> <version>1.2.5</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/info.cukes/cucumber-core --> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-core</artifactId> <version>1.2.5</version> </dependency> <!-- cucumber JVM --> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-jvm</artifactId> <version>1.2.5</version> <type>pom</type> </dependency> <!-- Cucumber jvm dependencies --> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-jvm-deps</artifactId> <version>1.0.5</version> </dependency> <!-- Cucumber Reporting --> <dependency> <groupId>net.masterthought</groupId> <artifactId>cucumber-reporting</artifactId> <version>3.10.0</version> <!-- 1.0.0 --> </dependency> <!-- Cucumber Gherkin --> <dependency> <groupId>info.cukes</groupId> <artifactId>gherkin</artifactId> <version>2.12.2</version> </dependency> <!-- cucumber junit --> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-junit</artifactId> <version>1.2.5</version> <scope>test</scope> </dependency> <!-- Guava 25.1 - 20.0 missing com.google.common.util.concurrent.SimpleTimeLimiter.create --> <!-- https://mvnrepository.com/artifact/com.google.guava/guava --> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>25.1-jre</version> </dependency> <!-- https://mvnrepository.com/artifact/info.cukes/cucumber-picocontainer --> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-picocontainer</artifactId> <version>1.2.5</version> <scope>test</scope> </dependency> </dependencies>
Maven POM: Other Dependencies Under Review
<dependencies> <!-- STORAGE --> <!-- Selenium from Cucumber project <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.5.3</version> </dependency> --> <!-- downgrading from 2.11.0 not wired up for this project --> <!-- log4j2 NEW <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.11.0</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.11.0</version> </dependency> --> <!-- log4j2 NEW --> <!-- Junit version? --> <!-- <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>${junit.jupiter.version}</version> <scope>test</scope> </dependency> --> <!-- sourceDirectory>src</sourceDirectory --> </dependencies>
Maven POM (Complete)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.uc</groupId> <artifactId>DataDrivenFramework</artifactId> <version>0.0.1-SNAPSHOT</version> <properties> <jdk.level>1.8</jdk.level> <jre.level>1.8</jre.level> <junit.jupiter.version>5.2.0</junit.jupiter.version> <junit.platform.version>1.2.0</junit.platform.version> </properties> <build> <!-- log4j resource config --> <testResources> <testResource> <directory>src/test/resources/properties</directory> <includes> <include>log4j.properties</include> </includes> </testResource> </testResources> <pluginManagement> <plugins> </plugins> </pluginManagement> <plugins> <!-- Compiler plug-in --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <!-- Removed this duplicate entry.. keeping here until certain its not needed --> <!-- plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>com.stack.JarCreation.Main</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin--> <!-- Jar Creator --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <executions> <execution> <goals> <goal>attached</goal> </goals> <phase>package</phase> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>com.stack.JarCreation.Main</mainClass> </manifest> </archive> </configuration> </execution> </executions> </plugin> <!-- Below plug-in is used to TestNG execute tests --> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.18.1</version> <configuration> <forkCount>0</forkCount> <testFailureIgnore>false</testFailureIgnore> <suiteXmlFiles> <!-- suiteXmlFile>testng.xml</suiteXmlFile--> <suiteXmlFile>src/test/resources/runner/testng.xml</suiteXmlFile> </suiteXmlFiles> <testFailureIgnore>true</testFailureIgnore> <properties> <property> <name>testnames</name> <value>"Simple Test"</value> </property> </properties> </configuration> </plugin> <!-- Javadoc Generation --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>3.0.0</version> <configuration> <show>private</show> <nohelp>true</nohelp> </configuration> </plugin> </plugins> </build> <!-- Include the following dependencies --> <dependencies> <!-- log4j OLD --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <!-- Junit 4.12 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <!-- TestNG --> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.9.9</version> </dependency> <!-- https://mvnrepository.com/artifact/org.uncommons/reportng --> <dependency> <groupId>org.uncommons</groupId> <artifactId>reportng</artifactId> <version>1.1.4</version> </dependency> <!-- https://mvnrepository.com/artifact/com.google.inject/guice --> <dependency> <groupId>com.google.inject</groupId> <artifactId>guice</artifactId> <version>4.1.0</version> </dependency> <!-- com.relevantcodes/extentreports --> <!-- http://repo1.maven.org/maven2/com/relevantcodes/extentreports/2.41.2/ --> <dependency> <groupId>com.relevantcodes</groupId> <artifactId>extentreports</artifactId> <version>2.41.2</version> </dependency> <!-- Selenium --> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.11.0</version> </dependency> <!-- mysql connector --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>6.0.5</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.mail/mail --> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency> <!-- Apache POI --> <!-- Dependency for POI API --> <!-- http://mvnrepository.com/artifact/org.apache.poi/poi --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.6</version> </dependency> <!-- http://mvnrepository.com/artifact/org.apache.poi/poi-ooxml --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.6</version> </dependency> <!-- http://mvnrepository.com/artifact/dom4j/dom4j --> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.1</version> </dependency> <!-- xmlbeans --> <!-- http://repo1.maven.org/maven2/com/relevantcodes/extentreports/2.41.2/ --> <dependency> <groupId>org.apache.xmlbeans</groupId> <artifactId>xmlbeans</artifactId> <version>2.3.0</version> </dependency> <!-- Apache POI --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.6</version> </dependency> <!-- http://mvnrepository.com/artifact/org.apache.poi/poi-ooxml-schemas --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>3.6</version> </dependency> <!-- Cucumber --> <!-- Cucumber java --> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-java</artifactId> <version>1.2.5</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/info.cukes/cucumber-core --> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-core</artifactId> <version>1.2.5</version> </dependency> <!-- cucumber JVM --> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-jvm</artifactId> <version>1.2.5</version> <type>pom</type> </dependency> <!-- Cucumber jvm dependencies --> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-jvm-deps</artifactId> <version>1.0.5</version> </dependency> <!-- Cucumber Reporting --> <dependency> <groupId>net.masterthought</groupId> <artifactId>cucumber-reporting</artifactId> <version>3.10.0</version> <!-- 1.0.0 --> </dependency> <!-- Cucumber Gherkin --> <dependency> <groupId>info.cukes</groupId> <artifactId>gherkin</artifactId> <version>2.12.2</version> </dependency> <!-- cucumber junit --> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-junit</artifactId> <version>1.2.5</version> <scope>test</scope> </dependency> <!-- Guava 25.1 - 20.0 missing com.google.common.util.concurrent.SimpleTimeLimiter.create --> <!-- https://mvnrepository.com/artifact/com.google.guava/guava --> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>25.1-jre</version> </dependency> <!-- https://mvnrepository.com/artifact/info.cukes/cucumber-picocontainer --> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-picocontainer</artifactId> <version>1.2.5</version> <scope>test</scope> </dependency> <!-- STORAGE --> <!-- Selenium from Cucumber project <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.5.3</version> </dependency> --> <!-- downgrading from 2.11.0 not wired up for this project --> <!-- log4j2 NEW <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.11.0</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.11.0</version> </dependency> --> <!-- log4j2 NEW --> <!-- Junit version? --> <!-- <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>${junit.jupiter.version}</version> <scope>test</scope> </dependency> --> <!-- sourceDirectory>src</sourceDirectory --> </dependencies> </project>
- Log in to post comments
Tags