Getting Started with the Oracle Maven Repository

Similar documents
Content. Development Tools 2(63)

Maven or how to automate java builds, tests and version management with open source tools

Continuous Integration For Fusion Middleware

Continuous integration in OSGi projects using Maven (v:0.1) Sergio Blanco Diez

Hands on exercise for

Monitoring Oracle Enterprise Performance Management System Release Deployments from Oracle Enterprise Manager 12c

Sonatype CLM for Maven. Sonatype CLM for Maven

Integrating your Maven Build and Tomcat Deployment

Oracle Fusion Middleware. 1 Oracle Team Productivity Center Server System Requirements. 2 Installing the Oracle Team Productivity Center Server

Build management & Continuous integration. with Maven & Hudson

Maven2 Reference. Invoking Maven General Syntax: Prints help debugging output, very useful to diagnose. Creating a new Project (jar) Example:

Oracle Managed File Getting Started - Transfer FTP Server to File Table of Contents

LAE 5.1. Windows Server Installation Guide. Version 1.0

Developing Applications Using Continuous Integration 12c (12.2.1)

WebLogic Server - OGG Domain under Windows7 Startup and Shutdown Admin Server and Managed Servers

Workshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies:

Sonatype CLM Enforcement Points - Continuous Integration (CI) Sonatype CLM Enforcement Points - Continuous Integration (CI)

IBM WebSphere Application Server V8.5 lab Basic Liberty profile administration using the job manager

Maven 2 in the real world

HOW TO SILENTLY INSTALL CLOUD LINK REMOTELY WITHOUT SUPERVISION

1z0-102 Q&A. DEMO Version

CORISECIO. Quick Installation Guide Open XML Gateway

Builder User Guide. Version Visual Rules Suite - Builder. Bosch Software Innovations

Case Study: Using Jenkins to Build WebSphere Portal Applications for the Enterprise. #jenkinsconf. Jenkins User Conference Boston #jenkinsconf

EVALUATION ONLY. WA2088 WebSphere Application Server 8.5 Administration on Windows. Student Labs. Web Age Solutions Inc.

Ipswitch Client Installation Guide

Software project management. and. Maven

Configuring Apache HTTP Server as a Reverse Proxy Server for SAS 9.3 Web Applications Deployed on Oracle WebLogic Server

Test Automation Integration with Test Management QAComplete

An Oracle White Paper September Oracle WebLogic Server 12c on Microsoft Windows Azure

R12.2 Install/Patch/Maintain Oracle E-Business Suite

Sample copy. Introduction To WebLogic Server Property of Web 10.3 Age Solutions Inc.

5 Days Course on Oracle WebLogic Server 11g: Administration Essentials

Oracle. Getting Started with Database Mobile Server (DMS) Release: 11.3

Oracle WebLogic Server 11g: Administration Essentials

How To Use An Orgsync With Anorgfusion Middleware

Deploying Microsoft Operations Manager with the BIG-IP system and icontrol

Oracle Exam 1z0-102 Oracle Weblogic Server 11g: System Administration I Version: 9.0 [ Total Questions: 111 ]

Table of Contents. FleetSoft Installation Guide

WebLogic Server: Installation and Configuration

INSTALLING AND INVOKING ORACLE DATA INTEGRATOR (ODI) PUBLIC WEB SERVICES

Software project management. and. Maven

Oracle Enterprise Manager. Description. Versions Supported

SSO Plugin. Installation for BMC AR System and WUT. J System Solutions. Version 3.4

Hudson configuration manual

Oracle EXAM - 1Z Oracle Weblogic Server 11g: System Administration I. Buy Full Product.

Integration Guide. SafeNet Authentication Service. Oracle Secure Desktop Using SAS RADIUS OTP Authentication

Implementing a SAS Metadata Server Configuration for Use with SAS Enterprise Guide

NSi Mobile Installation Guide. Version 6.2

Installing and Configuring Microsoft Dynamics Outlook Plugin to Use with ipipeline MS CRM

Drupal CMS for marketing sites

