Selenium Java Framework

Size: px
Start display at page:

Download "Selenium Java Framework"

Transcription

1 Selenium Java Framework Last updated: 10 July 2017 Pepgo Limited, Shelton Street, Covent Garden, London, WC2H 9JQ, United Kingdom

2 Contents Introduction... 3 About this document... 3 Naming conventions... 3 JUnit Unit Testing in Java... 4 JUnit Annotations... 4 JUnit Assert statements... 4 Create a JUnit test suite... 5 Run a JUnit test outside Eclipse... 6 How to build a JUnit Test - Example (in Eclipse):... 6 Example of a parameterised test... 8 EasyTest Data input and output... annotation Additional Maven settings for Linux EasyTest Example Installing and using Eclipse IDE with Maven Install Java first Install Eclipse IDE Disable logging A practical Selenium test example A Page Object example Helper library Highlight an Element (highlightelement) Verify Text Presence in page (istextpresent) If Click is not working use JavaScript (javascriptclick)... 26

3 Introduction This framework for using Selenium with Java is based on the JUnit framework, which is the most widely used framework for Unit Testing under Java. Many Java developers will already be familiar with JUnit and use it for their Unit tests. The JUnit framework is extended with EasyTest, which provides an easy open source data driven testing framework. It allows for data driven tests from a variety of input and output data sources (Microsoft Excel workbooks, CSV files, XML, and others), as well as basic reporting capabilities in multiple formats (Adobe PDF, Microsoft Excel, HTML). This framework also recommends the use of the Page Object pattern. The Page Object pattern represents web pages as classes with custom-made methods for interactions with the page. This makes tests more intuitively readable and also reduces the amount of duplicated code. If the User Interface changes, the fix needs to be applied in one place only. This framework also recommends to build a function library for general functions (a Helper class), as well as adding one or multiple application specific libraries. About this document This document gives a brief introduction to the framework and recommended Naming Conventions, before it explains the use of JUnit with EasyTest. It continues to describe the installation of the Eclipse IDE with Maven as build manager. Eclipse is the Integrated Development Environment (IDE) of choice for this framework, although other IDE s can be used as well. This section also includes recommended Maven settings. It then continues with samples for tests, Page Objects, and a generic Helper library: A sample test that should be used as a template for any tests built with this framework. A Page Object sample that should be used as a template for Page Objects used in this framework. A multi-purpose library that should be included (and extended over time) in all projects. Naming conventions Class names start with an upper case letter. Method names start with a lower case letter. Variables start with a 3 digit lower case prefix that indicates the type of the variable, such as str for String, int for Integer, boo for Boolean etc. Literal names are all upper case letters (and additional characters if needed). Page Object class names start with a prefix PageObject_. Policy class names start with a prefix Policy_.

