Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
etc
 
 
 
 
 
 
 
 
 
 
 
 

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] (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

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.