Using Oracle Cloud to Power Your Application Development Lifecycle

Department of Veterans Affairs VistA Integration Adapter Release Enhancement Manual

Jenkins on Windows with StreamBase

WHMCS LUXCLOUD MODULE

Coherence Managed Servers

Securing SAS Web Applications with SiteMinder

KINETIC SR (Survey and Request)

Advanced Service Design

An Oracle White Paper March Integrating the SharePoint 2007 Adapter with WebCenter Spaces ( & )

Content Filtering Client Policy & Reporting Administrator s Guide

Installing and Configuring vcloud Connector

Power Update - Documentation Power Update Manager

Avalanche Site Edition

Installation Guide. Version 2.1. on Oracle Java Cloud Service

Getting Started with Tableau Server 6.1

StreamServe Persuasion SP5 Control Center

Maven2. Configuration and Build Management. Robert Reiz

Citrix EdgeSight for Load Testing Installation Guide. Citrix EdgeSight for Load Testing 3.5

WEBLOGIC SERVER MANAGEMENT PACK ENTERPRISE EDITION

Ad Hoc Transfer Plug-in for Outlook Installation Guide

RoomWizard Synchronization Software Manual Installation Instructions

Trend Micro Hosted Security. Best Practice Guide

The goal with this tutorial is to show how to implement and use the Selenium testing framework.

Configuring IBM HTTP Server as a Reverse Proxy Server for SAS 9.3 Web Applications Deployed on IBM WebSphere Application Server

Builder User Guide. Version 5.4. Visual Rules Suite - Builder. Bosch Software Innovations

Configuring Apache HTTP Server as a Reverse Proxy Server for SAS 9.2 Web Applications Deployed on BEA WebLogic Server 9.2

An Oracle White Paper October Frequently Asked Questions for Oracle Forms 11g

BusinessObjects Enterprise XI Release 2

3. Installation and Configuration. 3.1 Java Development Kit (JDK)

SSO Plugin. J System Solutions. Upgrading SSO Plugin 3x to 4x - BMC AR System & Mid Tier.

SDK Code Examples Version 2.4.2

Pre-Installation Instructions

Oracle Fusion Middleware 11gR2: Forms, and Reports ( ) Certification with SUSE Linux Enterprise Server 11 SP2 (GM) x86_64

User Guide Online Backup

Tivoli Endpoint Manager for Remote Control Version 8 Release 2. User s Guide

Enterprise Service Bus

About Node Manager and the WebLogic Scripting Tool

JD Edwards EnterpriseOne 9.1 Clustering Best Practices with Oracle WebLogic Server

D5.4.4 Integrated SemaGrow Stack API components

Upgrading VMware Identity Manager Connector

DEPLOYMENT GUIDE Version 1.1. Deploying F5 with Oracle Fusion Middleware Identity Management 11gR1

Embarcadero Performance Center 2.7 Installation Guide

Spring Security SAML module

How To: Manage your Oracle patch deployment life cycle using Oracle Support Patch Plans

DocAve Upgrade Guide. From Version 4.1 to 4.5

Transcription:

Getting Started with the Oracle Maven Repository Hands-on Lab Guide Copyright 2015 Oracle Corporation. All rights reserved. Mark Nelson, Architect, Fusion Middleware Platform Engineering Copyright 2015 Oracle Corporation. All Rights Reserved. Page 1 of 15

Table of Contents 1 Introduction... 3 2 Prerequisites... 3 3 Getting Access and Configuring Maven... 3 3.1 Register for Access... 3 3.2 Configure Maven... 3 3.2.1 Authentication... 4 3.2.2 Create a Master Password... 4 3.2.3 Encrypt your OTN Password... 4 3.2.4 Adding the Oracle Maven Repository to Your settings.xml... 4 3.2.5 Configuring the HTTP Wagon... 5 3.2.6 Set up Maven to use the Oracle Maven Repository without a POM... 5 3.3 About the Oracle Maven Synchronization plugin... 6 4 Creating a New Project... 6 5 Building the Project... 7 6 Preparing a WebLogic Server environment for deployment and testing... 8 6.1 Install WebLogic Server... 8 6.2 Create a Domain... 9 6.3 Start a Server... 10 6.4 Stop the Server... 10 6.5 Remove the Domain... 12 7 Testing the Application... 12 7.1 Add Robot Framework to our Project... 13 7.2 Add Selenium Library... 13 7.3 Creating the Tests... 13 8 Running our build... 14 9 Review... 15 Copyright 2015 Oracle Corporation. All Rights Reserved. Page 2 of 15

