Assorted Tips – Oracle VM VirtualBox

With this post I start a new series with short tips about tools and frameworks. My main motivation is to add a “safety net” to my OneNote notebook full of notes and, who knows, maybe they are useful to others as well.

Oracle VM VirtualBox

Through the command-line you can issue a number of commands that can be useful for advanced users. (For the rest of the post let’s assume you are in a command prompt where VirtualBox is installed.)

Headless VMs

You can use command-line to start a VM in headless mode (you will need to enable remote desktop to access it, be warned!):

VBoxHeadless -startvm <vm-name>

You can also save the state of a running VM using the following command:

VBoxManage controlvm <vm-name> savestate

(Use double quotes to surround the VM name if it has spaces.)

Continue reading “Assorted Tips – Oracle VM VirtualBox”

Advertisements

Test Automation with Selenium WebDriver and Selenium Grid – part 3: Continuous Integration

In part 1 in the series (read it here) I discussed about Selenium, the widely used tool for browser test automation, and I showed how easy is to setup a testing grid with multiple OS and browsers. In part 2 (read it here) I showed how to leverage WebDriver API to create and execute tests distributed across the grid that was created.

Now in part 3 I will show how to execute Selenium tests under a Continuous Integration process with Maven, Cargo and Jenkins, and how to gather code coverage metrics for those tests using Sonar and JaCoCo.

Continue reading “Test Automation with Selenium WebDriver and Selenium Grid – part 3: Continuous Integration”

Test Automation with Selenium WebDriver and Selenium Grid – part 2: Creating and Executing Tests

In part 1 in the series (read it here) I presented Selenium, a widely known tool for browser test automation.

Starting with Selenium 2, the most important components from the suite are Selenium WebDriver and Selenium Grid. In part 1 I showed how easy is to setup a testing grid with multiple OS and browsers. Now in part 2 I will show how to leverage WebDriver API to create and execute tests.

Continue reading “Test Automation with Selenium WebDriver and Selenium Grid – part 2: Creating and Executing Tests”

Test Automation with Selenium WebDriver and Selenium Grid – part 1: Setting Up the Grid

For a long while I’ve been “dying to play” with Selenium (www.seleniumhq.org and code.google.com/p/selenium/). I’ve heard and read very good things about this tool from colleagues and from the blogosphere.

Selenium is, in short, an open source tool to automate web browser interactions. A primary use case is, of course, browser test automation.

Selenium has greatly evolved with time, specially since the 2.0 release when the legacy Selenium project merged with Google’s WebDriver. Nowadays, Selenium offers a wide range of programming languages supported to write the tests, an impressive browser compatibility list, the ability to record tests from user interactions and, above it all in my opinion, the ability to re-execute tests across a grid of machines with various operating systems, browser families and versions.

Although Selenium seems to be primarily chosen for functional/regression test automation, it’s also a great choice – precisely because of the grid feature – for cross-browser compatibility testing: ensuring in an easy, cost-effective way, that our web applications are usable in all sorts of operating systems and browsers.

In this and forthcoming posts in a short series I will share my experiences setting up a Selenium Grid, building some automated tests for a simple Spring application, re-executing them from Eclipse IDE and finally re-executing them in continuous integration (including code coverage) with Maven, Cargo, Jenkins, Sonar and JaCoCo.

Continue reading “Test Automation with Selenium WebDriver and Selenium Grid – part 1: Setting Up the Grid”

First Steps with Micro Cloud Foundry

Micro Cloud Foundry is a complete Cloud Foundry installation shipped in a ready to use Virtual Machine.

With Micro Cloud Foundry you can work locally in your applications and test how they work integratedly with Cloud Foundry services.

Using Micro Cloud Foundry during development is highly recommended for any serious work. It is not practical to have multiple people working on the same application and constantly deploying to the same public or private Cloud Foundry instance (e.g. hosted in Amazon EC2 or hosted in a VMware vSphere environment). Instead, developers would use local Micro Cloud Foundry instances for build and test and then a dedicated Micro Cloud Foundry or Cloud Foundry instance for integration testing.

In this post I will show how to get, configure and start to work with Micro Cloud Foundry.

Continue reading “First Steps with Micro Cloud Foundry”