Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Eucalyptus User Console Test Framework Based on Selenium
Python JavaScript

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
.idea
3.3.1
etc
se34euca
selenium_ide
.gitignore
COPYING
README.md

README.md

se34euca

Selenium 34 Eucalyptus -- Eucalyptus User Console Test Framework Based on Selenium

Guidelines for contributing to se34euca project

UI testing video: demo and discussion

TEST LIB CLASS

Directory: ./se34euca/lib/

Description: These classes hold the implementation of operations and interactions on the UI via Selenium Web-Driver

EucaUITestLib_Base.py
EucaUITestLib_Image.py
EucaUITestLib_Instance.py
EucaUITestLib_IP_Address.py
EucaUITestLib_Keypair.py
EucaUITestLib_Security_Group.py
EucaUITestLib_Snapshot.py
EucaUITestLib_Volume.py

TEST LIB CONTAINER CLASS

Directory: ./se34euca/lib/

Description: This container class initializes the instances of the TEST LIB classes above

EucaUITester.py

TEST CASE CLASS

Directory: ./se34euca/testcase/

Description: These classes arranges various operations in the TEST LIB classes to simulate specific user behaviors

testcase_base.py
testcase_view_page.py       - Test Cases for Viewing Pages
testcase_instance.py        - Test Cases for Instance
testcase_keypair.py     - Test Cases for Keypair
testcase_volume.py      - Test Cases for Volume
testcase_snapshot.py        - Test Cases for Snapshot
testcase_security_group.py  - Test Cases for Security Group
testcase_ip_address.py      - Test Cases for IP Address
testcase_simulate_user.py   - Test Cases for Simulate User

EXECUTABLE

Directory: ./se34euca/

Description: Executables to run testcases, categorized by cloud resource groups

runtest_view_page.py
runtest_instance.py
runtest_keypair.py
runtest_volume.py
runtest_snapshot.py
runtest_security_group.py
runtest_ip_address.py
runtest_simulate_user.py

INSTALLATION GUIDE

ON CENTOS 6 LINUX OS

sudo yum -y install git

git clone git://github.com/eucalyptus/se34euca.git

cd ./se34euca/etc/

./installer_se34euca_centos.py

cd ..

ON UBUNTU LINUX OS

sudo apt-get -y install git-core

git clone git://github.com/eucalyptus/se34euca.git

cd ./se34euca/etc/

./installer_se34euca_ubuntu.py

cd ..

USAGE

Prerequisite

1 Run the command below on your console:

cd ./se34euca

export PYTHONPATH=$PYTHONPATH:/root/ui-test/se34euca

export DISPLAY=:0

  • Or, add the 2 lines above to the file .bash_profile in your home directory.

2 Have the Account, User and its Password Populated.

  • Se34Euca scripts do not automatically create a user for testing.

View Page Test

./runtest_view_page.py -i [ui_ip] -p [port] -a [accountname] -u [username] -w [password] -t [testcase]

, where [testcase] is:

 [ check_login_and_logout, view_keypairs_page, view_running_page, view_volumes_page, view_secuirty_groups_page, view_all_page, view_all_page_in_loop, get_dashboard_source ]

Example.

export PYTHONPATH=$PYTHONPATH:/root/ui-test/se34euca

export DISPLAY=:0

./runtest_view_page.py -i 192.168.51.131 -p 8888 -a ui-test-acct-00 -u user00 -w mypassword1 -t view_all_page

./runtest_view_page.py -i 192.168.51.131 -p 8888 -a ui-test-acct-00 -u user00 -w mypassword1 -t view_keypairs_page

./runtest_view_page.py -i 192.168.51.106 -p 8888 -a ui-test-acct-00 -u user00 -w mypassword1 -t get_dashboard_source

./runtest_view_page.py -i 192.168.51.131 -p 8888 -a ui-test-acct-00 -u user00 -w mypassword1 -t view_all_page_in_loop

Instance Test

./runtest_instance.py -i [ui_ip] -p [port] -a [accountname] -u [username] -w [password] -t [testcase]

, where [testcase] is:

[ launch_instance_basic, terminate_instance_basic, terminate_instance_all ]

Example.

export PYTHONPATH=$PYTHONPATH:/root/ui-test/se34euca

export DISPLAY=:0

./runtest_instance.py -i 192.168.51.106 -p 8888 -a ui-test-acct-00 -u user00 -w mypassword1 -t launch_instance_basic

./runtest_instance.py -i 192.168.51.106 -p 8888 -a ui-test-acct-00 -u user00 -w mypassword1 -t terminate_instance_basic

./runtest_instance.py -i 192.168.51.158 -p 8888 -a ui-test-acct-00 -u user00 -w mypassword1 -t terminate_instance_all