1 Introduction In this Hands-on lab, we will learn how to use the Oracle Maven Repository to create and build applications for Fusion Middleware. The Oracle Maven Repository contains artifacts provided by Oracle that you may require to compile, test, package, perform integration testing, or deploy reapplications. It is similar to other Maven repositories. 2 Prerequisites The following software is required to complete this lab: WebLogic Server 12.1.3 Developer s (ZIP) Distribution JDK 1.7 or 1.8 (latest release) Apache Maven 3.2.5 3 Getting Access and Configuring Maven Access to the Oracle Maven Repository is provided after accepting the appropriate license agreement. In this section we will obtain access and configure Maven to use the Oracle Maven Repository. 3.1 Register for Access Before using the Oracle Maven Repository, you must register for access and accept the license agreement. You must have an Oracle Technology Network account to complete the registration process. To start the registration process, open your browser and go to the following page: https://www.oracle.com/webapps/maven/register/license.html Read the license agreement and then click on the button to accept the agreement. You will be redirected to the documentation site which contains information about how to configure Maven to access the Oracle Maven Repository. 3.2 Configure Maven Now we need to configure Maven to use the Oracle Maven Repository. This involves telling Maven about the repository and providing the necessary information to authenticate to the repository. Copyright 2015 Oracle Corporation. All Rights Reserved. Page 3 of 15

3.2.1 Authentication Every time you want to access the Oracle Maven Repository, you must provide the user name and password you used to log in to Oracle Technology Network (OTN). Access is only provided over HTTPS. You can store your credentials in the Maven settings file so that you do not have to specify them manually every time. Oracle recommends that you encrypt your password, using the utilities provided with Maven, as shown in the next section. 3.2.2 Create a Master Password Maven uses a master password to encrypt passwords for repositories. Use the following command to create a master password: mvn --encrypt-master-password secret Replace secret with the master password you want to use. The output will be a string similar to this: {wj8chndd1kshltksjx2o2gepdo4zceyr2xhjnwz9ch4=} Save this value in your Maven settings-security.xml in your $HOME/.m2 directory. Here is an example of the contents of this file if you do not have this file already, please create it: <settingssecurity> <master>{wj8chndd1kshltksjx2o2gepdo4zceyr2xhjnwz9ch4=}</master> </settingssecurity> 3.2.3 Encrypt your OTN Password Now that you have a master password defined, you can encrypt your OTN password using the following command: mvn --encrypt-password mypassword Change mypassword to your OTN password. The output will be a similar string, keep this value for later you will need it when configuring Maven. 3.2.4 Adding the Oracle Maven Repository to Your settings.xml Add a repository definition to your Maven settings.xml file. The repository definition should look like the following: <repositories> <repository> <id>maven.oracle.com</id> <releases> <enabled>true</enabled> Copyright 2015 Oracle Corporation. All Rights Reserved. Page 4 of 15

</releases> <snapshots> <enabled>false</enabled> </snapshots> <url>https://maven.oracle.com</url> <layout>default</layout> </repository> </repositories> <pluginrepositories> <pluginrepository> <id>maven.oracle.com</id> <url>https://maven.oracle.com</url> </pluginrepository> </pluginrepositories> 3.2.5 Configuring the HTTP Wagon The Maven settings.xml requires additional settings to support the Oracle Maven Repository. Add the following <server> element to the <servers> section of the Maven settings.xml: <server> <id>maven.oracle.com</id> <username>username</username> <password>password</password> <configuration> <basicauthscope> <host>any</host> <port>any</port> <realm>oam 11g</realm> </basicauthscope> <httpconfiguration> <all> <params> <property> <name>http.protocol.allow-circular-redirects</name> <value>%b,true</value> </property> </params> </all> </httpconfiguration> </configuration> </server> Replace the <username> and <password> entries with your OTN user name and the encrypted password you created earlier. 3.2.6 Set up Maven to use the Oracle Maven Repository without a POM When you invoke Maven from the command-line to run a plugin goal directly, Maven uses a standalone POM that does not use the repositories listed in the settings.xml file unless they are part of a profile that is set to be "active by default". For example, the typical way to generate a new project from an Copyright 2015 Oracle Corporation. All Rights Reserved. Page 5 of 15

