Changes

Jump to navigation Jump to search
2,735 bytes added ,  02:19, 28 March 2014
no edit summary
Line 28: Line 28:  
  pip install robotframework-ftplibrary
 
  pip install robotframework-ftplibrary
 
  pip install robotframework-sshlibrary
 
  pip install robotframework-sshlibrary
 +
 +
You can check if the SSH library installed successfully with:
 +
 +
python -c "import SSHLibrary"
 +
 +
If you find you have problems with the SSH library, reinstalling the support libraries for the SSH library through yum might help:
 +
 +
sudo pip uninstall pycrypto
 +
sudo yum erase python-crypto
 +
sudo yum clean all
 +
sudo yum install python-crypto
 +
sudo yum install python-paramiko
    
Note that selenium needs a browser to drive, so you'll need to install a graphical GUI, you can do this by:
 
Note that selenium needs a browser to drive, so you'll need to install a graphical GUI, you can do this by:
Line 58: Line 70:  
http://sourceforge.net/projects/rf-ftp-py/files/1.2/FtpLibraryExample.txt/download
 
http://sourceforge.net/projects/rf-ftp-py/files/1.2/FtpLibraryExample.txt/download
   −
==Making it test SMEServer==
+
== SME Server Test Automation on GitHub ==
 +
 
 +
The git repository with an intial set of tests for SME Server is now on GitHub
 +
here:
 +
 
 +
https://github.com/MarcoHess/smeserver-test-automation
 +
 
 +
===Loading and Trying it===
 +
 
 +
The best way to try these tests is to clone the repository from GitHub with:
 +
 
 +
git clone https://github.com/MarcoHess/smeserver-test-automation.git
 +
 
 +
Alternatively you can also download a ZIP file with the whole repository with this link:
 +
 +
https://github.com/MarcoHess/smeserver-test-automation/archive/master.zip
 +
 
 +
===Setting up the tests===
 +
 
 +
The "resource.robot" file in the top "sme" directory contains a number of variables and macros that are used by the test scripts.
 +
 
 +
The key ones that you need to change are:
 +
 
 +
${SERVER NAME}      sme9-64
 +
${SERVER DOMAIN}    through-ip.com
 +
${VALID PASSWORD}    Admin-Test-1234
 +
 
 +
Note that the URL must be same as the FQDN for the server, as it uses this as a test on the title of the logged server manager web page.
 +
 
 +
The tests assume that the ${SERVER NAME}.${SERVER DOMAIN} resolve to the correct IP of that server. I typically setup entries for test servers with a host name entry on my main server.
 +
 
 +
===Running the tests===
 +
 
 +
The tests are setup in an hierarchical fashion. To run all tests:
 +
 
 +
pybot sme
 +
 
 +
To run a subset of the tests use:
 +
 
 +
pybot sme/02__server-manager
 +
 
 +
or for the ftp tests:
 +
 
 +
pybot sme/03__remote_access/02__ftp/
 +
 
 +
and ssh by
 +
 
 +
pybot sme/03__remote_access/03__ssh/
 +
 
 +
===Contributing Tests===
 +
 
 +
With the main test repository on GitHub it is very easy to 'fork' a copy of the repository,
 +
start adding, fixing or modifying tests and then send a 'Pull Request' to merge your updates
 +
into the main repository.
 +
 
 +
Here is an outline of that process: https://help.github.com/articles/fork-a-repo
 +
 
 +
== Additional Tools ==
 +
 
 +
There are a number of tools that are useful in developing tests. This section lists a number of these:
 +
 
 +
=== RIDE IDE ===
 +
The Robotframework has its own IDE called RIDE. It is particularly useful for running individual tests
 +
during development. More info here https://github.com/robotframework/RIDE/wiki . It be easily installed with:
 +
 
 +
pip install robotframework-ride
 +
 
 +
and then run RIDE with:
 +
 
 +
  ride.py sme
   −
Marco Hess has made good progress with getting the framework to talk to an SMEServer.
+
=== XPath Checker Firefox Plugin ===
 +
It sometimes is quite tricky to locate the right element in a web page to check or click. One method
 +
that selenium supports is [http://en.wikipedia.org/wiki/XPath XPaths].
   −
His code is here:
+
In order to develop these, I found the Firefox plugin 'XPaths Checker' particularly useful.
   −
https://franka.through-ip.com/git/?p=sme-test-automation.git;a=summary
+
https://addons.mozilla.org/en-US/firefox/addon/xpath-checker/
374

edits

Navigation menu