Ruby and Python webdriver bindings


From the launch date Nerrvana could run tests in PHP or Java. Some time ago we added Ruby and Python support, however we only had libraries supporting Selenium 1.

We are glad to tell you that Nerrvana now supports Ruby and Python tests using Selenium 2 (webdriver).
Read the rest of this entry »

Functional monitoring with Selenium in Nerrvana

Functional monitoring with Nerrvana

Today I would like to introduce a feature that we have recently added, and have been testing and using it ourselves for several months. It is functional monitoring. Our system, unlike other cloud Selenium services, not only provides the browsers for on-demand testing, but also executes your Selenium code. It can run tests by schedule defined in Nerrvana and does not require any external systems, like CI server, to kick start them.

I should admit, we designed Nerrvana this way not because we planned to use it for monitoring, but because at the time, when we started to build Nerrvana, there were no mature CI servers to solve this problem. As Nerrvana is already able to execute code, it was logical and relatively easy for us to add the ability to do monitoring.

By the way, this is not the only application that this feature made possible. For example, you can check tickets availability, or track the delivery of your goods, but we’ll write about it another time. Vladimir Levin from Yandex wrote about reasons to do functional monitoring in production (with his permission, we even translated his post into English).
Read the rest of this entry »

Virtualizer toolbox – grow file system on Fedora on VMWare

In this post I would like to show how to increase file system space on installed Fedora VMWare instance. You might need it if you use VMWare (and we know many people do) to spin VMs for Selenium testing.

In this particular case I use I installed Fedora and allocated 10GB but later I started using this VM for quite large databases and free space quickly disappeared.

# df -k
Filesystem                    1K-blocks    Used Available Use% Mounted on
devtmpfs                         498132       0    498132   0% /dev
tmpfs                            508060       0    508060   0% /dev/shm
tmpfs                            508060     772    507288   1% /run
/dev/mapper/vg_fedora-lv_root   7641992 6590912    656228  91% /
tmpfs                            508060       0    508060   0% /sys/fs/cgroup
tmpfs                            508060       0    508060   0% /media
/dev/sda1                        487652   84379    377673  19% /boot
# fdisk -l
 
Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000e3a8c
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048    20971519     9972736   8e  Linux LVM
 
 
Disk /dev/mapper/vg_fedora-lv_swap: 2113 MB, 2113929216 bytes
255 heads, 63 sectors/track, 257 cylinders, total 4128768 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
 
 
Disk /dev/mapper/vg_fedora-lv_root: 8086 MB, 8086618112 bytes
255 heads, 63 sectors/track, 983 cylinders, total 15794176 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

To grow disk space I went to VMWare console and added one more disk as shown below:
 
 
Adding a disk to existing VMWare VM
 
 
Now we can see a new disk in “fdisk -l” command output.

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Now we create partition sdb1 covering all new disk using “fdisk /dev/sdb”.

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p):
Using default response p
Partition number (1-4, default 1):
Using default value 1
First sector (2048-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039):
Using default value 41943039
Partition 1 of type Linux and of size 20 GiB is set
 
Command (m for help): v
Remaining 2047 unallocated 512-byte sectors
 
Command (m for help): w
The partition table has been altered!

Finally we just expand our volume group and file system:

pvcreate /dev/sdb1
vgextend vg_fedora /dev/sdb1
lvextend -l +100%FREE /dev/mapper/vg_fedora-lv_root
resize2fs /dev/mapper/vg_fedora-lv_root

Functional monitoring at Yandex (translation)

Functional monitoring at Yandex

We recently launched functional monitoring support in Nerrvana and we think it will be interesting for our readers to learn why Yandex (taking fourth place behind Google, China’s Baidu and Yahoo, according to ComScore) uses functional monitoring.

Post is translated with Mikhail Levin’s permission and its original (in Russian) is located on Habrahabr. Yandex also shared technical details of their system at Yet Another Conference 2012 – video and slides are available here (but also in Russian).

Here is it:

“Do you monitor your services in production? Whose responsibility it is in your company?

When we think of monitoring; server side developers, system administrators and DBAs often come to mind. They must watch the data processing queues and free disk space for the availability of individual hosts and their load.

Such monitoring really gives a lot of information about the service, but does not always show how the service works for an end user. Therefore, in addition to system monitoring, we, at Yandex, have created a functional monitoring system, tracking the state of the service from final interfaces – through the way the app looks and works in a browser, or how it works at the API level.