archetype is to invoke the Maven's archetype:generate goal from the command line directly without a project POM in place. In order for this to work, the Oracle Maven Repository must be declared within a profile that is active by default, as shown in the following example: <profiles> <profile> <id>main</id> <activation> <activebydefault>true</activebydefault> </activation> <repositories> <repository> <id>maven.oracle.com</id> <url>https://maven.oracle.com</url> <layout>default</layout> <releases> <enabled>true</enabled> </releases> </repository> </repositories> </profile> </profiles> 3.3 About the Oracle Maven Synchronization plugin If you have used Oracle s Maven support previously, you will probably be familiar with the Oracle Maven Synchronization plugin which is used to populate your local Maven repository from and Oracle Home. When you use the Oracle Maven Repository, you do not need to execute the Oracle Maven Synchronization plugin s goals to populate your local repository Maven will download anything it needs from the Oracle Maven Repository for you. However, the Oracle Maven Repository does not contain artifacts with one-off patches applied, so if you require any one-off patches, you will still need to obtain them from Oracle Support, install them on your local Oracle Home and then use the Oracle Maven Synchronization plugin to update your local Maven repository with the patched artifacts. 4 Creating a New Project Now that you have configured Maven, you are ready to create a new project using an archetype in the Oracle Maven Repository. We will use the Basic WebApp archetype for WebLogic Server. Create a project using the following command (enter it all on one line): mvn archetype:generate -DarchetypeGroupId=com.oracle.weblogic.archetype -DarchetypeArtifactId=basicWebapp -DarchetypeVersion=12.1.3-0-0 -DarchetypeRepository=https://maven.oracle.com Copyright 2015 Oracle Corporation. All Rights Reserved. Page 6 of 15

Maven will download the archetype from the Oracle Maven Repository, along with any other dependencies it needs. Then it will ask you to specify the coordinates for your new project. Enter the following values when you are prompted: groupid = com.test artifactid = webapp1 version = 1.0-SNAPSHOT Maven will create your new project in the webapp1 directory. Go ahead and take a look at it now. Other Archetypes in the Oracle Maven Repository There are several archetypes provided in the Oracle Maven Repository, for creating different kinds of projects. - Oracle Fusion Middleware 12.1.2 o com.oracle.coherence:maven-gar-archetype:12.1.2-0-0 o com.oracle.weblogic.archetype:basic-mdb:12.1.2-0-0 o com.oracle.weblogic.archetype:basic-webapp-ejb:12.1.2-0-0 o com.oracle.weblogic.archetype:basic-webapp:12.1.2-0-0 o com.oracle.weblogic.archetype:basic-webservice:12.1.2-0-0 - Oracle Fusion Middleware 12.1.3 o com.oracle.adf.archetype:oracle-adffaces-ejb:12.1.3-0-0 o com.oracle.coherence:maven-gar-archetype:12.1.3-0-0 o com.oracle.servicebus.archetype:oracle-servicebus-application:12.1.3-0-0 o com.oracle.servicebus.archetype:oracle-servicebus-project:12.1.3-0-0 o com.oracle.servicebus.archetype:oracle-servicebus-system:12.1.3-0-0 o com.oracle.soa.archetype:oracle-soa-application:12.1.3-0-0 o com.oracle.soa.archetype:oracle-soa-project:12.1.3-0-0 o com.oracle.weblogic.archetype:basic-mdb:12.1.3-0-0 o com.oracle.weblogic.archetype:basic-webapp:12.1.3-0-0 o com.oracle.weblogic.archetype:basic-webapp-ejb:12.1.3-0-0 o com.oracle.weblogic.archetype:basic-webservice:12.1.3-0-0 5 Building the Project Let s go ahead and build the project now. From the webapp1 directory, issue the following command: mvn package This tells Maven to compile the source files and build the deployable WAR. The first time you do this, Maven will not have the necessary dependencies locally (on your machine) so it will download them from the Oracle Maven Repository. Depending on your Internet speed, this could take several minutes. Copyright 2015 Oracle Corporation. All Rights Reserved. Page 7 of 15

