Skip to content

eucalyptus/se34euca

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

se34euca

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

Guidelines for contributing to se34euca project

[UI testing video: demo and discussion] (https://s3-us-west-1.amazonaws.com/eutester-ui-selenium-demo/UI+Tests+Description%2C+Python+and+Selenium+IDE+Overview+and+Demo+7-11-13+6.31+PM.mov)

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

About

Eucalyptus User Console Test Framework Based on Selenium

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published