Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to run Magento TAF (Test Automation Framework) on Linux?

I'm trying to configure Magento TAF on Ubuntu, following the Installation Guide pdf. I read on it...

Current version limitations:

  • Remote tests executing
  • UNIX running Usage
  • Firefox profile through configuration file

...but I feel skeptical :)

  • There is a main shell script prepared (runtests.sh)
  • if I configure everything and I execute selenium RC and runtests.sh, firefox browser opens... (but stands on empty page).
  • Furthermore: there are several inconsistences on the Installation Guide, that's why I suspect that Linux restrictions perhaps are deprecated. For example: on page 2 says...

At the base level, Magento Test Automation Framework will require the following software: (...)Selenium RC 2.0.3

... but on page 4...

Download and install Selenium RC 1.0.3 (...).The latest available version is 2.x, Download Selenium RC (Now available NEW 2.0b), but automated test cases will probably not work with it.

The question: Is it possible to run Magento TAF on Linux?

Thanks!

like image 993
Katapofatico Avatar asked Dec 16 '11 10:12

Katapofatico


2 Answers

Yes, it is possible.

I had the same problem using Selenium Grid in version 1.x. Download Selenium Driver (Selenium 2). I got the tests running in Debian without modifying runtests.sh.

If you plan to test with several OS / browsers you can find a quick start tutorial for Selenium Grid 2. This may be helpful if you host your Magento code on a linux webserver. It's much easier now to set up the grid than it was with Selenium 1, fortunately.

Launch the server with

java -jar selenium-server-standalone-2.15.0.jar -role hub

By default, the server will run on port 4444. You can start the server on a Linux box without a desktop environment (e.g. a development web server).

Then you set up boxes with desktop environment (e.g. a Windows machine and a Linux machine). Now you download the server standalone library for every machine and start the client:

java -jar selenium-server-standalone-2.15.0.jar -role node -hub http://192.168.1.2:4444/grid/register

You have to change the IP to the IP of your Selenium server (and change the port if you did so in the first command). By default, the client will run on port 5555. If you want to use another port for the client or if you wish to start several client instances, you can define custom ports using the -port switch.

Note: don't care too much about the software versions mentioned in the document at all. It seems to be a bit outdated.

like image 183
Matthias Zeis Avatar answered Nov 15 '22 16:11

Matthias Zeis


The latest public release works fine on Ubuntu/Debian pretty much out of the box, but the documentation is Windows-orientated.

We got the tests running on a headless Selenium installation using Google Chrome on Ubuntu server 11.04 64bit. Screen-shots are only possible when using Firefox, but Selenium requires version 3.6 of Firefox, so we'll need to downgrade the Mozilla browser to enable that.

[Update: March 27th 2012] We tried again with Firefox 10 after upgrading our packages and to our biggest surprise, it worked! We've now got screen-shots!

I wrote a tutorial (updated March 27th 2012) that outlines installing a fresh headless Selenium environment with Magento TAF on Ubuntu Server. Hope that helps.

like image 24
jmlnik Avatar answered Nov 15 '22 16:11

jmlnik