Maven will keep the files in your local repository, so you only need to download them once. Maven will check once a day (by default) to see if any newer versions of the files have become available. 6 Preparing a WebLogic Server environment for deployment and testing We want to be able to deploy and test our project as part of the build process. First, we will need a WebLogic Server environment to deploy the project into. We will use the WebLogic Maven plugin to install WebLogic Server from the WebLogic ZIP Distribution, create a domain and start a server. The WebLogic Maven plugin is also available in the Oracle Maven Repository, so we can just add a dependency and Maven will download it for us. Take a look in the Maven Project Object Model pom.xml file in your webapp1 directory. In the build/plugins/plugin section there is an entry for the WebLogic Maven plugin. It starts like this: <build> <plugins>... <plugin> <groupid>com.oracle.weblogic</groupid> <artifactid>weblogic-maven-plugin</artifactid> <version>12.1.3-0-0</version>... <configuration> <middlewarehome>c:/vts/test/wlshome/wls12130</middlewarehome> </configuration> <executions>... 6.1 Install WebLogic Server Add the following execution block, make it the first one in the executions section: <!-- install weblogic server --> <execution> <id>install-wls</id> <phase>validate</phase> <goals> <goal>install</goal> </goals> <configuration> <artifactlocation>c:/vts/wls1213_dev.zip</artifactlocation> <installdir>c:/vts/test/wlshome</installdir> </configuration> </execution> Change the artifactlocation to point to the WebLogic ZIP Distribution you downloaded, and installdir to a suitable location where WebLogic Server will be installed. Copyright 2015 Oracle Corporation. All Rights Reserved. Page 8 of 15

This tells Maven to execute the WebLogic Maven plugin s install goal during the validate phase of the build, i.e. right at the beginning of the build. To test this, issue the following command: mvn validate Note that on subsequent Maven runs, this goal will notice you already have WebLogic Server installed and will not install it again. If you want to have it perform the installation again, just remove the old installation by deleting the wls12130 directory. 6.2 Create a Domain Next, we want to create a domain. We can do this using the WebLogic Maven plugin s wlst goal to execute a short WLST script. Add the following execution block immediately after the previous one: <!-- create a domain --> <execution> <id>create-domain</id> <phase>validate</phase> <goals> <goal>wlst</goal> </goals> <configuration> <filename>${basedir}/misc/create-domain.py</filename> </configuration> </execution> Now create a new directory called misc in your webapp1 directory, and inside that directory create a new file called create-domain.py and place the following WLST commands in that file: # create domain readtemplate('c:/vts/test/wlshome/wls12130/wlserver/common/templates/wls/wls. jar') cd('/security/base_domain/user/weblogic') cmo.setpassword('welcome1') writedomain('c:/vts/test/wlshome/wls12130/user_projects/domains/base_domain') closetemplate() Change the locations to match your environment. You can test this is working by issuing the following command: mvn validate Maven will install WebLogic Server (if it is not already installed) and then run this WLST script to create a domain. Note that this step will fail if you run Maven again because the domain will already exist. We will fix this later on, but for now, if you want to re-run Maven, just delete the domain directory first. Copyright 2015 Oracle Corporation. All Rights Reserved. Page 9 of 15