4 JUnit Unit Testing in Java Typically unit tests are created in their own project or their own source folder to avoid that the normal code and the test code is mixed. JUnit is a test framework which uses annotations to identify methods that specify a test. Typically these test methods are contained in a class which is only used for testing. It is typically called a Test Class. JUnit assumes that all test methods can be executed in an arbitrary order. Therefore tests should not depend on other tests. To write a test with JUnit you annotate a method with annotation and use a method provided by JUnit to check the expected result of the code execution versus the actual result. JUnit Annotations public void public void public void public static void public static (expected = Description The identifies that a method is a test method. This method is executed before each test. This method can prepare the test environment (e.g. read input data, initialize the class). This method is executed after each test. This method can clean up the test environment (e.g. delete temporary data, restore defaults). It can also save memory by cleaning up expensive memory structures. This method is executed once, before the start of all tests. This can be used to perform time intensive activities, for example to connect to a database. Methods annotated with this annotation need to be defined as static to work with JUnit. This method is executed once, after all tests have been finished. This can be used to perform clean-up activities, for example to disconnect from a database. Methods annotated with this annotation need to be defined as static to work with JUnit. Ignores the test method. This is useful when the underlying code has been changed and the test case has not yet been adapted. Or if the execution time of this test is too long to be included. Fails, if the method does not throw the named exception. Fails, if the method takes longer than 100 milliseconds. JUnit Assert statements JUnit provides static methods in the Assert class to test for certain conditions. These methods typically start with asserts and allow you to specify the error message, the expected and the

5 actual result. The following table gives an overview of these methods. Parameters in [] brackets are optional. Statement fail(string) asserttrue([message], boolean condition) assertsequals([string message], expected, actual) assertsequals([string message], expected, actual, tolerance) assertnull([message], object) assertnotnull([message], object) assertsame([string], expected, actual) assertnotsame([string], expected, actual) Description Let the method fail. Might be used to check that a certain part of the code is not reached. Or to have a failing test before the test code is implemented. Checks that the boolean condition is true. Tests that two values are the same. Note: for arrays the reference is checked, not the content of the arrays. Test that float or double values match. The tolerance is the number of decimals which must be the same. Checks that the object is null. Checks that the object is not null. Checks that both variables refer to the same object. Checks that both variables refer to different objects. Create a JUnit test suite If you have several test classes you can combine them into a test suite. Running a test suite will execute all test classes in that suite. The following example code shows a test suite which defines that two test classes should be executed. If you want to add another test class you can add it statement. package com.pepgo.selenium; import org.junit.runner.runwith; import org.junit.runners.suite; MyFirstTest.class, MySecondTest.class ) public class TestSuiteRunner public static void setup() { // Only runs at the public static void teardown() { // Only runs at the end

6 Run a JUnit test outside Eclipse Eclipse provides support for running your test interactively in the Eclipse IDE. You can also run your JUnit tests outside Eclipse via standard Java code. The org.junit.runner.junitcore class provides the runclasses() method, which allows you to run one or several tests classes. As a return parameter you receive an object of the type org.junit.runner.result. This object can be used to retrieve information about the tests. The following example class JUnitTestRunner will execute your test class and write potential failures to the console. package com.pepgo.selenium; import org.junit.runner.junitcore; import org.junit.runner.result; import org.junit.runner.notification.failure; public class JUnitTestRunner { public static void main(string[] args) { try { Result result = JUnitCore.runClasses(JUnitTest.class); for (Failure failure : result.getfailures()) { System.out.println(failure.toString()); catch(exception e) { e.printstacktrace(); System.exit(0); How to build a JUnit Test - Example (in Eclipse): 1. Create the following class in a new project: package com.pepgo.selenium; public class JUnitExample { public int multiply (int x, int y) { // the following is just an example if (x > 999) { throw new IllegalArgumentException("X must be less than 1000"); return x / y; 2. Right-click on the new class in the Package Explorer view and select New -> JUnit Test Case. This will create a new JUnit test class. Set the name and the location of the test class,

7 and click Next to select the methods that need to be covered by the test: 3. Create the JUnit test with the following code: package com.pepgo.selenium; import static org.junit.assert.assertequals; import org.junit.afterclass; import org.junit.beforeclass; import org.junit.test; public class JUnitExampleTest public static void testsetup() public static void testcleanup() { // Teardown for data used by the unit = IllegalArgumentException.class) public void testexceptionisthrown() { JUnitExample tester = new JUnitExample(); tester.multiply(1000, public void testmultiply() {

8 try { JUnitExample tester = new JUnitExample(); assertequals("10 x 5 must be 50", 50, tester.multiply(10, 5)); catch(exception e) { e.printstacktrace(); System.exit(0); 4. Right-click on your new test class and select Run-As -> JUnit Test. The result will show one successful test and one failed test. The red bar indicates that at least one test failed. 5. One test failed because the method multiply (created in step 1) divides instead of multiplies. Change it from dividing to multiplying and run the test again. This time, it should show to successful test results: Note: Eclipse provides the shortcut Alt+Shift+X,T to run the test in the selected class. If you position the cursor on one method name, this shortcut runs only the selected test method. Another way to execute just one method is by right-clicking on the method in the JUnit view and selecting Run. Example of a parameterised test JUnit allows you to use parameters in a tests class. This class can contain one test method and this method is executed with the different parameters provided. You mark a test class as a parameterized test with annotation. Such a test class must contain a static method annotated that generates and returns a Collection of Arrays. Each item in this collection is used as the parameters for the test method.

9 You need also to create a constructor in which you store the values for each test. The number of elements in each array provided by the method annotated must correspond to the number of parameters in the constructor of the class. The class is created for each parameter and the test values are passed via the constructor to the class. The following example code runs the previous test with 3 iterations of data. Only one single parameter ( testparameter ) is used. package com.pepgo.selenium; import static org.junit.assert.assertequals; import java.util.arrays; import java.util.collection; import org.junit.test; import org.junit.runner.runwith; import org.junit.runners.parameterized; import public class JUnitParameterizedTest { private int multiplier; public JUnitParameterizedTest(int testparameter) { try { this.multiplier = testparameter; catch(exception e) { e.printstacktrace(); System.exit(0); // Creates the test public static Collection<Object[]> data() { Object[][] data = new Object[][] { { 1, { 5, { 121 ; return public void testmultiplyexception() { try { JUnitExample tester = new JUnitExample(); assertequals("result", multiplier * multiplier, tester.multiply(multiplier, multiplier)); catch(exception e) { e.printstacktrace(); System.exit(0);

10 Executing this test in Eclipse will produce the following result: EasyTest EasyTest is an open-source data driven testing framework based on the JUnit framework. EasyTest imports and exports test data from a variety of formats (Microsoft Excel, CSV text files, XML sources, and other data formats). EasyTest also has basic reporting capabilities to Adobe PDF format, Microsoft Excel, and HTML format. Data input and output EasyTest imports data per method. The first column in each (Microsoft Excel or CSV) input data file is therefore reserved for the name of the method that the data will be used with, for example for the method getexceltestdata : getexceltestdata itemid libraryid null 0 EasyTest saves any data that the test method returns into the same file as was used by the test class to load the test data for that method. The data gets saved under the heading annotation Reports can be generated by adding annotation at class level, for Report.EXPORT_FORMAT.XLS, reporttypes={report.report_type.default, Report.REPORT_TYPE.METHOD_DURATION, outputlocation="classpath:org/easetech/easytest/reports") Alternatively, the report generation can also be driven through command line parameters. Output formats are: PDF, HTML, XLS (optional, default is PDF). Report types are: DEFAULT, METHOD_DURATION (optional, default is default).

11 DEFAULT report is the original report that EasyTest generates. This report gives an overview of how many tests were executed per class, which input and output parameters that the tests used, what tests failed and what tests passed etc. METHOD_DURATION report is more detailed and captures the maximum, minimum, and average duration a test method took to execute and how many time a given test method was executed. The report is depicted as a bar graph with a table that lists the average, minimum, and maximum time a test method took. Output location: For exporting to a classpath use: classpath:, for exporting to a disk location use: file: (e.g. file:c:\\reporting ) (optional, default is local location). Additional Maven settings for Linux EasyTest reports use Microsoft fonts by default. This might be an issue on some Linux distributions (such as Ubuntu). The following Maven settings must be added in Linux: <repositories> <repository> <id>fdvsolution.public</id> <url> </repository> </repositories> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-core</artifactid> <version>4.3.9.release</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-beans</artifactid> <version>4.3.9.release</version> </dependency> <dependency> <groupid>ar.com.fdvs</groupid> <artifactid>dynamicjasper-core-fonts</artifactid> <version>1.0</version> </dependency>

12 EasyTest Example The following test gets its settings from a separate policy class and the data from a Microsoft Excel workbook. 1. Test class: package com.pepgo.selenium; import org.easetech.easytest.annotation.*; import org.easetech.easytest.runner.datadriventestrunner; import org.junit.assert; import org.junit.test; public class TemperatureConverterSample public void testtocelsiusconverter(@param(name = "fahrenheit") int = "celsius") int intcelsiusresult) { try { int intcelsius = (intfahrenheit - 32) * 5 / 9; System.out.println(intFahrenheit + " Fahrenheit = " + intcelsius + " Celsius"); // Assert the result from the business method with the celsius result that comes from the input data file Assert.assertEquals(intCelsiusResult, intcelsius); catch(exception e) { e.printstacktrace(); System.exit(0); 2. Test policy class (for running 5 threads in parallel): package com.pepgo.selenium; import = { reporttypes={report.report_type.default, public class Policy_TemperatureConverterSample { 3. The Microsoft Excel data file (Sheet1 of the file temperatureconversiondata.xls ):

13 testtocelsiusconverter fahrenheit celsius An extract from a sample Adobe PDF report generated by EasyTest:

14 Installing and using Eclipse IDE with Maven This section describes the installation and use of the Eclipse IDE (Integrated Development Environment) with Maven. It is of course also possible to use other Java IDE s. Install Java first On Microsoft Windows, it is required to install Java first as a perquisite to installing the Eclipse IDE. It is recommended to install the latest stable Oracle Java Development Kit (JDK). The Java Standard Edition (SE) should be sufficient, as the Java Enterprise Edition (EE) is usually only required for very large scale (Enterprise) projects. Many Linux distributions already include Java OpenJDK, the open-source implementation of the Java SE Platform. OpenJDK is almost entirely identical to Oracle Java and can be used as an alternative to Oracle Java. OpenJDK was established as an open-source alternative to Oracle Java, after Oracle Java became proprietary software. OpenJDK aims to provide the same functionality as Oracle Java. Install Eclipse IDE The recommended version of the Eclipse IDE is "Eclipse IDE for Java Developers", which can be downloaded from Once installed, a new Selenium project can be built: 1. Launch the Eclipse IDE. 2. Create a new project by selecting File -> New -> Other from the Eclipse main menu.

15 3. On the New dialog, select Maven -> Maven Project : 4. Next, in the New Maven Project dialog box; check the Create a simple project (skip archetype selection) checkbox and keep everything as default and click on the Next button:

16 5. On the New Maven Project dialog box, enter your project name (in this example com.pepgo.selenium ) in the Group Id: and Artifact Id: textboxes. You can also add a name and description. Keep everything else as default and click on the Finish button: 6. The project creation might take several minutes. Eclipse will create your project (in this example com.pepgo.selenium ) with a folder structure (in Package Explorer): On a fresh installation of Eclipse, it is likely that you will get a warning message that your built path points to a wrong execution environment. If you have this problem, then you can fix it with the following 7 steps: 1. Right-click on you project (in the Package Explorer) and select Properties. 2. Click on the Libraries tab. 3. Select the old library (for example "JRE System Library[J2SE 1.5]" and click on Remove. 4. Click on Add Library. 5. Click on JRE System Library and Next. 6. Select the new "Execution Environment" or Workspace default JRE. If you have just installed the Java JDK, then you will most likely want to just leave the selection Workspace

17 default JRE : 7. Add a package of the same name as the project (for example com.pepgo.selenium ) under the folder where you like to create your test classes (either /src/main/java or /src/test/java ), for example: 8. Select pom.xml from Package Explorer. This will open the (Maven) pom.xml file in the editor area with the Overview tab open. Select the pom.xml tab instead. 9. Replace the pom.xml settings with the following settings and save everything ( File -> Save all. <project xmlns=" xmlns:xsi=" xsi:schemalocation=" xsd"> <modelversion>4.0.0</modelversion> <groupid>com.pepgo.selenium</groupid> <artifactid>com.pepgo.selenium</artifactid> <packaging>jar</packaging> <version>1.0-snapshot</version> <dependencies> <dependency> <groupid>org.seleniumhq.selenium</groupid> <artifactid>selenium-java</artifactid> <version>3.4.0</version> </dependency>

18 <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>4.12</version> </dependency> <dependency> <groupid>log4j</groupid> <artifactid>log4j</artifactid> <version>1.2.17</version> </dependency> <dependency> <groupid>org.slf4j</groupid> <artifactid>slf4j-api</artifactid> <version>1.7.25</version> </dependency> <dependency> <groupid>org.slf4j</groupid> <artifactid>slf4j-log4j12</artifactid> <version>1.7.25</version> </dependency> <dependency> <groupid>org.easetech</groupid> <artifactid>easytest-core</artifactid> <version>1.4.0</version> </dependency> <dependency> <groupid>org.apache.poi</groupid> <artifactid>poi</artifactid> <version>3.16</version> </dependency> <dependency> <groupid>xml-apis</groupid> <artifactid>xml-apis</artifactid> <version>2.0.2</version> </dependency> <dependency> <groupid>org.apache.poi</groupid> <artifactid>poi-ooxml</artifactid> <version>3.16</version> <exclusions> <exclusion> <artifactid>xml-apis</artifactid> <groupid>xml-apis</groupid> </exclusion> </exclusions> </dependency> </dependencies> <build> <plugins> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-shade-plugin</artifactid> <version>3.0.0</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> <configuration> <filters> <filter> <artifact>*:*</artifact> <excludes>

19 <exclude>meta-inf/*.sf</exclude> <exclude>meta-inf/*.dsa</exclude> <exclude>meta-inf/*.rsa</exclude> </excludes> </filter> </filters> <finalname>uber-${project.artifactid-${project.version</finalname> </configuration> </plugin> </plugins> </build> </project> This pom.xml is a template that can and should be customised to individual requirements. It needs to be updated constantly with the latest version number for all artifacts. The latest settings for all artifacts can be queried from Artifact Required Used for selenium-java Yes Selenium functionality junit Yes JUnit unit testing framework log4j Yes Logging framework slf4j Yes Logging (simple facade for log4j) easytest-core Yes EasyTest framework poi No (optional) Apache POI is used for reading and writing Microsoft Excel files. It is often used in Selenium tests. xml-apis No (optional) XML handling, used for Apache POI maven-shade-plugin No (optional) This plugin provides the capability to package all artifacts in an uber-jar, which means that all jars will be packed into one giant jar that contains all Maven referenced artifacts. Having just one giant jar makes it much easier to deploy, as only a single file needs to be deployed. However, any project classes created and libraries added outside of Maven (for example Microsoft JDBC drivers) must be added manually to the uber-jar. This plugin makes up the whole <build> section. From experience, the Maven shade plugin often fails to create valid Java manifest files, which is why this template includes <excludes> settings. Disable logging To switch off (log4j) logging, the following log4j.xml file needs to be placed in the desired target path ( classes or test-classes ), for example in \workspace\com.pepgo.selenium\target\classes : <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration threshold="off"> <appender name="console" class="org.apache.log4j.consoleappender"> <param name="threshold" value="off" /> </appender> <appender name="rolling-file" class="org.apache.log4j.consoleappender">

20 <param name="threshold" value="off" /> </appender> </log4j:configuration>

21 A practical Selenium test example This tests uses Google Chrome to collect the current time and date of the world s biggest 10 metropolitan areas. The input data comes from a Microsoft Excel workbook. 1. Test class: package com.pepgo.selenium; import static org.junit.assert.fail; import java.util.concurrent.timeunit; import org.easetech.easytest.annotation.*; import org.easetech.easytest.runner.datadriventestrunner; import org.junit.assert; import org.junit.beforeclass; import org.junit.test; import org.junit.afterclass; import org.junit.runner.runwith; import org.openqa.selenium.*; public class WorldCityTimeSample { private static WebDriver driver; private WebElement elem; private String strcityurl, strtime, strdate; private static StringBuffer verificationerrors = new public static void setup() { try { System.setProperty("webdriver.chrome.driver", "C:\\Selenium\\chromedriver.exe"); driver = new ChromeDriver(); driver.manage().timeouts().implicitlywait(30, TimeUnit.SECONDS); catch(exception e) { e.printstacktrace(); public void queryworldcitytime(@param(name = "city") String strcity) { try { // Replace possible spaces in city names with %20 (for URL) strcityurl = strcity.replace(" ", "%20"); // Get web page driver.get(" + strcityurl); // Read time as string elem = driver.findelement(by.xpath("//div[@class='vk_bk vk_ans']")); strtime = elem.gettext(); // Read date as string elem = driver.findelement(by.xpath("//div[@class='vk_gy vk_sh']")); strdate = elem.gettext(); // Write message to console System.out.println("The time in " + strcity + " is " + strtime + " on " + strdate + "."); // Assert that time been retrieved Assert.assertNotEquals(strTime.length(), 0); // Assert that date been retrieved Assert.assertNotEquals(strDate.length(), 0);

22 // Wait 3 seconds to avoid Google captchas Thread.sleep(3000); catch(exception e) { e.printstacktrace(); public static void teardown() { try { driver.quit(); String verificationerrorstring = verificationerrors.tostring(); if (!"".equals(verificationerrorstring)) { fail(verificationerrorstring); catch(exception e) { e.printstacktrace(); System.exit(0); 2. Test Policy class: package com.pepgo.selenium; import org.easetech.easytest.annotation.dataloader; import org.easetech.easytest.annotation.format; import = { reporttypes={report.report_type.default, outputlocation="file:c:\\temp") public class Policy_WorldCityTimeSample { 3. The Microsoft Excel data file (sheet1 of the workbook temperatureconversiondata.xls ): queryworldcitytime City Tokyo Jakarta Seoul Delhi Shanghai Manila Karachi New York Sao Paulo Mexico City

23 A Page Object example This example uses a Selenium Page Object to retrieve Google search pages for the keywords London, Paris and New York. It uses standard JUnit functionality without EasyTest. It is good practise in Selenium to collect actions on a page into a Page Object. The resulting methods allow the abstraction from the underlying Selenium program code and increase the readability and maintainability of the tests, particularly in large test suites. Calling test class: package com.pepgo.selenium; import static org.junit.assert.fail; import java.util.concurrent.timeunit; import org.junit.beforeclass; import org.junit.test; import org.junit.afterclass; import org.openqa.selenium.*; import org.openqa.selenium.chrome.chromedriver; public class GoogleSearchSample { private static WebDriver driver; private static StringBuffer verificationerrors = new public static void setup() { try { System.setProperty("webdriver.chrome.driver", "C:\\Selenium\\chromedriver.exe"); driver = new ChromeDriver(); driver.manage().timeouts().implicitlywait(30, TimeUnit.SECONDS); catch(exception e) { e.printstacktrace(); public void searchforusingpageobject() { try { // Initialise the page object PageObject_GoogleSearchSample pageone = new PageObject_GoogleSearchSample(driver).get(); // Use the page object pageone.searchfor("london"); pageone.searchfor("paris"); pageone.searchfor("new York"); catch(exception e) { e.printstacktrace(); public static void teardown() { try { driver.quit();

24 String strverificationerrorstring = verificationerrors.tostring(); if (!"".equals(strverificationerrorstring)) { fail(strverificationerrorstring); catch(exception e) { e.printstacktrace(); System.exit(0); Page Object class: package com.pepgo.selenium; import org.junit.assert; import org.openqa.selenium.support.findby; import org.openqa.selenium.support.how; import org.openqa.selenium.support.pagefactory; import org.openqa.selenium.support.ui.loadablecomponent; import org.openqa.selenium.webdriver; import org.openqa.selenium.webelement; public class PageObject_GoogleSearchSample extends LoadableComponent<PageObject_GoogleSearchSample> { private WebDriver driver; // This element is looked up using the name = How.NAME, using = "q") private WebElement googlesearchbox; // This element is looked up using the ID = How.ID, using = "gbqfba") private WebElement googlesearchbutton; // Constructor public PageObject_GoogleSearchSample(WebDriver driver) throws Exception { this.driver = driver; // This call sets the WebElement fields PageFactory.initElements(driver, this); // ATTENTION: The load() method is only called AFTER the isloaded() protected void load() { protected void isloaded() throws Error { this.load(); Assert.assertEquals("Google", driver.gettitle()); // Custom method public void searchfor(string searchterm) throws Exception { // Continue using the element just as before googlesearchbox.clear(); googlesearchbox.sendkeys(searchterm); googlesearchbutton.submit();

25 // Display the page for 5 seconds (just for visual confirmation, not necessary as program code) try { Thread.sleep(5000); catch (InterruptedException e) { e.printstacktrace(); // Reset the application to the initial state by calling the load() method again this.load();

26 Helper library The helper library is class with static type of behaviour that provides general purpose functions. These functions can therefore be called from tests using the syntax: Helper.functionname(Parmeters ) Highlight an Element (highlightelement) While debugging, sometimes it is very helpful if the element you are going to interact with can be highlighted. The function will create a border around the element. Verify Text Presence in page (istextpresent) This function returns true if a text is shown on a page and false if it isen t. If Click is not working use JavaScript (javascriptclick) There may be times when the click API provided by WebDriver is not working, or it is not returning the control. You can use JavaScript to click on the element at this time. package com.pepgo.selenium; import org.openqa.selenium.*; public class Helper { // Use a private constructor to make the class "static" private Helper(){ // Highlight an element on a web page public static void highlightelement(webdriver driver, WebElement element) throws Exception { ((JavascriptExecutor) driver).executescript("arguments[0].setattribute(arguments[1],arguments[2])", element, "style", "border: 2px solid yellow; color: yellow; font-weight: bold;"); { // Check if a text is displayed on a web page public static boolean istextpresent(webdriver driver, String strtext) throws Exception if (driver.getpagesource().contains(strtext)) return true; else return false; // Click using JavaScript public static void javascriptclick(webdriver driver, WebElement element) throws Exception { ((JavascriptExecutor)driver).executeScript("arguments[0].click();", element);

Appium mobile test automation

Appium mobile test automation Appium mobile test automation for Google Android and Apple ios Last updated: 10 July 2017 Pepgo Limited, 71-75 Shelton Street, Covent Garden, London, WC2H 9JQ, United Kingdom Contents About this document...

More information

Groovy. Extending Java with scripting capabilities. Last updated: 10 July 2017

Groovy. Extending Java with scripting capabilities. Last updated: 10 July 2017 Groovy Extending Java with scripting capabilities Last updated: 10 July 2017 Pepgo Limited, 71-75 Shelton Street, Covent Garden, London, WC2H 9JQ, United Kingdom Contents About Groovy... 3 Install Groovy...

More information

Setting up a Maven Project

Setting up a Maven Project Setting up a Maven Project This documentation describes how to set up a Maven project for CaptainCasa. Please use a CaptainCasa version higher than 20180102. There were quite some nice changes which were

More information

Set up Maven plugins in Eclipse. Creating a new project

Set up Maven plugins in Eclipse. Creating a new project In this tutorial, we describe steps for setting up a Maven project that uses libsbolj in Eclipse. Another tutorial follows this one which explains how we use SBOL 2.0 to represent the function of a state-of-the-art

More information

Session 24. Spring Framework Introduction. Reading & Reference. dev.to/lechatthecat/how-to-use-spring-boot-java-web-framework-withintellij-idea-202p

Session 24. Spring Framework Introduction. Reading & Reference. dev.to/lechatthecat/how-to-use-spring-boot-java-web-framework-withintellij-idea-202p Session 24 Spring Framework Introduction 1 Reading & Reference Reading dev.to/lechatthecat/how-to-use-spring-boot-java-web-framework-withintellij-idea-202p http://engineering.pivotal.io/post/must-know-spring-boot-annotationscontrollers/

More information

Smart Car Parking. Accelerator DDM & LWM2M Setup

Smart Car Parking. Accelerator DDM & LWM2M Setup Smart Car Parking Accelerator DDM & LWM2M Setup 1 2 Table of Contents The APPIoT & LWM2M PoC... 1 1. General Information... 4 1.1 Introduction... 4 1.2 Hight level architect... 4 2. Setting up the Bootstrap

More information

4. Check the site specified in previous step to work with, expand Maven osgi-bundles, and select slf4j.api,

4. Check the site specified in previous step to work with, expand Maven osgi-bundles, and select slf4j.api, In this tutorial, we describe steps for setting up a Maven project that uses libsbolj in Eclipse. Another tutorial follows this one which explains how we use SBOL 2 to represent the function of a state-of-the-art

More information

Testing on Steriods EECS /30

Testing on Steriods EECS /30 1/30 Testing on Steriods EECS 4315 www.eecs.yorku.ca/course/4315/ How to test code? 2/30 input code output Provide the input. Run the code. Compare the output with the expected output. White box testing

More information

Topics covered. Introduction to JUnit JUnit: Hands-on session Introduction to Mockito Mockito: Hands-on session. JUnit & Mockito 2

Topics covered. Introduction to JUnit JUnit: Hands-on session Introduction to Mockito Mockito: Hands-on session. JUnit & Mockito 2 JUnit & Mockito 1 Topics covered Introduction to JUnit JUnit: Hands-on session Introduction to Mockito Mockito: Hands-on session JUnit & Mockito 2 Introduction to JUnit JUnit & Mockito 3 What is JUnit?

More information

Unit Testing. CS 240 Advanced Programming Concepts

Unit Testing. CS 240 Advanced Programming Concepts Unit Testing CS 240 Advanced Programming Concepts F-22 Raptor Fighter 2 F-22 Raptor Fighter Manufactured by Lockheed Martin & Boeing How many parts does the F-22 have? 3 F-22 Raptor Fighter What would

More information

Selenium Testing Course Content

Selenium Testing Course Content Selenium Testing Course Content Introduction What is automation testing? What is the use of automation testing? What we need to Automate? What is Selenium? Advantages of Selenium What is the difference

More information

SELENIUM. SELENIUM COMPONENTS Selenium IDE Selenium RC Selenium Web Driver Selenium Grid

SELENIUM. SELENIUM COMPONENTS Selenium IDE Selenium RC Selenium Web Driver Selenium Grid INTRODUCTION TO AUTOMATION Testing What is automation testing? Different types of Automation Tools 1. Functional Testing Tools 2. Test Management Tools 3. Performance Testing Tools Advantages of automation

More information

Documentation for Import Station

Documentation for Import Station Documentation for Import Station Table of Contents Page 2 of 45 Table of Contents Table of Contents Import Station Setup Download Linux configuration Register translations Configure connection Launch the

More information

11 Using JUnit with jgrasp

11 Using JUnit with jgrasp 11 Using JUnit with jgrasp jgrasp includes an easy to use plug-in for the JUnit testing framework. JUnit provides automated support for unit testing of Java source code, and its utility has made it a de

More information

What is Maven? Apache Maven is a software project management and comprehension tool (build, test, packaging, reporting, site, deploy).

What is Maven? Apache Maven is a software project management and comprehension tool (build, test, packaging, reporting, site, deploy). Plan What is Maven? Links : mvn command line tool POM : 1 pom.xml = 1 artifact POM POM Inheritance Standard Directory Layout Demo on JMMC projects Plugins Conclusion What is Maven? Apache Maven is a software

More information

STQA Mini Project No. 1

STQA Mini Project No. 1 STQA Mini Project No. 1 R (2) C (4) V (2) T (2) Total (10) Dated Sign 1.1 Title Mini-Project 1: Create a small application by selecting relevant system environment/ platform and programming languages.

More information

Topics covered. Introduction to Maven Maven for Dependency Management Maven Lifecycles and Plugins Hands on session. Maven 2

Topics covered. Introduction to Maven Maven for Dependency Management Maven Lifecycles and Plugins Hands on session. Maven 2 Maven Maven 1 Topics covered Introduction to Maven Maven for Dependency Management Maven Lifecycles and Plugins Hands on session Maven 2 Introduction to Maven Maven 3 What is Maven? A Java project management

More information

JUnit tes)ng. Elisa Turrini

JUnit tes)ng. Elisa Turrini JUnit tes)ng Elisa Turrini Automated Tes)ng Code that isn t tested doesn t work Code that isn t regression tested suffers from code rot (breaks eventually) If it is not automated it is not done! Boring

More information

SELENIUM. Courses Offered. Ph: / Course Coverage:- Date:..Timings.. Duration Fees. Testing Tools QTP Load Runner Hadoop

SELENIUM. Courses Offered. Ph: / Course Coverage:- Date:..Timings.. Duration Fees. Testing Tools QTP Load Runner Hadoop SELENIUM Java for Selenium Selenium IDE Selenium WebDriver JUnit Framework TestNG Framework Course Coverage:- SVN Maven DataBase Testing Using Selenium Grid POM(Page Object Model Date:..Timings.. Duration

More information

Programmieren II. Unit Testing & Test-Driven Development. Alexander Fraser.

Programmieren II. Unit Testing & Test-Driven Development. Alexander Fraser. Programmieren II Unit Testing & Test-Driven Development Alexander Fraser fraser@cl.uni-heidelberg.de (Based on material from Lars Vogel and T. Bögel) July 2, 2014 1 / 62 Outline 1 Recap 2 Testing - Introduction

More information

GAUTAM SINGH STUDY MATERIAL SOFTWARE QUALITY Unit 9. Cucumber

GAUTAM SINGH STUDY MATERIAL SOFTWARE QUALITY Unit 9. Cucumber Unit 9. Cucumber In order to get better advantage of the software testing, organizations are nowadays taking a step forward. They implement important acceptance test scenarios while development is in-progress.

More information

What is the Selendroid?

What is the Selendroid? When you publish an app to Google play, it must be well tested to avoid the potential bugs. There's a ton of test scenarios that should be executed before publishing an app. To save the testing effort,

More information

EXPERT TRAINING PROGRAM [Selenium 2.0 / WebDriver]

EXPERT TRAINING PROGRAM [Selenium 2.0 / WebDriver] EXPERT TRAINING PROGRAM [Selenium 2.0 / WebDriver] COURSE OVERVIEW Automation and Automation Concepts Introduction to Test Automation Test Automation Truths or Myths Where to use Test Automation and Where

More information

JUnit Programming Cookbook. JUnit Programming Cookbook

JUnit Programming Cookbook. JUnit Programming Cookbook JUnit Programming Cookbook i JUnit Programming Cookbook JUnit Programming Cookbook ii Contents 1 Hello World Example 1 1.1 Setup JUnit Hello World Project........................................... 1 1.2

More information

White-box testing. Software Reliability and Testing - Barbara Russo SERG - Laboratory of Empirical Software Engineering.

White-box testing. Software Reliability and Testing - Barbara Russo SERG - Laboratory of Empirical Software Engineering. White-box testing Software Reliability and Testing - Barbara Russo SERG - Laboratory of Empirical Software Engineering Barbara Russo 1 White-box testing White-box testing is a verification technique that

More information

Java Programming Basics

Java Programming Basics Java Programming Basics Why Java for Selenium Installing Java Installing Eclipse First Eclipse Project First Java program Concept of class file Datatypes in Java String class and functions Practical Examples

More information

Define a Java SE class for running/testing your Spring Integration components.

Define a Java SE class for running/testing your Spring Integration components. Lab Exercise Understanding Channels - Lab 1 Channels are an integral part of any Spring Integration application. There are many channels to choose from. Understanding the basic channel types (subscribable

More information

The age of automation is going to be the age of 'do it yourself. - Marshall McLuhan

The age of automation is going to be the age of 'do it yourself. - Marshall McLuhan Training Name Automation Software Testing using Selenium WebDriver with Java Training Introduction The age of automation is going to be the age of 'do it yourself. - Marshall McLuhan Selenium automates

More information

Introduction: Manual Testing :

Introduction: Manual Testing : : What is Automation Testing? Use of Automation. Where do we use. Tools that Do Automation. Web Applications vs Standalone Applications. What is selenium? How selenium works. Manual Testing : HTML: Detailed

More information

(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info

(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info (Complete Package) SELENIUM CORE JAVA We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info START DATE : TIMINGS : DURATION : TYPE OF BATCH : FEE : FACULTY NAME : LAB TIMINGS

More information

@AfterMethod

@AfterMethod 1. What are the annotations used in TestNG? @Test, @BeforeSuite, @AfterSuite, @BeforeTest, @AfterTest, @BeforeClass, @AfterClass, @BeforeMethod, @AfterMethod 2. How do you read data from excel? FileInputStream

More information

CHAPTER 6. Java Project Configuration

CHAPTER 6. Java Project Configuration CHAPTER 6 Java Project Configuration Eclipse includes features such as Content Assist and code templates that enhance rapid development and others that accelerate your navigation and learning of unfamiliar

More information

INTRODUCTION TO JAVA PROGRAMMING JAVA FUNDAMENTALS PART 2

INTRODUCTION TO JAVA PROGRAMMING JAVA FUNDAMENTALS PART 2 INTRODUCTION TO JAVA PROGRAMMING JAVA FUNDAMENTALS PART 2 Table of Contents Introduction to JUnit 4 What is a Test Driven approach? 5 The benefits of a Test Driven Approach 6 What is Continuous Integration?

More information

AUTOMATION TESTING FRAMEWORK FOR LUMINOUS LMS

AUTOMATION TESTING FRAMEWORK FOR LUMINOUS LMS AUTOMATION TESTING FRAMEWORK FOR LUMINOUS LMS CONTENT Introduction. List of tools used to create Testing Framework Luminous LMS work scheme Testing Framework work scheme Automation scenario set lifecycle

More information

The most frequently asked questions about JUnit are answered here (especially sections 4, 5 and 7):

The most frequently asked questions about JUnit are answered here (especially sections 4, 5 and 7): Java JUnit Tutorial Author: Péter Budai, BME IIT, 2011. The description of the annotations of JUnit can be found here: http://junit.sourceforge.net/javadoc/ The most frequently asked questions about JUnit

More information

Selenium Programming Cookbook. Selenium Programming Cookbook

Selenium Programming Cookbook. Selenium Programming Cookbook Selenium Programming Cookbook i Selenium Programming Cookbook Selenium Programming Cookbook ii Contents 1 Selenium Installation Example 1 1.1 Introduction......................................................

More information

mvn package -Dmaven.test.skip=false //builds DSpace and runs tests

mvn package -Dmaven.test.skip=false //builds DSpace and runs tests DSpace Testing 1 Introduction 2 Quick Start 2.1 Maven 2.2 JUnit 2.3 JMockit 2.4 ContiPerf 2.5 H2 3 Unit Tests Implementation 3.1 Structure 3.2 Limitations 3.3 How to build new tests 3.4 How to run the

More information

JUNIT 5 & TESTCONTAINERS. Testing with Java and Docker

JUNIT 5 & TESTCONTAINERS. Testing with Java and Docker JUNIT 5 & TESTCONTAINERS Testing with Java and Docker TIM RIEMER Solution Architect @ Vorwerk Digital tim.riemer@vorwerk.de Co-Lead Kotlin UG Dusseldorf @zordan_f github.com/timriemer JUNIT 5 JUNIT 5 JUnit

More information

*** Any Query *** Mail : 1. Introduction to Selenium. What is Selenium? Different automations tools. Selenium Automation Tools

*** Any Query *** Mail : 1. Introduction to Selenium. What is Selenium? Different automations tools. Selenium Automation Tools @999 (75% off) Learn Advance Selenium Online Video Course # Life time access with new Updates. # Basic to Advance level Course # Total Sessions : 65 Videoes / Total Duration : 138 Hrs # www.stqatools.com

More information

Testing. My favourite testing quote: Program testing can be used to show the presence of bugs, but never to show their absence!

Testing. My favourite testing quote: Program testing can be used to show the presence of bugs, but never to show their absence! Testing Some resources The most time-consuming of a development project. See for example https://www.itu.dk/people/sestoft/ papers/softwaretesting.pdf - Peter Sestoft testing notes Testing My favourite

More information

SELENIUM TRAINING COURSE CONTENT

SELENIUM TRAINING COURSE CONTENT SECTION 1 : INTRODUCTION SELENIUM TRAINING COURSE CONTENT What is automation testing? When Automation Testing is needed? What is the use of automation testing? Different Automation Tools available in the

More information

Step 2. Creating and running a project(core)

Step 2. Creating and running a project(core) Getting started with the HelloWorld application based on the e-government Framework Summary This guide provides a HelloWorld tutorial to quickly work through features of the egovframe. It assumes the target

More information

Maven POM project modelversion groupid artifactid packaging version name

Maven POM project modelversion groupid artifactid packaging version name Maven The goal of this document is to introduce the Maven tool. This document just shows some of the functionalities of Maven. A complete guide about Maven can be found in http://maven.apache.org/. Maven

More information

About 1. Chapter 1: Getting started with testng 2. Remarks 2. Versions 2. Examples 2. Installation or Setup 2. Quick program using TestNG 3

About 1. Chapter 1: Getting started with testng 2. Remarks 2. Versions 2. Examples 2. Installation or Setup 2. Quick program using TestNG 3 testng #testng Table of Contents About 1 Chapter 1: Getting started with testng 2 Remarks 2 Versions 2 Examples 2 Installation or Setup 2 Quick program using TestNG 3 TestNG Hello World Example 3 Run TestNG

More information

Using Eclipse Europa - A Tutorial

Using Eclipse Europa - A Tutorial Abstract Lars Vogel Version 0.7 Copyright 2007 Lars Vogel 26.10.2007 Eclipse is a powerful, extensible IDE for building general purpose applications. One of the main applications

More information

Maven. INF5750/ Lecture 2 (Part II)

Maven. INF5750/ Lecture 2 (Part II) Maven INF5750/9750 - Lecture 2 (Part II) Problem! Large software projects usually contain tens or even hundreds of projects/modules Very different teams may work on different modules Will become messy

More information

Learning Objectives of CP-SAT v 1.3

Learning Objectives of CP-SAT v 1.3 Learning Objectives of CP-SAT v 1.3 Knowledge with experience is power; certification is just a by-product What is CP-SAT? CP-SAT stands for Certified Practitioner Selenium Automation Testing certification

More information

JUnit Framework. Terminology: assertions, annotations, fixtures. Dr. Siobhán Drohan Mairead Meagher. Produced by:

JUnit Framework. Terminology: assertions, annotations, fixtures. Dr. Siobhán Drohan Mairead Meagher. Produced by: JUnit Framework Terminology: assertions, annotations, fixtures Produced by: Dr. Siobhán Drohan Mairead Meagher Department of Computing and Mathematics http://www.wit.ie/ Topic List General Terminology

More information

Hello Maven. TestNG, Eclipse, IntelliJ IDEA. Óbuda University, Java Enterprise Edition John von Neumann Faculty of Informatics Lab 2.

Hello Maven. TestNG, Eclipse, IntelliJ IDEA. Óbuda University, Java Enterprise Edition John von Neumann Faculty of Informatics Lab 2. Hello Maven TestNG, Eclipse, IntelliJ IDEA Óbuda University, Java Enterprise Edition John von Neumann Faculty of Informatics Lab 2 Dávid Bedők 2017.09.19. v0.1 Dávid Bedők (UNI-OBUDA) Hello JavaEE 2017.09.19.

More information

Selenium Training. Training Topics

Selenium Training. Training Topics Selenium Training Training Topics Chapter 1 : Introduction to Automation Testing What is automation testing? When Automation Testing is needed? When Automation Testing is not needed? What is the use of

More information

Maven Plugin Guide OpenL Tablets BRMS Release 5.16

Maven Plugin Guide OpenL Tablets BRMS Release 5.16 OpenL Tablets BRMS Release 5.16 OpenL Tablets Documentation is licensed under a Creative Commons Attribution 3.0 United States License. Table of Contents 1 Preface... 4 1.1 Related Information... 4 1.2

More information

Produced by. Agile Software Development. Eamonn de Leastar

Produced by. Agile Software Development. Eamonn de Leastar Agile Software Development Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie pacemaker-console

More information

Test-Driven Development JUnit

Test-Driven Development JUnit Test-Driven Development JUnit Click to edit Master EECS text 2311 styles - Software Development Project Second level Third level Fourth level Fifth level Wednesday, January 18, 2017 1 Simulator submission

More information

Unit Testing Activity

Unit Testing Activity Unit Testing Activity SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology Your activity for the Unit Testing lesson is to build tests for

More information

Just Enough Eclipse What is Eclipse(TM)? Why is it important? What is this tutorial about?

Just Enough Eclipse What is Eclipse(TM)? Why is it important? What is this tutorial about? Just Enough Eclipse What is Eclipse(TM)? Eclipse is a kind of universal tool platform that provides a feature-rich development environment. It is particularly useful for providing the developer with an

More information

Test-Driven Development (a.k.a. Design to Test) CSE260, Computer Science B: Honors Stony Brook University

Test-Driven Development (a.k.a. Design to Test) CSE260, Computer Science B: Honors Stony Brook University Test-Driven Development (a.k.a. Design to Test) CSE260, Computer Science B: Honors Stony Brook University http://www.cs.stonybrook.edu/~cse260 Person-hours Labor is sometimes measured in person-hours,

More information

Class Dependency Analyzer CDA Developer Guide

Class Dependency Analyzer CDA Developer Guide CDA Developer Guide Version 1.4 Copyright 2007-2017 MDCS Manfred Duchrow Consulting & Software Author: Manfred Duchrow Table of Contents: 1 Introduction 3 2 Extension Mechanism 3 1.1. Prerequisites 3 1.2.

More information

Instructor Notes for 2 Days Java For Testers Training

Instructor Notes for 2 Days Java For Testers Training Contents Instructor Notes for 2 Days Java For Testers Training 1 Rough Timings Day 1........................... 2 Rough Timings Day 2........................... 3 Expanded Timings.............................

More information

1. Go to the URL Click on JDK download option

1. Go to the URL   Click on JDK download option Download and installation of java 1. Go to the URL http://www.oracle.com/technetwork/java/javase/downloads/index.html Click on JDK download option 2. Select the java as per your system type (32 bit/ 64

More information

Simplified Build Management with Maven

Simplified Build Management with Maven Simplified Build Management with Maven Trasys Greece Kostis Kapelonis 11/06/2010 Menu Kitchen says hi!(motivation) Starters (Maven sample pom) Soup (Maven philosophy) Main dish (Library management) Side

More information

Apache Isis Maven plugin

Apache Isis Maven plugin Apache Isis Maven plugin Table of Contents 1. Apache Isis Maven plugin................................................................. 1 1.1. Other Guides.........................................................................

More information

Unit Tes2ng Ac2vity. SWEN-261 Introduc2on to So3ware Engineering. Department of So3ware Engineering Rochester Ins2tute of Technology

Unit Tes2ng Ac2vity. SWEN-261 Introduc2on to So3ware Engineering. Department of So3ware Engineering Rochester Ins2tute of Technology Unit Tes2ng Ac2vity SWEN-261 Introduc2on to So3ware Engineering Department of So3ware Engineering Rochester Ins2tute of Technology Your activity for the Unit Testing lesson is to build tests for existing

More information

Selenium Course Content

Selenium Course Content Chapter 1 : Introduction to Automation Testing Selenium Course Content What is automation testing? When Automation Testing is needed? When Automation Testing is not needed? What is the use of automation

More information

Software Development Tools. COMP220/COMP285 Sebastian Coope Eclipse and JUnit: Creating and running a JUnit test case

Software Development Tools. COMP220/COMP285 Sebastian Coope Eclipse and JUnit: Creating and running a JUnit test case Software Development Tools COMP220/COMP285 Sebastian Coope Eclipse and JUnit: Creating and running a JUnit test case These slides are mainly based on Java Development with Eclipse D.Gallardo et al., Manning

More information

Learning Objectives of CP-SAT v 1.31

Learning Objectives of CP-SAT v 1.31 Learning Objectives of CP-SAT v 1.31 Knowledge with experience is power; certification is just a by-product What is CP-SAT? CP-SAT stands for Certified Professional Selenium Automation Testing certification

More information

Spark Tutorial. General Instructions

Spark Tutorial. General Instructions CS246: Mining Massive Datasets Winter 2018 Spark Tutorial Due Thursday January 25, 2018 at 11:59pm Pacific time General Instructions The purpose of this tutorial is (1) to get you started with Spark and

More information

Overall Design of SSS Software

Overall Design of SSS Software of SSS Software Review of SSS Readiness for EVLA Shared Risk Observing, June 5, 2009 David M. Harland SSS Group Lead Introduction SSS Applications Philosophies Design Code Borrowing Process 2 of 19 Applications

More information

SELENIUM - REMOTE CONTROL

SELENIUM - REMOTE CONTROL http://www.tutorialspoint.com/selenium/selenium_rc.htm SELENIUM - REMOTE CONTROL Copyright tutorialspoint.com Selenium Remote Control RC was the main Selenium project that sustained for a long time before

More information

Release Notes June 15, Date: 15-Jun :49 URL:

Release Notes June 15, Date: 15-Jun :49 URL: Release Notes 2.7.0 June 15, 2017 Date: 15-Jun-2017 14:49 URL: https://esito-conf.inmeta.com/display/rn/release+notes+2.7.0 Table of Contents 1 News and Changes 3 1.1 The Dialog Editor Palette 3 1.2 Fast

More information

Module Road Map. 7. Version Control with Subversion Introduction Terminology

Module Road Map. 7. Version Control with Subversion Introduction Terminology Module Road Map 1. Overview 2. Installing and Running 3. Building and Running Java Classes 4. Refactoring 5. Debugging 6. Testing with JUnit 7. Version Control with Subversion Introduction Terminology

More information

Basic Tutorial on Creating Custom Policy Actions

Basic Tutorial on Creating Custom Policy Actions Basic Tutorial on Creating Custom Policy Actions This tutorial introduces the Policy API to create a custom policy action. As an example you will write an action which excludes certain values for an asset

More information

JDO Tools Guide (v5.1)

JDO Tools Guide (v5.1) JDO Tools Guide (v5.1) Table of Contents Maven Plugin.............................................................................. 2 pom.xml Integration.......................................................................

More information

C# 2013 Express Web WebDriver Automation. Introduction tutorial

C# 2013 Express Web WebDriver Automation. Introduction tutorial C# 2013 Express Web WebDriver Automation Introduction tutorial John Sumner 2015 Contents Introduction... 3 Section 1. Introduction to C# 2013 Express for Web... 3 Installation of Microsoft Visual C# 2013

More information

Executable business processes in BPMN 2.0 IN ACTION. Tijs Rademakers. FOREWORDS BY Tom Baeyens. AND Joram Barrez SAMPLE CHAPTER MANNING

Executable business processes in BPMN 2.0 IN ACTION. Tijs Rademakers. FOREWORDS BY Tom Baeyens. AND Joram Barrez SAMPLE CHAPTER MANNING Executable business processes in BPMN 2.0 IN ACTION Tijs Rademakers FOREWORDS BY Tom Baeyens AND Joram Barrez SAMPLE CHAPTER MANNING Activiti in Action by Tijs Rademakers Chapter 4 Copyright 2012 Manning

More information

Construction: version control and system building

Construction: version control and system building Construction: version control and system building Paul Jackson School of Informatics University of Edinburgh The problem of systems changing Systems are constantly changing through development and use

More information

13 th Windsor Regional Secondary School Computer Programming Competition

13 th Windsor Regional Secondary School Computer Programming Competition SCHOOL OF COMPUTER SCIENCE 13 th Windsor Regional Secondary School Computer Programming Competition Hosted by The School of Computer Science, University of Windsor WORKSHOP I [ Overview of the Java/Eclipse

More information

Test-Driven Development JUnit

Test-Driven Development JUnit Test-Driven Development JUnit Click to edit Master EECS text 2311 styles - Software Development Project Second level Third level Fourth level Fifth level Wednesday, January 24, 2018 1 Unit Testing Testing

More information

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started Application Development in JAVA Duration Lecture: Specialization x Hours Core Java (J2SE) & Advance Java (J2EE) Detailed Module Part I: Core Java (J2SE) Getting Started What is Java all about? Features

More information

Accessibility. Adding features to support users with impaired vision, mobility, or hearing

Accessibility. Adding features to support users with impaired vision, mobility, or hearing Accessibility Adding features to support users with impaired vision, mobility, or hearing TalkBack TalkBack is an Android screen reader made by Google. It speaks out the contents of a screen based on what

More information

TIBCO StreamBase 10.2 Building and Running Applications in Studio, Studio Projects and Project Structure. November 2017

TIBCO StreamBase 10.2 Building and Running Applications in Studio, Studio Projects and Project Structure. November 2017 TIBCO StreamBase 10.2 Building and Running Applications in Studio, Studio Projects and Project Structure November 2017 TIBCO StreamBase 10 Experience 1. Build a StreamBase 10 Project 2. Run/Debug an StreamBase

More information

Selenium. Duration: 50 hrs. Introduction to Automation. o Automating web application. o Automation challenges. o Automation life cycle

Selenium. Duration: 50 hrs. Introduction to Automation. o Automating web application. o Automation challenges. o Automation life cycle Selenium Duration: 50 hrs. Introduction to Automation o Automating web application o Automation challenges o Automation life cycle o Role of selenium in test automation o Overview of test automation tools

More information

LarvaLight User Manual

LarvaLight User Manual LarvaLight User Manual LarvaLight is a simple tool enabling the user to succinctly specify monitors which trigger upon events of an underlying Java system, namely method calls and returns. If the events

More information

JPA Tools Guide (v5.0)

JPA Tools Guide (v5.0) JPA Tools Guide (v5.0) Table of Contents Maven Plugin.............................................................................. 2 pom.xml Integration.......................................................................

More information

Content. Development Tools 2(57)

Content. Development Tools 2(57) Development Tools Content Project management and build, Maven Unit testing, Arquillian Code coverage, JaCoCo Profiling, NetBeans Static Analyzer, NetBeans Continuous integration, Hudson Development Tools

More information

HP Operations Orchestration

HP Operations Orchestration HP Operations Orchestration For Windows and Linux HP OO Software Version 10.01 Extension Developers Guide Document Release Date: August 2013 Software Release Date: August 2013 Legal Notices Warranty The

More information

International Journal of Advance Engineering and Research Development. Proof of concept (Poc) selenium web driver based Automation framework

International Journal of Advance Engineering and Research Development. Proof of concept (Poc) selenium web driver based Automation framework Scientific Journal of Impact Factor (SJIF): 4.72 International Journal of Advance Engineering and Research Development Volume 4, Issue 7, July -2017 e-issn (O): 2348-4470 p-issn (P): 2348-6406 Proof of

More information

A faster approach for accessing Snap Deal URL using Multi browser with Selenium Web Driver

A faster approach for accessing Snap Deal URL using Multi browser with Selenium Web Driver A faster approach for accessing Snap Deal URL using Multi browser with Selenium Web Driver 1 Mahan Sunhare, 2 Abhishek Tiwari Student (M-tech), Guide MIT, Ujjain, India ABSTRACT: In current paper, we are

More information

juddi Developer Guide

juddi Developer Guide juddi 3.0 - Developer Guide Developer Guide ASF-JUDDI-DEVGUIDE-16/04/09 Contents Table of Contents Contents... 2 About This Guide... 3 What This Guide Contains... 3 Audience... 3 Prerequisites... 3 Organization...

More information

MAVEN INTERVIEW QUESTIONS

MAVEN INTERVIEW QUESTIONS MAVEN INTERVIEW QUESTIONS http://www.tutorialspoint.com/maven/maven_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Maven Interview Questions have been designed specially to get

More information

Table of Contents. Tutorial API Deployment Prerequisites... 1

Table of Contents. Tutorial API Deployment Prerequisites... 1 Copyright Notice All information contained in this document is the property of ETL Solutions Limited. The information contained in this document is subject to change without notice and does not constitute

More information

The design of the PowerTools engine. The basics

The design of the PowerTools engine. The basics The design of the PowerTools engine The PowerTools engine is an open source test engine that is written in Java. This document explains the design of the engine, so that it can be adjusted to suit the

More information

HP Operations Orchestration

HP Operations Orchestration HP Operations Orchestration Software Version: 10.22 Windows and Linux Operating Systems Action Developers Guide Document Release Date: July 2015 Software Release Date: July 2015 Legal Notices Warranty

More information

Apache Maven. Created by anova r&d bvba

Apache Maven. Created by anova r&d bvba Apache Maven Created by anova r&d bvba http://www.anova.be This work is licensed under the Creative Commons Attribution 2.0 Belgium License. To view a copy of this license, visit http://creativecommons.org/licenses/by/2.0/be/

More information

Living Documentation. Version RC1

Living Documentation. Version RC1 Living Documentation Version 1.0.0-RC1 Table of Contents 1. Introduction............................................................................. 1 2. Manage database with Database Rider Core..............................................

More information

AutoVue Integration SDK & Sample Integration for Filesys DMS

AutoVue Integration SDK & Sample Integration for Filesys DMS AutoVue Integration SDK & Sample Integration for Filesys DMS Installation Guide AutoVue Integration SDK Contents INTRODUCTION...1 SYSTEM REQUIREMENTS...2 INSTALLATION PREREQUISITES...3 Download the Eclipse

More information

Test automation / JUnit. Building automatically repeatable test suites

Test automation / JUnit. Building automatically repeatable test suites Test automation / JUnit Building automatically repeatable test suites JUnit in Eclipse For this course, we will use JUnit in Eclipse It is automatically a part of Eclipse One documentation site (all one

More information

Video 2.1. Arvind Bhusnurmath. Property of Penn Engineering, Arvind Bhusnurmath. SD1x-2 1

Video 2.1. Arvind Bhusnurmath. Property of Penn Engineering, Arvind Bhusnurmath. SD1x-2 1 Video 2.1 Arvind Bhusnurmath SD1x-2 1 Topics Why is testing important? Different types of testing Unit testing SD1x-2 2 Software testing Integral part of development. If you ship a software with bugs,

More information

NetBeans IDE Java Quick Start Tutorial

NetBeans IDE Java Quick Start Tutorial NetBeans IDE Java Quick Start Tutorial Welcome to NetBeans IDE! This tutorial provides a very simple and quick introduction to the NetBeans IDE workflow by walking you through the creation of a simple

More information

Utilizing the Inspection Tool. Switching to PMD Perpective. Summary. Basic manual

Utilizing the Inspection Tool. Switching to PMD Perpective. Summary. Basic manual Utilizing the Inspection Tool Summary This guide will describe the egovframe s Code Inspection tool called PMD and its basic usage. Basic manual You can run Code Inspection from the IDE s PMD Perspective

More information

Tools for Unit Test - JUnit

Tools for Unit Test - JUnit Tools for Unit Test - JUnit Conrad Hughes School of Informatics Slides thanks to Stuart Anderson 15 January 2010 Software Testing: Lecture 2 1 JUnit JUnit is a framework for writing tests Written by Erich

More information