What is functionality monitoring in our understanding? To understand this better, let’s look at how things progressed for us. Read the rest of this entry »

New languages, browsers and Selenium version


Nerrvana now supports – PHP 5.4.1 (with PHPUnit 3.6.10), Java 1.7.0, Python 2.7.3 (with nose 1.1.2, Selenium 1.0.3), Perl 5.14.2 and Ruby 1.9.3p194.

Selenium was updated to 2.29.0. We added support for Firefox 18, Chrome 24, Opera 12.14 on Windows XP and Windows 7 and Internet Explorer 10 on Windows 7 only.

Here you can see a full list of platforms supported today by Nerrvana.

Nerrvana now supports Windows 7


We are glad to inform our clients about Windows 7 Selenium testing support in Nerrvana. A full list of available platforms is shown below (Nerrvana UI screenshot):

Nerrvana now supports Windows 7

Our plans – we moved from CentOS to Fedora which will allow us to expand a list of browsers on Linux. Adding support for launching Selenium tests written in Python and Ruby. Windows 8 is next.

Using Nerrvana – final notes

Using Nerrvana - final notes

Testing the application with two database types – configuration files ‘as is’ – future plans

Part 1 – Using Nerrvana – our setup
Part 2 – Using Nerrvana – SVN hooks to Jenkins
Part 3 – Using Nerrvana – deployment & Jenkins (part 1)
Part 4 – Using Nerrvana – deployment & Jenkins (part 2)
Part 5 – Using Nerrvana – Jenkins setup for Selenium testing
Part 6 – Using Nerrvana – final notes – this post

At this point, we’ve talked about how we test our application with Jenkins and Nerrvana. In our recount, some details have been omitted in order not to complicate the essence of the process.

It’s now time to show the real configuration files.
Read the rest of this entry »

Using Nerrvana – Jenkins setup for Selenium testing

Using Nerrvana - Jenkins setup for Selenium testing

Creating the Nerrvana plugin configurationfile – walking through it – runningour tests – checking test results

Part 1 – Using Nerrvana – our setup
Part 2 – Using Nerrvana – SVN hooks to Jenkins
Part 3 – Using Nerrvana – deployment & Jenkins (part 1)
Part 4 – Using Nerrvana – deployment & Jenkins (part 2)
Part 5 – Using Nerrvana – Jenkins setup for Selenium testing – this post

In the previous post, we have automated our web application deployment process and are now ready to continue improving our build and include Selenium testing into it. At this point Jenkins is able to react to the commit, prepare and install our application on the deployment host. We also learned how to extract commit information from SVN, parse and save it to version.txt file.

Today we will launch Selenium tests in Nerrvana with our Jenkins plugin. The Nerrvana plugin is available at http://your_jenkins_instance/pluginManager/available. The plugin uses LFTP to synchronize tests between Jenkins and Nerrvana. So, please install it (yum install lftp) on the same server running Jenkins. Read the rest of this entry »

Running Selenium IDE tests without IDE

Running Selenium IDE without IDE

We are glad to introduce the Selenium IDE formatter for Nerrvana.

What is Nerrvana? Nerrvana is a cloud service which allows you to run functional and cross browser Selenium tests on demand.

We hope it will help those who use the Selenium IDE to create and run tests or monitoring scripts in our cloud, and help you to transition from recording tests in the IDE to writing much more powerful and easy to maintain tests in Java.

Use 720p for the best quality

If there will be a demand from our clients we will extend the framework to create reports in the same format for tests generated by the Nerrvana Selenium IDE formatter.

Even though Selenium IDE tests have some limits it won’t compromise the quality of the reports you see and will minimise the time you spend to analyse them.

So please register your free account and give it a try.

Nerrvana Jenkins plugin released

Nerrvana Jenkins plugin released

We are glad to release Jenkins plugin for Nerrvana. We are using final version for a couple of months now and completely happy with it. Please visit documentation page for details.

In the next article here we will share how do we use Nerrvana Jenkins plugin. Stay tuned!

What is next?

Selenium IDE formatter for Nerrvana. Yes, it will allow you to export Selenium IDE tests in a format and structure which is fully launchable in Nerrvana as is.

Looking for something? Visit the archives.