6.3 Start a Server Next, we will want to have a server running so we can deploy our application. We can do this using the WebLogic Maven plugin s start-server goal. Add the following execution section immediately after the one we just added to create the domain: <!-- start server --> <execution> <id>start-server</id> <phase>validate</phase> <goals> <goal>start-server</goal> </goals> <configuration> <domainhome>c:/vts/test/wlshome/wls12130/user_projects/domains/base_domain</d omainhome> </configuration> </execution> Adjust the domainhome to match your environment. If you want to test this, issue the following command: mvn validate Note that the server will remain running after this command finishes, so you will need to manually stop the server if you want to run Maven again. We will tidy this up next. 6.4 Stop the Server After we have deployed the application and run our tests, we will want to stop the server. We can do this using the WebLogic Maven plugin s stop-server goal. Add the following execution section to the POM placing it after the deploy execution that was created from the archetype, i.e. make this the last execution in the WebLogic Maven plugin executions section: <!-- stop the server --> <execution> <id>stop-server</id> <phase>post-integration-test</phase> <goals> <goal>stop-server</goal> </goals> <configuration> <adminurl>t3://localhost:7001</adminurl> <user>weblogic</user> <password>welcome1</password> <domainhome>c:/vts/test/wlshome/wls12130/user_projects/domains/base_domain</d omainhome> </configuration> Copyright 2015 Oracle Corporation. All Rights Reserved. Page 10 of 15

</execution> This tells Maven to stop the server in the post-integration-test phase of the build. This phase executes after all of the tests have been completed. The Maven Default Lifecycle For your reference, here is a refresher on the phases in the Maven default lifecycle: validate initialize validate the project is correct and all necessary information is available. initialize build state, e.g. set properties or create directories. generate-sources generate any source code for inclusion in compilation. process-sources compile process-classes test-compile test prepare-package package generateresources processresources generate-testsources process-testsources generate-testresources process-testresources process-testclasses pre-integrationtest process the source code, for example to filter any values. generate resources for inclusion in the package. copy and process the resources into the destination directory, ready for packaging. compile the source code of the project. post-process the generated files from compilation, for example to do bytecode enhancement on Java classes. generate any test source code for inclusion in compilation. process the test source code, for example to filter any values. create resources for testing. copy and process the resources into the test destination directory. compile the test source code into the test destination directory post-process the generated files from test compilation, for example to do bytecode enhancement on Java classes. For Maven 2.0.5 and above. run tests using a suitable unit testing framework. These tests should not require the code be packaged or deployed. perform any operations necessary to prepare a package before the actual packaging. This often results in an unpacked, processed version of the package. (Maven 2.1 and above) take the compiled code and package it in its distributable format, such as a JAR. perform actions required before integration tests are executed. This may involve things such as setting up the required environment. Copyright 2015 Oracle Corporation. All Rights Reserved. Page 11 of 15

integration-test postintegration-test verify install deploy process and deploy the package if necessary into an environment where integration tests can be run. perform actions required after integration tests have been executed. This may including cleaning up the environment. run any checks to verify the package is valid and meets quality criteria. install the package into the local repository, for use as a dependency in other projects locally. done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects. 6.5 Remove the Domain Finally, we want to remove the domain, so that any subsequent Maven build will create its own new clean domain and we don t pollute the test domain with any artifacts left over from previous builds. We do this using the WebLogic Maven plugin s remove-domain goal. Add the following execution after the one we just created to stop the server: <!-- remove domain --> <execution> <id>remove-domain</id> <phase>post-integration-test</phase> <goals> <goal>remove-domain</goal> </goals> <configuration> <domainhome>c:/vts/test/wlshome/wls12130/user_projects/domains/base_domain</d omainhome> </configuration> </execution> Adjust the domainhome to match your environment. 7 Testing the Application Now that we have configured our build to create a new WebLogic Server environment and remove it when we are finished, we want to add some automated tests to our build process. We will do this using the Robot Framework to execute a Selenium test. The Maven plugins for this are not provided in the Oracle Maven Repository, they are in the Maven Central repository, but we can mix and match plugins from various repositories in our project. Copyright 2015 Oracle Corporation. All Rights Reserved. Page 12 of 15

