Book Image

Arquillian Testing Guide

By : John D. Ament
Book Image

Arquillian Testing Guide

By: John D. Ament

Overview of this book

<p>Integration testing sometimes involves writing complex codes. This book introduces you to the capabilities of Arquillian to enable you to write simple code with a broad range of integration tests for java applications. <br /><br />Arquillian Testing Guide serves as an introductory book to writing simple codes for testing java applications. This book will help you to develop richer test cases which can be run automatically while performing rigorous testing of the software. <br /><br />Arquillian Testing Guide introduces you to Arquillians features and capabilities. This book will help you understand the mechanism of creating deployments and test against those deployments. The book begins with basic JUnit test cases beginning with an enterprise test case, which then go on to discuss remote testing. During the course of the book, you will also learn how to mix container and non-container tests into a single test case. By the end of the book, you will have learned how to extend JUnit tests to work with Arquillian and deploy them to a container automatically.</p>
Table of Contents (17 chapters)

Chapter 7. Functional Application Testing

Since Arquillian provides deployment support, it is possible to deploy your entire application and perform end-to-end functional testing on the final deployed product. This makes your testing much more robust – not only are you testing how your code interacts, but you're testing how your UI is rendered, and how forms are filled out, and then submitted back to the server.

Arquillian has a few possible solutions for UI-based testing. The first that we'll review is Drone, which uses Selenium to execute test cases and run verifications. Next is Warp, which extends Drone to add assertions on both the client side and server side. Finally, we'll look at Graphene, another Drone-based extension for testing rich, AJAX powered applications. Within this chapter, we'll use two distinct projects. The first project is based on plain Selenium, then Drone, and Warp. The second project is based purely on Graphene.

The distinction between these projects will become very...