def browseToChangePasswordFromHome(): selenium.click("sidebarMenu-accountSettings") selenium.wait_for_page_to_load("30000") self.assertEqual("page-account-view", selenium.get_attribute("//body@id")) selenium.click("sidebarMenu-changePassword") selenium.wait_for_page_to_load("30000") self.assertEqual("page-account-changePassword", selenium.get_attribute("//body@id"))
def Click_Serial_Number(self): try: selenium.click( "link="+config_setting.get("setting", "serial_number")) print "Click the serial number you want" except: raise Exception("The serial number cannot click - FAIL")
def Help_Acs_Url(self): try: selenium.click("id="+config_element.get("help", "help_id")) selenium.click("link="+config_element.get("help", "help_acs_url")) print "Open the Help_Acs_Url screen - PASS" except: raise Exception("The Help_Acs_Url function - FAIL")
def Help_Dashboard(self): try: selenium.click("id="+config_element.get("help", "help_id")) selenium.click( "link="+config_element.get("help", "help_dashboard")) print "Open the Help_Dashboard screen - PASS" except: raise Exception("The Help_Dashboard function - FAIL")
def File_DB_DB_Auto_Backup(self): try: selenium.click("id="+config_element.get("file_db", "file_db_id")) selenium.click("link="+config_element.get("file_db", "file_db_db_auto_backup")) print "Open the File_DB_DB_Auto_Backup screen - PASS" except: raise Exception("The File_DB_DB_Auto_Backup function - FAIL")
def login(self): selenium = self.selenium selenium.open("/") selenium.click("login") selenium.wait_for_page_to_load(5000) selenium.type("email", "*****@*****.**") selenium.click("submit-login") selenium.wait_for_page_to_load(5000)
def System_Operation_Data(self): try: selenium.click("id="+config_element.get("system", "system_id")) selenium.click( "link="+config_element.get("system", "system_operation_data")) print "Open the System_Operation_Data screen - PASS" except: raise Exception("The System_Operation_Data function - FAIL")
def System_Cpe_Upgrade(self): try: selenium.click("id="+config_element.get("system", "system_id")) selenium.click( "link="+config_element.get("system", "system_cpe_upgrade")) print "Open the System_Cpe_Upgrade screen - PASS" except: raise Exception("The System_Cpe_Upgrade function - FAIL")
def Security_Change_Password(self): try: selenium.click("id="+config_element.get("security", "security_id")) selenium.click("link="+config_element.get("security", "security_change_password")) print "Open the Security_Change_Password screen - PASS" except: raise Exception("The Security_Change_Password function - FAIL")
def File_DB_DB_Utility(self): try: selenium.click("id="+config_element.get("file_db", "file_db_id")) selenium.click( "link="+config_element.get("file_db", "file_db_db_utility")) print "Open the File_DB_DB_Utility screen - PASS" except: raise Exception("The File_DB_DB_Utility function - FAIL")
def Event_History_Alarm(self): try: selenium.click("id="+config_element.get("event", "event_id")) selenium.click( "link="+config_element.get("event", "event_history_alarm")) print "Open the Event_History_Alarm screen - PASS" except: raise Exception("The Event_History_Alarm function - FAIL")
def File_DB_Certificate(self): try: selenium.click("id="+config_element.get("file_db", "file_db_id")) selenium.click( "link="+config_element.get("file_db", "file_db_certificate")) print "Open the File_DB_Certificate screen - PASS" except: raise Exception("The File_DB_Certificate function - FAIL")
def Event_Alarm_Definition(self): try: selenium.click("id="+config_element.get("event", "event_id")) selenium.click("link="+config_element.get("event", "event_alarm_definition")) print "Open the Event_Alarm_Definition screen - PASS" except: raise Exception("The Event_Alarm_Definition function - FAIL")
def Event_Log_Auto_Backup(self): try: selenium.click("id="+config_element.get("event", "event_id")) selenium.click( "link="+config_element.get("event", "event_log_auto_backup")) print "Open the Event_Log_Auto_Backup screen - PASS" except: raise Exception("The Event_Log_Auto_Backup function - FAIL")
def Event_System_Log(self): try: selenium.click("id="+config_element.get("event", "event_id")) selenium.click( "link="+config_element.get("event", "event_system_log")) print "Open the Event_System_Log screen - PASS" except: raise Exception("The Event_System_Log function - FAIL")
def File_DB_File_Server_Config(self): try: selenium.click("id="+config_element.get("file_db", "file_db_id")) selenium.click("link="+config_element.get("file_db", "file_db_file_server_config")) print "Open the File_DB_File_Server_Config screen - PASS" except: raise Exception("The File_DB_File_Server_Config function - FAIL")
def Testing_Pd128_Test(self): try: selenium.click("id="+config_element.get("testing", "testing_id")) selenium.click( "link="+config_element.get("testing", "testing_pd128_test")) print "Open the Testing_Pd128_Test screen - PASS" except: raise Exception("The Testing_Pd128_Test function - FAIL")
def Security_License(self): try: selenium.click("id="+config_element.get("security", "security_id")) selenium.click( "link="+config_element.get("security", "security_license")) print "Open the Security_License screen - PASS" except: raise Exception("The Security_License function - FAIL")
def File_DB_History_Log_File(self): try: selenium.click("id="+config_element.get("file_db", "file_db_id")) selenium.click("link="+config_element.get("file_db", "file_db_history_log_file")) print "Open the File_DB_History_Log_File screen - PASS" except: raise Exception("The File_DB_History_Log_File function - FAIL")
def Dashboard_Refresh(self): try: for i in range(0, 1): selenium.click( "xpath="+config_element.get("setting", "refresh_button")) print "click refresh button - " + str(i+1) + " PASS" except: raise Exception("The fresh button was not click - FAIL")
def testMemberVisitHisPublicProfile(self): '''Member visits his public profile. (Via URL)''' selenium = self.selenium self.preconditionLoggedIn() selenium.open("/") selenium.wait_for_page_to_load("30000") selenium.click("sidebarMenu-publicProfile") selenium.wait_for_page_to_load("30000") self.assertEqual("page-members-stories", selenium.get_attribute("//body@id"))
def Testing_Cpe_Parameter_Test(self): try: selenium.click("id="+config_element.get("testing", "testing_id")) selenium.click("link="+config_element.get("testing", "testing_cpe_parameter_test")) selenium.close() print "Open the Testing_Cpe_Parameter_Test screen - PASS" except: raise Exception("The Testing_Cpe_Parameter_Test function - FAIL")
def Help_Release_Information(self): try: selenium.click("id="+config_element.get("help", "help_id")) selenium.click("link="+config_element.get("help", "help_Release_information")) selenium.close() print "Open the Help_Release_Information screen - PASS" except: raise Exception("The Help_Release_Information function - FAIL")
def doMemberLogin(self, usernameOrEmail, password): selenium = self.selenium selenium.click("menu-login") selenium.wait_for_page_to_load("30000") selenium.type("username", usernameOrEmail) selenium.type("password", password) selenium.click("login") selenium.wait_for_page_to_load("30000") self.assertEqual("page-home-member", selenium.get_attribute("//body@id"))
def Security_Logout(self): try: selenium.click("id="+config_element.get("security", "security_id")) selenium.click( "link="+config_element.get("security", "security_logout")) selenium.get_confirmation() selenium.choose_ok_on_next_confirmation() print "Open the Security_Logout screen - PASS" except: raise Exception("The Security_Logout function - FAIL")
def testWhoIsBehindWrook(self): ''' Tests the "Who is behind Wrook" content page. Test includes acces via the main navigation path from the home page. ''' selenium = self.selenium selenium.open("/") selenium.wait_for_page_to_load("30000") selenium.click("menuWho") selenium.wait_for_page_to_load("30000") self.assertEqual("page-about-who", selenium.get_attribute("//body@id"))
def testHalfBakedEdition(self): ''' Tests the "Half Baked Edition" content page. Test includes acces via the main navigation path from the home page. ''' selenium = self.selenium selenium.open("/") selenium.wait_for_page_to_load("30000") selenium.click("link-halfBaked") selenium.wait_for_page_to_load("30000") self.assertEqual("page-about-HalfBakedEdition", selenium.get_attribute("//body@id"))
def testLinks(self): selenium = self.selenium selenium.open("/selenium-server/tests/html/test_click_page1.html") self.failUnless(selenium.get_text("link").find("Click here for next page") != -1, "link 'link' doesn't contain expected text") links = selenium.get_all_links() self.failUnless(len(links) > 3) self.assertEqual("linkToAnchorOnThisPage", links[3]) selenium.click("link") selenium.wait_for_page_to_load(5000) self.failUnless(selenium.get_location().endswith("/selenium-server/tests/html/test_click_page2.html")) selenium.click("previousPage") selenium.wait_for_page_to_load(5000) self.failUnless(selenium.get_location().endswith("/selenium-server/tests/html/test_click_page1.html"))
def testGoogle__4(self): selenium = self.selenium selenium.open("http://www.google.com/webhp?hl=en") #Verifies that the title matches self.assertEqual ("Google", selenium.get_title()) selenium.type("q", "Selenium OpenQA") #Verifies that it can find the Selenium website self.assertEqual("Selenium OpenQA", selenium.get_value("q")) selenium.click("btnG") selenium.wait_for_page_to_load("5000") self.assertEqual("Selenium OpenQA - Google Search", selenium.get_title())
def Add_All_Devices(self): try: self.System_Operation_Data() selenium.click( "xpath="+config_element.get("add_file", "click_add_button")) for add_file_times in range(0, 1): print "The " + str(add_file_times+1) + " add the file" time.sleep(1) selenium.click( "name="+config_element.get("add_file", "downframe")) selenium.type("xpath="+config_element.get("add_file", "oui_text"), config_setting.get("add_file", "oui_value")) selenium.type("xpath="+config_element.get("add_file", "product_class"), config_setting.get("add_file", "product_value")) selenium.type("xpath="+config_element.get("add_file", "serial_number"), config_setting.get("add_file", "serial_number") + " - " + str(add_file_times+1)) selenium.click( "css="+config_element.get("add_file", "submit_button")) ################### Verify the success message ################ selenium.click( "name="+config_element.get("add_file", "downframe")) add_cpe_successfully = selenium.get_text( "xpath="+config_element.get("add_file", "add_cpe_successfully")) if add_cpe_successfully == "The CPE has exsited.": print add_cpe_successfully elif add_cpe_successfully == "Add successfully.": print add_cpe_successfully else: raise Exception("Add file was not success") print "Add the file - PASS" except: raise Exception("Add the file was not success")
def testGoogle__4(self): selenium = self.selenium selenium.open("http://www.google.com/webhp?hl=en") #Verifies that the title matches self.assertEqual("Google", selenium.get_title()) selenium.type("q", "Selenium OpenQA") #Verifies that it can find the Selenium website self.assertEqual("Selenium OpenQA", selenium.get_value("q")) selenium.click("btnG") selenium.wait_for_page_to_load("5000") self.assertEqual("Selenium OpenQA - Google Search", selenium.get_title())
def HeNB_Response_Message(self, status, heNB_SetParameterValuesResponse): try: pyautogui.click(1000, 30) self.System_Operation_Data() self.Click_Serial_Number() # Click the Message Log # selenium.click( "link="+config_element.get("system", "system_message_log")) # Select the HeNB detail message print 'Type the serial number.' self.Click_CheckBox() time.sleep(3) selenium.click( "xpath="+config_element.get("detail_message", "search_button")) print "Select the key code" # Verify the SetParameterValuesResponse text can be get setParameterValuesResponse = selenium.get_text( "xpath="+config_element.get("detail_message", "parametervalues_text")) if setParameterValuesResponse == 'SetParameterValuesResponse': print 'Get the SetParameterValuesResponse text!!' else: print "Do not Get the SetParameterValues text!!" android = Android() android.Copy_Trace_Folder() raise Exception("Do not Get the SetParameterValues text!!") self.Autoit_Detail_Message(40) # Get the message from Get_clipboard message_log_detail_dialog = self.Get_Clipboard() # Verify the status value if '<Status>' + status + '</Status>' in message_log_detail_dialog: print 'The status was matched - SUCCESS' else: print "The status was not matched - FAIL" android = Android() android.Copy_Trace_Folder() raise Exception("The status was not matched - FAIL") time.sleep(1) now = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time())) heNB_SetParameterValuesResponse = heNB_SetParameterValuesResponse + '_' + now + '.txt' fp = open(heNB_SetParameterValuesResponse, "w") fp.write(message_log_detail_dialog) autoit.Sleep(1000) autoit.Send("!{F4}") print "Close the Detail page" except: raise Exception("The HeNB_Response_Message was not success - FAIL")
def Login(self): try: selenium.open(config_element.get("setting", "acs_address_sub")) selenium.type("id="+config_element.get("login", "username_id"), config_setting.get("setting", "username")) selenium.type("id="+config_element.get("login", "password_id"), config_setting.get("setting", "password")) selenium.click("id="+config_element.get("login", "login_Id")) selenium.wait_for_page_to_load( config_element.get("setting", "wait_time")) print "Login to the web - PASS" pyautogui.click(1000, 30) selenium.click( "xpath="+config_element.get("setting", "askey_logo")) print "Get the ASKEY image - PASS" except: raise Exception("No login to the web - FAIL")
def Autoit_Detail_Message(self, number): selenium.click( "xpath="+config_element.get("detail_message", "search_button")) pyautogui.click(1000, 30) self.Autoit_Tab_button(number, 100) autoit.Sleep(5000) autoit.Send("{ENTER}") print "Click the Detail page was finished" autoit.Sleep(2000) autoit.ControlClick(config_element.get("detail_message", "controlclick_title"), "", config_element.get("detail_message", "controlclick_nn")) pyautogui.click(600, 100) # click the pop up windows by pyautogui print 'click the pop up windows' autoit.Sleep(2000) # wait the controlclick the pop up window self.Autoit_Tab_button(8, 500) autoit.Sleep(2000) autoit.Send("^a") autoit.Sleep(2000) autoit.Send("^c")
def Parameter_List_Adminstate(self, boolean): try: self.System_Operation_Data() self.Click_Serial_Number() selenium.click( "link="+config_element.get("system", "system_parameter_list")) time.sleep(2) print "Click the Parameter List" selenium.click("link="+config_element.get("adminstate", "adminstate_location")) self.Set_Value(boolean) successfully_request_to_message_queue = selenium.get_text( "xpath="+config_element.get("adminstate", "parameter_value_successfully")) if successfully_request_to_message_queue == "Successfully add SetParameterValues request to the Message Queue!": print successfully_request_to_message_queue else: raise Exception("Get value was not success") except: raise Exception("The parameter location was not found - FAIL")
def Set_Value(self, boolean): if boolean == '0': # change the parameter value boolean to 0 # time.sleep(1) selenium.type("css="+config_element.get("adminstate", "adminstate_value"), config_element.get("adminstate", "boolean_false")) time.sleep(1) print 'The value was change to ' + boolean selenium.click("xpath="+config_element.get("adminstate", "adminstate_set_value_button")) if boolean == '1': # change the parameter value boolean to 1 # time.sleep(1) selenium.type("css="+config_element.get("adminstate", "adminstate_value"), config_element.get("adminstate", "boolean_true")) time.sleep(1) print 'The value was change to ' + boolean selenium.click("xpath="+config_element.get("adminstate", "adminstate_set_value_button"))
def testMemberChangePassword(self): ''' Member logs in with the default password, changes his password, then logs out and logs back in with the new password. Afterward, the member changes back the password to the default. ''' def browseToChangePasswordFromHome(): selenium.click("sidebarMenu-accountSettings") selenium.wait_for_page_to_load("30000") self.assertEqual("page-account-view", selenium.get_attribute("//body@id")) selenium.click("sidebarMenu-changePassword") selenium.wait_for_page_to_load("30000") self.assertEqual("page-account-changePassword", selenium.get_attribute("//body@id")) selenium = self.selenium self.preconditionLoggedIn() browseToChangePasswordFromHome() selenium.type("oldPassword", self.testMemberPassword) selenium.type("newPassword", self.testMemberAlternatePassword) selenium.click("save") selenium.wait_for_page_to_load("30000") self.assertEqual("page-account-view", selenium.get_attribute("//body@id")) self.doMemberLogout() self.doMemberLogin(self.testMemberUsername, self.testMemberAlternatePassword) browseToChangePasswordFromHome() selenium.type("oldPassword", self.testMemberAlternatePassword) selenium.type("newPassword", self.testMemberPassword) selenium.click("save") selenium.wait_for_page_to_load("30000") self.assertEqual("page-account-view", selenium.get_attribute("//body@id")) self.doMemberLogout() self.doMemberLogin(self.testMemberUsername, self.testMemberPassword) def browseToChangePasswordFromHome(): selenium.click("sidebarMenu-accountSettings") selenium.wait_for_page_to_load("30000") self.assertEqual("page-account-view", selenium.get_attribute("//body@id")) selenium.click("sidebarMenu-changePassword") selenium.wait_for_page_to_load("30000") self.assertEqual("page-account-changePassword", selenium.get_attribute("//body@id"))
def Clear_All_Data(self, location, button, message): try: self.System_Operation_Data() self.Click_Serial_Number() # Clear the Message Log data # selenium.click( "link="+location) total_file = selenium.get_text( "xpath="+config_element.get("delete_file", "get_allfile_number")) total_file_number = total_file.split()[1] # catch the total number print "The total number is " + total_file_number total_delete_times = str( int(math.ceil(float(total_file_number)/25))) print "The total delete times is " + total_delete_times for delete_times in range(0, int(math.ceil(float(total_file_number)/25))): # wait the previous delete file time.sleep(4) print "Delete " + str(delete_times+1) + " times" selenium.click( "css="+config_element.get("delete_file", "select_allfile_checkbox")) selenium.click( "xpath="+button) selenium.get_confirmation() successfully_request_to_message_log = selenium.get_text( "xpath="+config_element.get("system", "parameter_value_successfully")) if successfully_request_to_message_log == message: print successfully_request_to_message_log else: raise Exception("Get value was not success") except: raise Exception("The all message log was not clear - FAIL")
def testMemberViewsAndEditsHisAccountSettings(self): ''' Member views and edits his account settings. Persistance is tested by changing the about field twice and verifying the saved input ''' selenium = self.selenium self.preconditionLoggedIn() selenium.open("/") selenium.wait_for_page_to_load("30000") selenium.click("sidebarMenu-accountSettings") selenium.wait_for_page_to_load("30000") self.assertEqual("page-account-view", selenium.get_attribute("//body@id")) selenium.click("btnEditAccount") selenium.wait_for_page_to_load("30000") self.assertEqual("page-account-edit", selenium.get_attribute("//body@id")) selenium.type("About", "Bonjour!") selenium.click("btnSave") selenium.wait_for_page_to_load("30000") self.assertEqual("page-account-view", selenium.get_attribute("//body@id")) self.assertEqual("Bonjour!", selenium.get_text("valAbout")) selenium.click("btnEditAccount") selenium.wait_for_page_to_load("30000")
def testWrookIsOpenSource(self): ''' Tests the "Wrook is Open Source" content page. Test includes acces via the main navigation path from the home page. ''' selenium = self.selenium selenium.open("/") selenium.wait_for_page_to_load("30000") selenium.click("menu-openSourceLicense") selenium.wait_for_page_to_load("30000") self.assertEqual("page-about-OpenSourceLicense", selenium.get_attribute("//body@id")) selenium.click("menu-openSourceAttribution") selenium.wait_for_page_to_load("30000") self.assertEqual("page-about-openSourceAttribution", selenium.get_attribute("//body@id")) selenium.click("menu-CPAL10License") selenium.wait_for_page_to_load("30000") self.assertEqual("page-about-CPAL", selenium.get_attribute("//body@id"))
def del_program(self): selenium = self.selenium selenium.answer_on_next_prompt("fib1") selenium.click("del_button") selenium.wait_for_page_to_load(5000)
def get_details(self): selenium = self.selenium selenium.click('xpath=//a[text()="example"]') selenium.wait_for_page_to_load(5000)
def do_reset(self): selenium = self.selenium selenium.click("reset") selenium.wait_for_page_to_load(5000)