7.1 Add Robot Framework to our Project To tell Maven to execute the Robot Framework during our build, we need to add another plugin entry to the build/plugins section. Add this after the (rather lengthy) plugin entry for WebLogic Maven plugin: <plugin> <groupid>org.robotframework</groupid> <artifactid>robotframework-maven-plugin</artifactid> <version>1.4.3</version> <executions> <execution> <id>robot-test</id> <phase>integration-test</phase> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> This tells Maven to execute the robotframework-maven-plugin s robot-test goal in the integration-test phase of the build, i.e. after we have installed WebLogic Server, created a domain, started a server and deployed the WAR. 7.2 Add Selenium Library Since we want to use Selenium to drive our test, we also need to add a dependency to the POM for the Robot Framework Selenium library. Add this new dependency to the dependencies section of the POM: <dependency> <groupid>com.github.markusbernhardt</groupid> <artifactid>robotframework-selenium2library-java</artifactid> <version>1.4.0.7</version> <classifier>jar-with-dependencies</classifier> </dependency> This will make the Selenium Library available for our tests. 7.3 Creating the Tests By default, Robot Framework will look for the tests in the following directory (under your webapp1 directory): src/test/robotframework/acceptance Create this directory now, and create a new file in that directory called Quick_Test.robot with the following content: *** Settings **** Library Selenium2Library Copyright 2015 Oracle Corporation. All Rights Reserved. Page 13 of 15

*** Test Cases *** Quick Test Open Browser http://localhost:7001/basicwebapp Page Should Contain Please Enter Your Account Name and Amount Page Should Contain Textfield j_idt10:name Page Should Contain Textfield j_idt10:amount Page Should Contain Button j_idt10:j_idt18 Input Text j_idt10:name Bob Input Text j_idt10:amount 25.00 Click Button j_idt10:j_idt18 Wait Until Page Contains The money have been deposited to Bob, the balance of the account is 25.0 Close Browser Robot Framework tests are reasonably easy to read and understand, even if you have not seen them before. This test is going to open a browser and point it to our newly deployed application, then it will check that the expected page is shown, that it has the right fields on it, etc. Next it will enter some values in the fields, click on the submit button, then wait for the next page to load and check it has the expected content. 8 Running our build Now we have everything in place, let s run the build. If you have been running the build to test things, you might need to clean up first. Make sure you do not have a WebLogic Server instance running, and remove the old domain directory. You can also delete the WebLogic Server installation if you want to. Now execute the following command: mvn verify Maven will take the following actions: Install WebLogic Server from the WebLogic Server ZIP Distribution (if not already installed) Create a domain Start a server Compile and package our application into a WAR Deploy the WAR on the server and start the application Run the automated tests against the application Stop the server Remove the domain Copyright 2015 Oracle Corporation. All Rights Reserved. Page 14 of 15

9 Review In this Hands-on lab we have seen how to use the Oracle Maven Repository. When building applications for Fusion Middleware with Maven, we need a number of artifacts. In the normal Maven world, Maven downloads artifacts it needs from remote repositories. The Oracle Maven Repository makes artifacts from Oracle available to developers in the normal way so you can work with Maven the way you expect to. The Oracle Maven Repository contains Maven archetypes to create new projects, Maven plugins that provide the logic to build, test and deploy Fusion Middleware applications, and the libraries (dependencies) that you may need to build applications. Before accessing the Oracle Maven Repository, you must register for access and accept the license agreement. You need to update your Maven configuration to tell it about the Oracle Maven Repository and provide the authentication details so Maven can connect to the repository. Once this is done, the Oracle Maven Repository behaves just like any other remote repository. You can use it to obtain and use artifacts in the normal Maven way. You can mix and match dependencies from multiple repositories in a project. In this Hands-on lab, we learned how to use artifacts from the Oracle Maven Repository like the Basic WebApp Archetype and the WebLogic Maven plugin alongside artifacts from other repositories like the Robot Framework Maven plugin. Copyright 2015 Oracle Corporation. All Rights Reserved. Page 15 of 15