Keypair Test

./runtest_keypair.py -i [ui_ip] -p [port] -a [accountname] -u [username] -w [password] -t [testcase]

, where [testcase] is:

[ generate_keypair, delete_keypair ]

Example.

export PYTHONPATH=$PYTHONPATH:/root/ui-test/se34euca

export DISPLAY=:0

./runtest_keypair.py -i 192.168.51.106 -p 8888 -a ui-test-acct-00 -u user00 -w mypassword1 -t generate_keypair

./runtest_keypair.py -i 192.168.51.106 -p 8888 -a ui-test-acct-00 -u user00 -w mypassword1 -t delete_keypair

./runtest_keypair.py -i 192.168.51.106 -p 8888 -a ui-test-acct-00 -u user00 -w mypassword1 -t delete_keypair_all

Volume Test

./runtest_volume.py -i [ui_ip] -p [port] -a [accountname] -u [username] -w [password] -t [testcase]

, where [testcase] is:

    [ create_volume, delete_volume, create_snapshot_from_volume ]

Example.

export PYTHONPATH=$PYTHONPATH:/root/ui-test/se34euca

export DISPLAY=:0

./runtest_volume.py -i 192.168.51.106 -p 8888 -a ui-test-acct-00 -u user00 -w mypassword1 -t create_volume

./runtest_volume.py -i 192.168.51.106 -p 8888 -a ui-test-acct-00 -u user00 -w mypassword1 -t delete_volume

./runtest_volume.py -i 192.168.51.106 -p 8888 -a ui-test-acct-00 -u user00 -w mypassword1 -t create_snapshot_from_volume

Snapshot Test

./runtest_snapshot.py -i [ui_ip] -p [port] -a [accountname] -u [username] -w [password] -t [testcase]

, where [testcase] is:

    [ delete_snapshot, create_volume_from_snapshot ]

Example.

export PYTHONPATH=$PYTHONPATH:/root/ui-test/se34euca

export DISPLAY=:0

./runtest_snapshot.py -i 192.168.51.106 -p 8888 -a ui-test-acct-00 -u user00 -w mypassword1 -t delete_snapshot

./runtest_snapshot.py -i 192.168.51.106 -p 8888 -a ui-test-acct-00 -u user00 -w mypassword1 -t create_volume_from_snapshot

Security Group Test

./runtest_security_group.py -i [ui_ip] -p [port] -a [accountname] -u [username] -w [password] -t [testcase]

, where [testcase] is:

    [ create_security_group, delete_security_group ]

Example.

export PYTHONPATH=$PYTHONPATH:/root/ui-test/se34euca

export DISPLAY=:0

./runtest_security_group.py -i 192.168.51.106 -p 8888 -a ui-test-acct-00 -u user00 -w mypassword1 -t create_security_group

./runtest_security_group.py -i 192.168.51.106 -p 8888 -a ui-test-acct-00 -u user00 -w mypassword1 -t delete_security_group

./runtest_security_group.py -i 192.168.51.106 -p 8888 -a ui-test-acct-00 -u user00 -w mypassword1 -t delete_security_group_all

IP Address Test

./runtest_ip_address.py -i [ui_ip] -p [port] -a [accountname] -u [username] -w [password] -t [testcase]

, where [testcase] is:

    [ allocate_two_ip_addresses, release_ip_address ]

Example.

export PYTHONPATH=$PYTHONPATH:/root/ui-test/se34euca

export DISPLAY=:0

./runtest_ip_address.py -i 192.168.51.106 -p 8888 -a ui-test-acct-00 -u user00 -w mypassword1 -t allocate_two_ip_addresses

./runtest_ip_address.py -i 192.168.51.106 -p 8888 -a ui-test-acct-00 -u user00 -w mypassword1 -t release_ip_address

SIMULATE USER

./runtest_simulate.py -i [ui_ip] -p [port] -a [accountname] -u [username] -w [password] -t [testcase]

, where [testcase] is:

    [ simulate_user_case_00 ]

Example.

export PYTHONPATH=$PYTHONPATH:/root/ui-test/se34euca

export DISPLAY=:0

./runtest_simulate_user.py -i 192.168.51.106 -p 8888 -a ui-test-acct-00 -u user00 -w mypassword1 -t simulate_user_case_00

./runtest_simulate_user.py -i 192.168.51.106 -p 8888 -a ui-test-acct-00 -u user00 -w mypassword1 -t simulate_user_case_00_in_loop

Contact

Please contact developers for any questions or suggestions:

Kyo Lee

kyo.lee@eucalyptus.com

Alice

alice@eucalyptus.com

Something went wrong with that request. Please try again.