mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
add some wait statements to tests
Signed-off-by: Sebastien Goasguen <runseb@gmail.com>
This commit is contained in:
parent
58a3e75058
commit
cefd4ce3be
@ -76,7 +76,7 @@ class LoginPage(object):
|
|||||||
@try_except_decor
|
@try_except_decor
|
||||||
def logout(self, directly_logout = False):
|
def logout(self, directly_logout = False):
|
||||||
|
|
||||||
self.browser.set_window_size(1200,980)
|
# self.browser.set_window_size(1200,980)
|
||||||
Shared.wait_for_element(self.browser, 'id', 'user')
|
Shared.wait_for_element(self.browser, 'id', 'user')
|
||||||
|
|
||||||
# must click this icon options first
|
# must click this icon options first
|
||||||
|
|||||||
@ -1,63 +0,0 @@
|
|||||||
from selenium import webdriver
|
|
||||||
from selenium.common.exceptions import *
|
|
||||||
from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0
|
|
||||||
from selenium.webdriver.common.action_chains import ActionChains as action
|
|
||||||
from common import Global_Locators
|
|
||||||
|
|
||||||
from common.shared import *
|
|
||||||
|
|
||||||
class LoginPage(object):
|
|
||||||
def __init__(self, browser):
|
|
||||||
self.browser = browser
|
|
||||||
self.username = ""
|
|
||||||
self.password = ""
|
|
||||||
self.language = ""
|
|
||||||
|
|
||||||
@try_except_decor
|
|
||||||
def set_username(self, username):
|
|
||||||
self.username = username
|
|
||||||
usernameElement = self.browser.find_element_by_css_selector(Global_Locators.login_username_css)
|
|
||||||
usernameElement.send_keys(self.username)
|
|
||||||
|
|
||||||
@try_except_decor
|
|
||||||
def set_password(self, password):
|
|
||||||
self.password = password
|
|
||||||
passwordElement = self.browser.find_element_by_css_selector(Global_Locators.login_password_css)
|
|
||||||
passwordElement.send_keys(self.password)
|
|
||||||
self.pwelement = passwordElement
|
|
||||||
|
|
||||||
@try_except_decor
|
|
||||||
def set_language(self, language):
|
|
||||||
self.language = language
|
|
||||||
ele = self.browser.find_element_by_class_name('select-language')
|
|
||||||
option = ele.find_element_by_xpath("//option[@value='en']")
|
|
||||||
option.click()
|
|
||||||
|
|
||||||
time.sleep(1)
|
|
||||||
|
|
||||||
@try_except_decor
|
|
||||||
def login(self, expect_fail = False):
|
|
||||||
if self.username == "" or self.password == "":
|
|
||||||
print "Must set email and password before logging in"
|
|
||||||
return
|
|
||||||
loginElement = self.browser.find_element_by_css_selector(Global_Locators.login_submit_css)
|
|
||||||
loginElement.click()
|
|
||||||
|
|
||||||
@try_except_decor
|
|
||||||
def logout(self):
|
|
||||||
# must click this icon options first
|
|
||||||
ele1 = self.browser.find_element_by_xpath("//div[@id='user' and @class='button']/div[@class='icon options']").click()
|
|
||||||
ele2 = self.browser.find_element_by_xpath("//div[@id='header']/div[@id='user-options']")
|
|
||||||
ele3 = ele2.find_element_by_link_text('Logout')
|
|
||||||
ele3.click()
|
|
||||||
|
|
||||||
Shared.wait_for_element(self.browser, 'class_name', 'login')
|
|
||||||
|
|
||||||
@try_except_decor
|
|
||||||
def get_error_msg(self, loginpage_url):
|
|
||||||
if loginpage_url is not None and len(loginpage_url) > 0 and \
|
|
||||||
(self.browser.current_url.find(loginpage_url) > -1 or loginpage_url.find(self.browser.current_url) > -1):
|
|
||||||
ele = self.browser.find_element_by_id('std-err')
|
|
||||||
return ele.text
|
|
||||||
else:
|
|
||||||
return ""
|
|
||||||
@ -58,74 +58,130 @@ class TestCSLoginLogout(unittest.TestCase):
|
|||||||
self.loginpage.logout(directly_logout = True)
|
self.loginpage.logout(directly_logout = True)
|
||||||
shared.Shared.wait_for_element(self.browser.browser, 'class_name', 'login', waittime = 300)
|
shared.Shared.wait_for_element(self.browser.browser, 'class_name', 'login', waittime = 300)
|
||||||
|
|
||||||
def xtest_failure_1(self):
|
def test_failure_1(self):
|
||||||
self.browser.set_url(smokecfg['cssite'])
|
self.browser.set_url(smokecfg['cssite'])
|
||||||
self.loginpage = loginpage.LoginPage(self.browser.get_browser())
|
self.loginpage = loginpage.LoginPage(self.browser.get_browser())
|
||||||
|
|
||||||
|
# wait for at most 5 minutes, in case we have an anoyingly slow server
|
||||||
|
shared.Shared.wait_for_element(self.browser.get_browser(), 'class_name', 'select-language', waittime = 300)
|
||||||
|
|
||||||
# language selection must be done before username and password
|
# language selection must be done before username and password
|
||||||
self.loginpage.set_language(smokecfg['language'])
|
self.loginpage.set_language(smokecfg['language'])
|
||||||
|
|
||||||
|
shared.Shared.wait_for_element(self.browser.get_browser(), 'class_name', 'fields', waittime = 300)
|
||||||
|
|
||||||
self.loginpage.set_username(smokecfg['badusername'])
|
self.loginpage.set_username(smokecfg['badusername'])
|
||||||
self.loginpage.set_password(smokecfg['password'])
|
self.loginpage.set_password(smokecfg['password'])
|
||||||
self.loginpage.login(expect_fail = True)
|
self.loginpage.login(expect_fail = True)
|
||||||
|
|
||||||
def xtest_failure_2(self):
|
def test_failure_2(self):
|
||||||
self.browser.set_url(smokecfg['cssite'])
|
self.browser.set_url(smokecfg['cssite'])
|
||||||
self.loginpage = loginpage.LoginPage(self.browser.get_browser())
|
self.loginpage = loginpage.LoginPage(self.browser.get_browser())
|
||||||
|
|
||||||
|
# wait for at most 5 minutes, in case we have an anoyingly slow server
|
||||||
|
shared.Shared.wait_for_element(self.browser.get_browser(), 'class_name', 'select-language', waittime = 300)
|
||||||
|
|
||||||
# language selection must be done before username and password
|
# language selection must be done before username and password
|
||||||
self.loginpage.set_language(smokecfg['language'])
|
self.loginpage.set_language(smokecfg['language'])
|
||||||
|
|
||||||
|
shared.Shared.wait_for_element(self.browser.get_browser(), 'class_name', 'fields', waittime = 300)
|
||||||
|
|
||||||
self.loginpage.set_username(smokecfg['username'])
|
self.loginpage.set_username(smokecfg['username'])
|
||||||
self.loginpage.set_password(smokecfg['badpassword'])
|
self.loginpage.set_password(smokecfg['badpassword'])
|
||||||
self.loginpage.login(expect_fail = True)
|
self.loginpage.login(expect_fail = True)
|
||||||
|
|
||||||
def xtest_failure_3(self):
|
def test_failure_3(self):
|
||||||
self.browser.set_url(smokecfg['cssite'])
|
self.browser.set_url(smokecfg['cssite'])
|
||||||
self.loginpage = loginpage.LoginPage(self.browser.get_browser())
|
self.loginpage = loginpage.LoginPage(self.browser.get_browser())
|
||||||
|
|
||||||
|
# wait for at most 5 minutes, in case we have an anoyingly slow server
|
||||||
|
shared.Shared.wait_for_element(self.browser.get_browser(), 'class_name', 'select-language', waittime = 300)
|
||||||
|
|
||||||
# language selection must be done before username and password
|
# language selection must be done before username and password
|
||||||
self.loginpage.set_language(smokecfg['language'])
|
self.loginpage.set_language(smokecfg['language'])
|
||||||
|
|
||||||
|
shared.Shared.wait_for_element(self.browser.get_browser(), 'class_name', 'fields', waittime = 300)
|
||||||
|
|
||||||
self.loginpage.set_username(smokecfg['badusername'])
|
self.loginpage.set_username(smokecfg['badusername'])
|
||||||
self.loginpage.set_password(smokecfg['badpassword'])
|
self.loginpage.set_password(smokecfg['badpassword'])
|
||||||
self.loginpage.login(expect_fail = True)
|
self.loginpage.login(expect_fail = True)
|
||||||
|
|
||||||
def xtest_failure_4(self):
|
def test_failure_4(self):
|
||||||
self.browser.set_url(smokecfg['cssite'])
|
self.browser.set_url(smokecfg['cssite'])
|
||||||
self.loginpage = loginpage.LoginPage(self.browser.get_browser())
|
self.loginpage = loginpage.LoginPage(self.browser.get_browser())
|
||||||
|
|
||||||
|
# wait for at most 5 minutes, in case we have an anoyingly slow server
|
||||||
|
shared.Shared.wait_for_element(self.browser.get_browser(), 'class_name', 'select-language', waittime = 300)
|
||||||
|
|
||||||
# language selection must be done before username and password
|
# language selection must be done before username and password
|
||||||
self.loginpage.set_language(smokecfg['language'])
|
self.loginpage.set_language(smokecfg['language'])
|
||||||
|
|
||||||
|
shared.Shared.wait_for_element(self.browser.get_browser(), 'class_name', 'fields', waittime = 300)
|
||||||
|
|
||||||
self.loginpage.set_username(smokecfg['sqlinjection_1'])
|
self.loginpage.set_username(smokecfg['sqlinjection_1'])
|
||||||
self.loginpage.set_password(smokecfg['password'])
|
self.loginpage.set_password(smokecfg['password'])
|
||||||
self.loginpage.login(expect_fail = True)
|
self.loginpage.login(expect_fail = True)
|
||||||
|
|
||||||
def xtest_failure_5(self):
|
def test_failure_5(self):
|
||||||
self.browser.set_url(smokecfg['cssite'])
|
self.browser.set_url(smokecfg['cssite'])
|
||||||
self.loginpage = loginpage.LoginPage(self.browser.get_browser())
|
self.loginpage = loginpage.LoginPage(self.browser.get_browser())
|
||||||
|
|
||||||
|
# wait for at most 5 minutes, in case we have an anoyingly slow server
|
||||||
|
shared.Shared.wait_for_element(self.browser.get_browser(), 'class_name', 'select-language', waittime = 300)
|
||||||
|
|
||||||
# language selection must be done before username and password
|
# language selection must be done before username and password
|
||||||
self.loginpage.set_language(smokecfg['language'])
|
self.loginpage.set_language(smokecfg['language'])
|
||||||
|
|
||||||
|
shared.Shared.wait_for_element(self.browser.get_browser(), 'class_name', 'fields', waittime = 300)
|
||||||
|
|
||||||
self.loginpage.set_username(smokecfg['sqlinjection_2'])
|
self.loginpage.set_username(smokecfg['sqlinjection_2'])
|
||||||
self.loginpage.set_password(smokecfg['password'])
|
self.loginpage.set_password(smokecfg['password'])
|
||||||
self.loginpage.login(expect_fail = True)
|
self.loginpage.login(expect_fail = True)
|
||||||
|
|
||||||
def xtest_failure_6(self):
|
def test_failure_6(self):
|
||||||
self.browser.set_url(smokecfg['cssite'])
|
self.browser.set_url(smokecfg['cssite'])
|
||||||
self.loginpage = loginpage.LoginPage(self.browser.get_browser())
|
self.loginpage = loginpage.LoginPage(self.browser.get_browser())
|
||||||
|
|
||||||
|
# wait for at most 5 minutes, in case we have an anoyingly slow server
|
||||||
|
shared.Shared.wait_for_element(self.browser.get_browser(), 'class_name', 'select-language', waittime = 300)
|
||||||
|
|
||||||
# language selection must be done before username and password
|
# language selection must be done before username and password
|
||||||
self.loginpage.set_language(smokecfg['language'])
|
self.loginpage.set_language(smokecfg['language'])
|
||||||
|
|
||||||
|
shared.Shared.wait_for_element(self.browser.get_browser(), 'class_name', 'fields', waittime = 300)
|
||||||
|
|
||||||
self.loginpage.set_username(smokecfg['sqlinjection_3'])
|
self.loginpage.set_username(smokecfg['sqlinjection_3'])
|
||||||
self.loginpage.set_password(smokecfg['password'])
|
self.loginpage.set_password(smokecfg['password'])
|
||||||
self.loginpage.login(expect_fail = True)
|
self.loginpage.login(expect_fail = True)
|
||||||
|
|
||||||
def xtest_failure_7(self):
|
def test_failure_7(self):
|
||||||
self.browser.set_url(smokecfg['cssite'])
|
self.browser.set_url(smokecfg['cssite'])
|
||||||
self.loginpage = loginpage.LoginPage(self.browser.get_browser())
|
self.loginpage = loginpage.LoginPage(self.browser.get_browser())
|
||||||
|
|
||||||
|
# wait for at most 5 minutes, in case we have an anoyingly slow server
|
||||||
|
shared.Shared.wait_for_element(self.browser.get_browser(), 'class_name', 'select-language', waittime = 300)
|
||||||
|
|
||||||
# language selection must be done before username and password
|
# language selection must be done before username and password
|
||||||
self.loginpage.set_language(smokecfg['language'])
|
self.loginpage.set_language(smokecfg['language'])
|
||||||
|
|
||||||
|
shared.Shared.wait_for_element(self.browser.get_browser(), 'class_name', 'fields', waittime = 300)
|
||||||
|
|
||||||
self.loginpage.set_username(smokecfg['sqlinjection_4'])
|
self.loginpage.set_username(smokecfg['sqlinjection_4'])
|
||||||
self.loginpage.set_password(smokecfg['password'])
|
self.loginpage.set_password(smokecfg['password'])
|
||||||
self.loginpage.login(expect_fail = True)
|
self.loginpage.login(expect_fail = True)
|
||||||
|
|
||||||
def xtest_failure_8(self):
|
def test_failure_8(self):
|
||||||
self.browser.set_url(smokecfg['cssite'])
|
self.browser.set_url(smokecfg['cssite'])
|
||||||
self.loginpage = loginpage.LoginPage(self.browser.get_browser())
|
self.loginpage = loginpage.LoginPage(self.browser.get_browser())
|
||||||
|
|
||||||
|
# wait for at most 5 minutes, in case we have an anoyingly slow server
|
||||||
|
shared.Shared.wait_for_element(self.browser.get_browser(), 'class_name', 'select-language', waittime = 300)
|
||||||
|
|
||||||
# language selection must be done before username and password
|
# language selection must be done before username and password
|
||||||
self.loginpage.set_language(smokecfg['language'])
|
self.loginpage.set_language(smokecfg['language'])
|
||||||
|
|
||||||
|
shared.Shared.wait_for_element(self.browser.get_browser(), 'class_name', 'fields', waittime = 300)
|
||||||
|
|
||||||
self.loginpage.set_username(smokecfg['sqlinjection_5'])
|
self.loginpage.set_username(smokecfg['sqlinjection_5'])
|
||||||
self.loginpage.set_password(smokecfg['password'])
|
self.loginpage.set_password(smokecfg['password'])
|
||||||
self.loginpage.login(expect_fail = True)
|
self.loginpage.login(expect_fail = True)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user