Automated tests for katello
Clojure Shell
Pull request Compare This branch is 1507 commits behind RedHatQE:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
project.clj GUI automation


There are several options for running automation. You'll need to download the latest binary.

Running pre-packaged tests from command line


$ java -jar -m katello.tests.suite -h

to get a list of command line options (the -m katello.tests.suite is required directly after the jar filename).

An example command line would be

$ java -jar -m katello.tests.suite -s katello.tests.suite/katello-tests

where the last argument is the test group to run. Existing test groups are


By default this will start up 3 firefox browsers and run the specified tests in parallel.

Viewing results

After the tests finish running, there will be a file testng-report.xml in the current directory. You can either view this file directly in an editor or browser, or if you prefer a nicely formatted HTML report, Jenkins with the TestNG plugin can generate one for you. The internal Red Hat QE Jenkins server has a job set up to display the result - just upload the xml file.

If you are running your own Jenkins server, this job is very easy to set up. Just add a file parameter testng-report.xml, and then check the box Publish TestNG Results and fill in *.xml.

Running arbitrary commands

You can connect to an interactive prompt in several different ways. If you don't have one of the IDE's handy, you can use the plain repl as follows:

$ java -jar
Clojure 1.4.0
user=> (load "bootstrap")

That will open a single browser and leave you back at the prompt with the ability to run arbitrary tests and commands. See the API Documentation for details, especially the katello.ui-tasks namespace. All those tasks can be accessed directly from the prompt, for example

user=> (create-organization "foo") 

Will create an organization.

Connecting with an IDE

If you want paren matching/editing, syntax highlighting, and a bunch of other IDE features, you can start the automation as a server and connect to it with an IDE.

$ java -jar -m swank.swank 4005 

will start the server on port 4005 (which is generally what the IDEs connect to by default).


See Emacs-clojure for a nice emacs init file that has everything you need already set up. Unfortunately it requires emacs24, which comes with Fedora 17. But emacs24 can be built easily.

Start emacs (the first startup will download and built some emacs packages), and then run M-x slime-connect and specify the port you used above. Then type (load "bootstrap") to start the browser.


Currently not compatible with running interactively with Katello GUI automation. Eclipse only supports nREPL protocol, not swank. nREPL lib will be added to the binary soon to enable eclipse to communicate with it.


Install, type ,c to connect to whatever port you started the swank server on.