# Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. import sys, os sys.path.append(os.path.abspath(os.path.dirname(__file__) + '/'+'../lib')) from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import Select from selenium.common.exceptions import NoSuchElementException import unittest, time import Global_Locators import initialize class login(unittest.TestCase): def setUp(self): MS_URL = initialize.getMSip() self.driver = initialize.getOrCreateWebdriver() self.base_url = "http://"+ MS_URL +":8080/" # Your management Server IP goes here self.verificationErrors = [] def test_login(self): # Here we will clear the test box for Username and Password and fill them with actual login data. # After that we will click Login (Submit button) driver = self.driver driver.maximize_window() driver.get(self.base_url + "client/") driver.find_element_by_css_selector(Global_Locators.login_username_css).clear() driver.find_element_by_css_selector(Global_Locators.login_username_css).send_keys("admin") driver.find_element_by_css_selector(Global_Locators.login_password_css).clear() driver.find_element_by_css_selector(Global_Locators.login_password_css).send_keys("password") driver.find_element_by_css_selector(Global_Locators.login_submit_css).click() time.sleep(5) def is_element_present(self, how, what): try: self.driver.find_element(by=how, value=what) except NoSuchElementException, e: return False return True def tearDown(self): self.assertEqual([], self.verificationErrors) ################################################################################################################################################ class logout(unittest.TestCase): def setUp(self): self.driver = initialize.getOrCreateWebdriver() self.driver.implicitly_wait(100) self.verificationErrors = [] def test_logout(self): # Here we will clear the test box for Username and Password and fill them with actual login data. # After that we will click Login (Submit button) driver = self.driver driver.find_element_by_xpath("//div[@id='navigation']/ul/li").click() driver.find_element_by_css_selector("div.icon.options").click() driver.find_element_by_link_text("Logout").click() def is_element_present(self, how, what): try: self.driver.find_element(by=how, value=what) except NoSuchElementException, e: return False return True def tearDown(self): self.assertEqual([], self.verificationErrors) ################################################################################################################################################ class login_test(unittest.TestCase): def setUp(self): self.driver = initialize.getOrCreateWebdriver() self.verificationErrors = [] def test_logintest(self): # Here we will clear the test box for Username and Password and fill them with actual login data. # After that we will click Login (Submit button) driver = self.driver driver.find_element_by_css_selector(Global_Locators.login_username_css).clear() driver.find_element_by_css_selector(Global_Locators.login_username_css).send_keys("test") driver.find_element_by_css_selector(Global_Locators.login_password_css).clear() driver.find_element_by_css_selector(Global_Locators.login_password_css).send_keys("password") driver.find_element_by_css_selector(Global_Locators.login_submit_css).click() time.sleep(5) def is_element_present(self, how, what): try: self.driver.find_element(by=how, value=what) except NoSuchElementException, e: return False return True def tearDown(self): self.assertEqual([], self.verificationErrors) ################################################################################################################################################ class createAcc(unittest.TestCase): def setUp(self): self.driver = initialize.getOrCreateWebdriver() self.verificationErrors = [] def test_createacc(self): driver = self.driver self.driver.implicitly_wait(100) driver.find_element_by_xpath("//div[@id='navigation']/ul/li[8]/span[2]").click() driver.find_element_by_xpath("//div[3]/span").click() driver.find_element_by_id("label_username").clear() driver.find_element_by_id("label_username").send_keys("test") driver.find_element_by_id("password").clear() driver.find_element_by_id("password").send_keys("password") driver.find_element_by_id("label_confirm_password").clear() driver.find_element_by_id("label_confirm_password").send_keys("password") driver.find_element_by_id("label_email").clear() driver.find_element_by_id("label_email").send_keys("test@citrix.com") driver.find_element_by_id("label_first_name").clear() driver.find_element_by_id("label_first_name").send_keys("test") driver.find_element_by_id("label_last_name").clear() driver.find_element_by_id("label_last_name").send_keys("test") driver.find_element_by_id("label_domain").click() Select(driver.find_element_by_id("label_type")).select_by_visible_text("Admin") Select(driver.find_element_by_id("label_timezone")).select_by_visible_text("[UTC-08:00] Pacific Standard Time") driver.find_element_by_xpath("//button[@type='button']").click() # Go to Dashboard driver.find_element_by_xpath(Global_Locators.dashboard_xpath).click() time.sleep(30) def is_element_present(self, how, what): try: self.driver.find_element(by=how, value=what) except NoSuchElementException, e: return False return True def tearDown(self): self.assertEqual([], self.verificationErrors) ################################################################################################################################################ class tearAcc(unittest.TestCase): def setUp(self): self.driver = initialize.getOrCreateWebdriver() self.verificationErrors = [] def test_tearacc(self): driver = self.driver driver.find_element_by_css_selector("li.navigation-item.accounts").click() driver.find_element_by_css_selector("tr.odd > td.name.first").click() driver.find_element_by_css_selector("a[alt=\"Delete account\"] > span.icon").click() driver.find_element_by_xpath("(//button[@type='button'])[2]").click() # Go to Dashboard driver.find_element_by_xpath(Global_Locators.dashboard_xpath).click() time.sleep(30) def is_element_present(self, how, what): try: self.driver.find_element(by=how, value=what) except NoSuchElementException, e: return False return True def tearDown(self): self.driver.quit() self.assertEqual([], self.verificationErrors) ################################################################################################################################################