def test_ShopTaskAudit(self): try: self.testcaseinfo.starttime = str( time.strftime("%Y-%m-%d %H:%M:%S")) self.driver.get(self.base_url) time.sleep(1) loginpage = LoginPage(self.driver) loginpage.login_icompaign("19333333333", "1") time.sleep(1) auditpage = ShopTaskAuditPage(self.driver) auditpage.menu_click() firsttaskname = auditpage.get_first_task_name() # firsttaskname = firsttaskname.encode("utf-8") if firsttaskname.startswith(u"Auto"): auditpage.audit_click() auditpage.audit("pass", "test pass") time.sleep(20) shoptaskpage = BaseTaskPage(self.driver) shoptaskpage.menu_click() t_state = shoptaskpage.get_task_state(firsttaskname) print t_state self.assertEqual(t_state, u"审核成功", "task state is wrong") self.testcaseinfo.result = "pass" else: print "the first task isn't autotask! please check" self.testcaseinfo.result = "faild" except Exception as err: c = Commons(self.driver) c.exception_picture(self._testMethodName) self.testcaseinfo.errorinfo = str(err) finally: self.testcaseinfo.endtime = str(time.strftime("%Y-%m-%d %H:%M:%S")) print self.testcaseinfo.caseid, self.testcaseinfo.starttime, self.testcaseinfo.endtime, \ self.testcaseinfo.name, self.testcaseinfo.result, self.testcaseinfo.errorinfo
def test_sign_in_button(self): print("\n" + str("teste 1")) login_page = LoginPage(self.driver) login_page.login("*****@*****.**") createAccount_page = CreateAccountPage(self.driver) self.driver.implicitly_wait(10) createAccount_page.create_account("teste", "teste", "frlc_3112", "rua do teste", "florida", "5", "21", "00000", "9858858", "98585588", "teste address") account_page = AccountPage(self.driver) account_page.click_submit_personal_information() self.driver.implicitly_wait(5) value_firstname = account_page.get_values_firstname() value_lastname = account_page.get_values_lastname() account_page.click_submit_my_personal_information_back_button() self.driver.implicitly_wait(5) account_page.click_submit_my_addresses() self.driver.implicitly_wait(5) value_addresses = account_page.get_values_my_addresses() self.assertEqual("teste", value_firstname) self.assertEqual("teste", value_lastname) self.assertEqual("rua do teste", value_addresses)
def do_login(self, user, password): idp_server = self.get_idp_server() self._goto_login_page() login_page = LoginPage(self.driver, idp_server) login_page._login(idp_server, user, password) openIdLoginPage = OpenIDLoginPage(self.driver, idp_server) openIdLoginPage._enter_credentials(user, password)
def run(): from LoginPage import LoginPage page = LoginPage() page.render() return
def is_base_page(get_driver, url): """Check base page fixture""" login_page = LoginPage(get_driver, url) login_page.navigate() current_result = login_page.get_title() expected_result = "Your Store" return expected_result, current_result
def test_ShopTaskPool(self): try: self.testcaseinfo.starttime = str( time.strftime("%Y-%m-%d %H:%M:%S")) self.driver.get(self.base_url) time.sleep(1) loginpage = LoginPage(self.driver) loginpage.login_icompaign("19444444444", "1") time.sleep(1) shoptaskpoolpage = ShopTaskPoolPage(self.driver) shoptaskpoolpage.pool_menu_click() time.sleep(1) firsttaskname = shoptaskpoolpage.get_first_task_name() if firsttaskname.startswith(u"Auto"): shoptaskpoolpage.execute_task() boxtaskname = shoptaskpoolpage.get_box_taskname() self.assertEqual(boxtaskname, firsttaskname, "execute shop taskname is not equal!") shoptaskpoolpage.execute_confirm() time.sleep(1) state = shoptaskpoolpage.get_state() print state self.testcaseinfo.result = "pass" else: self.testcaseinfo.errorinfo = "the first task isn't autotask! please check" self.testcaseinfo.result = "faild" except Exception as err: c = Commons(self.driver) c.exception_picture(self._testMethodName) self.testcaseinfo.errorinfo = str(err) finally: self.testcaseinfo.endtime = str(time.strftime("%Y-%m-%d %H:%M:%S")) print self.testcaseinfo.caseid, self.testcaseinfo.starttime, self.testcaseinfo.endtime, \ self.testcaseinfo.name, self.testcaseinfo.result, self.testcaseinfo.errorinfo
def getPage(self): ''' 获得对应登录身份的process页面 :return: ''' loginPage=LoginPage(self.driver) loginPage.login(self.userCount,self.userPass) self.driver.get('') self.driver.get(self.url)
def test_1login_and_logout(self): driver = self.driver driver.get("https://www.instagram.com/") driver.find_element_by_xpath(Locators.signin_button_xpath).click() login = LoginPage(driver) login.enter_username(user_data.username) login.enter_password(user_data.password) login.click_login() login.logout()
def test_login(self): ## get url login_page = LoginPage(self.driver) login_page.open_login_page() login_page.add_username() login_page.add_password() login_page.click_submit_button()
def test_login_mail(self): # 声明LoginPage类对象 login_page = LoginPage(self.driver, self.url, u"权限管理系统") # 调用打开页面组件 login_page.open() # 切换到登录框Frame #login_page.switch_frame('x-URS-iframe') # 调用用户名输入组件 login_page.input_username(self.username) # 调用密码输入组件 login_page.input_password(self.password) # 调用点击登录按钮组件 login_page.click_submit()
def test_add_label(self): # Creating object for test driver = self.driver login = LoginPage(driver) home = HomePage(driver) settings = SettingsPage(driver) foldersandabels = FoldersAndLabelsPage(driver) # Open a Firefox window driver.get('https://beta.protonmail.com/') # Connect to ProtonMail login.enter_username('*****@*****.**') login.enter_password('qwerty123') login.click_login() time.sleep(1) # Close PopUp Window and Click on Settings Tab home.click_not_now() home.click_settings_tab() time.sleep(1) # Click on the Folders and Labels link settings.click_foldersandlabels() time.sleep(1) # Add a Label and Submit foldersandabels.create_label('MyLabelSubmit') foldersandabels.click_submit() time.sleep(1) # Add a Label and Cancel foldersandabels.create_label('MyLabelCancel') foldersandabels.click_cancel() time.sleep(1)
def test_ShopTaskCreate(self): try: self.testcaseinfo.starttime = str( time.strftime("%Y-%m-%d %H:%M:%S")) self.driver.get(self.base_url) time.sleep(1) loginpage = LoginPage(self.driver) loginpage.login_icompaign("19444444444", "1") time.sleep(1) taskpage = BaseTaskPage(self.driver) taskpage.menu_click() taskpage.task_create_click() self.assertEqual(taskpage.get_stepname(1), u"任务基本信息", "step1 error") taskname = taskpage.set_tname(u"Auto_炒店任务_") # 类型选择:新发展客户,流量提升,语音提升,短信提升,国际业务,增值推荐 ······ taskpage.set_tbusiness(u"语音提升") taskpage.set_tbtime(time.strftime("%Y-%m-%d")) taskpage.set_tstime(time.strftime("%Y-%m-%d")) taskpage.set_shop() taskpage.set_tdesc(u"This is a testing task") taskpage.next1_click() time.sleep(1) self.assertEqual(taskpage.get_stepname(2), u"目标用户选择", "step1 is not change to step2") taskpage.next1_click() self.assertEqual(taskpage.get_stepname(3), u"客户接触渠道", "step2 is not change to step3") taskpage.set_sms(u"安讯科技智能营销测试短信!") taskpage.set_interval(1) taskpage.next1_click() self.assertEqual(taskpage.get_stepname(4), u"预览", "step3 is not change to step4") taskpage.commit_click() # 需要优化等待方式 time.sleep(20) print taskpage.get_rowname() print taskname self.assertEqual( taskpage.get_rowname(), taskname, "task created faild! or other task created on row1") self.testcaseinfo.result = "pass" except Exception as err: c = Commons(self.driver) c.exception_picture(self._testMethodName) self.testcaseinfo.errorinfo = str(err) finally: self.testcaseinfo.endtime = str(time.strftime("%Y-%m-%d %H:%M:%S")) print self.testcaseinfo.caseid, self.testcaseinfo.starttime, self.testcaseinfo.endtime, \ self.testcaseinfo.name, self.testcaseinfo.result, self.testcaseinfo.errorinfo
def test_login2(self): self.driver.get(self.baseURL) lp = LoginPage(self.driver) lp.setEmail(self.email) lp.setPassword(self.password) lp.clickLogin() time.sleep(5)
def login(path): data = xlrd.open_workbook(path) #打开excel表格,参数为文件路径 sheet_names = data.sheet_names() #获取所有sheet的名称 table = data.sheet_by_name(sheet_names[0]) # 通过名称获取表格 rows = table.nrows #获取总行数 po = LoginPage() for i in range(rows): #获取每一行的数据 row_content = table.row_values(i) username = row_content[0] password = int(row_content[1]) #读取的数字会变成float类型 如12345变为 12345.0 po.Login_action(username, password)
def pressed_signup_back(self, event): """ L'utilisateur est retourné de la page d'inscription à connexion """ self.placeFrame(LoginPage(self.windows)) # Dirige vers la fonction prévue si celle-ci est appellée dans la page de connexion self.call_frame.bind('<<SIGNUP_PRESS>>', self.pressed_signup) self.call_frame.bind('<<LOGIN_SUCCES>>', self.is_logged) self.call_frame.bind('<<LOGIN_ERROR>>', self.not_logged)
def main(): mysql = Mysql(params['host'], user='******', database='mychat') myclient = Client(params['host'], params['port']) root = tk.Tk() root.title('Mychat') LoginPage(root, myclient, mysql) root.mainloop()
def __init__(self, windows, **kwargs): """ Lancement de l'application """ super().__init__( windows, **kwargs) # Permet de récupérer les précédents arguments appelés self.windows = windows # Rend la fenêtre importée globale à toute la class # Configurations de la fenêtre self.windows = windows windows.title('ScarecrowKill') windows.geometry('1200x500') windows.resizable(width=False, height=False) windows.iconbitmap('ressources/favicon.ico') # Affiche la fenêtre de connexion et demande de ne pas vider la fenêtre précédente self.placeFrame(LoginPage(self.windows), False) # Execute une fonction par rapport à l'évenement récupéré self.call_frame.bind('<<LOGIN_SUCCES>>', self.is_logged) self.call_frame.bind('<<LOGIN_ERROR>>', self.not_logged) self.call_frame.bind('<<SIGNUP_PRESS>>', self.pressed_signup) self.call_frame.bind('<<SIGNUP_SUCCESS>>', self.is_logged) self.call_frame.bind('<<SIGNUP_BACK>>', self.pressed_signup_back) self.call_frame.bind('<<GAME_JOIN>>', self.join_game) self.call_frame.bind('<<GAME_LEAVE>>', self.is_logged) self.call_frame.bind('<<LOGOUT_GAME>>', self.logout)
def test_login(self): try: self.driver.get(self.testcaseinfo.baseurl) login_page=LoginPage(self.driver) login_page.set_username(self.testcaseinfo.name) login_page.set_password(self.testcaseinfo.pwd) login_page.click_submit() time.sleep(2) retail_name=login_page.after_login() self.assertEqual(self.testcaseinfo.name.lower(),retail_name.lower(),"Not equal") except Exception as err: self.testcaseinfo.errorinfo= str(err)
def logout(self, event): """ La connexion à l'utilisateur est réussie """ self.placeFrame(LoginPage(self.windows)) # Dirige vers la fonction prévue si celle-ci est appellée dans la page de connexion self.call_frame.bind('<<SIGNUP_PRESS>>', self.pressed_signup) self.call_frame.bind('<<LOGIN_SUCCES>>', self.is_logged) self.call_frame.bind('<<LOGIN_ERROR>>', self.not_logged) self.call_frame.bind('<<LOGOUT_GAME>>', self.logout)
def test02(self): MainPage(self.driver).go_to_login() time.sleep(3) LoginPage(self.driver).login1() time.sleep(5) self.assertEqual( login_success_page(self.driver).get_text('id', 'tvNick'), u'可爱de小胖妞')
def enter_new(self, event=None): try: self.wrong_box[0].place_forget() self.wrong_box.pop() except: pass self.enter_pass = self.passVar.get() try: mkdir(position + "/Pass") except: pass in_pass = str(LoginPage().passwordLogin(self.enter_pass)) with open(position + "/Pass/password.ec", "w+") as work_file: work_file.write(in_pass) try: self.pass_entry.destroy() self.SignUpButton.destroy() self.label.destroy() self.destroy() openPage = LoginPage(passWordfile="password.ec") openPage.loginComponentsSet() openPage.pack(fill=BOTH, expand=YES) except: pass
def test_login_valid(self): driver = self.driver driver.get("https://opensource-demo.orangehrmlive.com/") login = LoginPage(driver) login.enter_username("Admin") login.enter_password("admin123") login.click_login() homepage = HomePage(driver) homepage.click_welcome()
def login_negative(get_driver, cmdopt_url): """fixture to test negative scenario""" login_page = LoginPage(get_driver, cmdopt_url) login_page.navigate() login_page.login("demo", "demon1") current_result = login_page.get_alert() expected_result = "Такой логин и/или пароль не существует!" return expected_result, current_result
def login_positive(get_driver, cmdopt_url): """fixture to test positive scenario""" login_page = LoginPage(get_driver, cmdopt_url) login_page.navigate() login_page.login("demo", "demo") current_result = login_page.get_title() expected_result = "Панель состояния" return expected_result, current_result
def empty_form(get_driver, cmdopt_url): """fixture to empty login form scenario""" login_page = LoginPage(get_driver, cmdopt_url) login_page.navigate() login_page.login("", "") current_result = login_page.get_alert() expected_result = "Такой логин и/или пароль не существует!" return expected_result, current_result
def empty_form(get_driver, cmdopt_url): """fixture to empty login form scenario""" login_page = LoginPage(get_driver, cmdopt_url) login_page.navigate() login_page.login("", "") current_result = login_page.get_alert() expected_result = "No match for Username and/or Password." return expected_result, current_result
def login_positive(get_driver, cmdopt_url): """fixture to test positive scenario""" login_page = LoginPage(get_driver, cmdopt_url) login_page.navigate() login_page.login("admin", "admin") current_result = login_page.get_title() expected_result = "Dashboard" return expected_result, current_result
def login_negative(get_driver, cmdopt_url): """fixture to test negative scenario""" login_page = LoginPage(get_driver, cmdopt_url) login_page.navigate() login_page.login("admin", "admin1") current_result = login_page.get_alert() expected_result = "No match for Username and/or Password." return expected_result, current_result
def test_4get_user_followers(self): driver = self.driver username = "******" driver.get("https://www.instagram.com/" + username + "/") driver.find_element_by_xpath(Locators.again_login_button_xpath).click() login = LoginPage(driver) login.enter_username(user_data.username) login.enter_password(user_data.password) login.click_login() followers = FollowersPage(driver) followers.get_user_followers(username, 50)
def __init__(self, driver, userCount="*****@*****.**", userPass="******"): """ 初始化 userCount代表某个用户新建的项目 :param driver: :return: """ self.driver = driver self.loginPage = LoginPage(self.driver) self.userCount = userCount self.userPass = userPass
def get_object(page_name): page_obj = None page_name = page_name.lower() if page_name == "loginpage": page_obj = LoginPage() elif page_name == "rename": page_obj = Rename() elif page_name == "dashboard": page_obj = Dashboard() elif page_name == "accountpage": page_obj = AccountPage() return page_obj
def missingFields(request, message=""): from LoginPage import LoginPage page = LoginPage(message) form = page.form() if request.username is None: form.field("username").state = "error" else: form.field("username").value = request.username if request.cleartext is None: form.field("password").state = "error" else: form.field("password").value = request.cleartext form.field("attempts").value = request.attempts page.render() return
class NewProject(object): """ 创建新的项目 """ def __init__(self, driver, userCount="*****@*****.**", userPass="******"): """ 初始化 userCount代表某个用户新建的项目 :param driver: :return: """ self.driver = driver self.loginPage = LoginPage(self.driver) self.userCount = userCount self.userPass = userPass def createNewProject(self, projectInfo, traceback=[], userCount=None, userPass=None): """ 创建新的项目,projectInfo 为必选参数,为项目信息录入的数组,其中 projectInfo[4]不能为空,并且projectInfo和tarceback必须有长度的保证 :param projectInfo: :param traceback: :return: """ if userCount == None or userPass == None: userCount = self.userCount userPass = self.userPass self.loginPage.login(userCount, userPass) newProjectButton = self.driver.find_element_by_css_selector(".wrt_title > label:nth-child(1) > a:nth-child(1)") print u"newProjectButton是%s" % newProjectButton newProjectButton.click() print u"定位新建项目输入" proInput = self.driver.find_element_by_css_selector( "html.ng-scope body div.ng-scope div.wrap.ng-scope div.wrap_r div.w_r_t div.ng-scope div.wrt_xxin.ng-scope div.ng-scope div.wrt_xxin_l.ng-scope div.wrt_x_l_c div.wrt_x_l_tb1_inpt" ) print u"定位新建项目输入成功" # print proInput proInputs = proInput.find_elements_by_xpath("div") # print proInputs for i in range(0, len(proInputs)): span = proInputs[i].find_element_by_xpath("span") cont = proInputs[i].find_element_by_xpath("input") cont.clear() cont.send_keys(projectInfo[i]) cont.send_keys(Keys.TAB) print u"%s录入成功" % span.text if traceback != []: tarce = self.driver.find_elements_by_css_selector( "html.ng-scope body div.ng-scope div.wrap.ng-scope div.wrap_r div.w_r_t div.ng-scope div.wrt_xxin.ng-scope div.ng-scope div.wrt_xxin_l.ng-scope div.wrt_x_l_c div.wrt_x_l_tb1_inpt" ) tarce = tarce[1] traces = tarce.find_elements_by_xpath("div") for i in range(0, len(traces)): span = traces[i].find_element_by_xpath("span") cont = traces[i].find_element_by_xpath("input") cont.clear() cont.send_keys(traceback[i]) cont.send_keys(Keys.TAB) print u"%s录入成功" % span.text else: pass print u"项目信息以及跟踪反馈结果输入完毕,下面保存输入结果" saveButton = self.driver.find_element_by_css_selector( "html.ng-scope body div.ng-scope div.wrap.ng-scope div.wrap_r div.w_r_t div.ng-scope div.wrt_xxin.ng-scope div.ng-scope div.wrt_xxin_l.ng-scope div.wrt_x_l_c div.wrtxlc_sub input.yh.ng-scope" ) saveButton.click() print u"保存项目成功" def getNewProjectId(self): """ 在新建项目后获得新建的项目的projId #http://test.zhaobiaosys.com/#/project?projId=12&tpltId=0 :return: """ time.sleep(1) url = self.driver.current_url tmp = url.split("&") tmp = tmp[0] tmp = tmp.split("=") tmp = tmp[1] return int(tmp) @staticmethod def unitTest(): """ 单元测试 可以当做新建项目的测试 :return: """ import sys reload(sys) sys.setdefaultencoding("utf-8") import xlrd, csv driver = webdriver.Firefox() driver.implicitly_wait(10) newProject = NewProject(driver) f = xlrd.open_workbook("yunZhaoBiaoTest.xlsx") newProjectInof = f.sheet_by_name("newProject") f = open("newProjectRes.csv", "wb") writer = csv.writer(f) writer.writerow([u"项目信息录入结果", u"备注", u"跟踪反馈结果", u"备注"]) for row in range(1, newProjectInof.nrows): rowValue = newProjectInof.row_values(row) proInfo = rowValue[0:9] traceInfo = rowValue[9:] newProject.createNewProject(proInfo, traceInfo) print u"创建项目%d成功" writer.writerow([u"success", u"", u"success", u""])
nameToCount={u'刘兆君':'*****@*****.**',u'陈桂英':'*****@*****.**', u'王兵鑫':'*****@*****.**',u'郭帅':'*****@*****.**', u'马双双':'*****@*****.**',u'关西成':'*****@*****.**', u'季丽娜':'*****@*****.**',u'梁冰':'*****@*****.**', u'李雪':'*****@*****.**',u'金婷婷':'*****@*****.**', u'张莹':'*****@*****.**',u'鲍吉龙':'*****@*****.**', u'徐潇然':'*****@*****.**',u'张满':'*****@*****.**', u'郭长全':'*****@*****.**',u'赵青松':u'*****@*****.**'} if __name__=="__main__": for i in messageProcessNameList: print i for key in nameToCount: print key,nameToCount[key] from LoginPage import LoginPage from selenium import webdriver print u'单元测试未进行' driver=webdriver.Firefox() loginPage=LoginPage(driver) for key in nameToCount: loginPage.login(nameToCount[key],'test') res=loginPage.verifiLogin() if res==u'': print u'%s登录失败'%key print u'当前的cookies为' print driver.get_cookies() else: print u'%s登录成功'%key print u'当前的cookies为' print driver.get_cookies()
def test_main(self): self.driver.get("http://fix-inside.tensor.ru") self.log.info("Loading login page.") time.sleep(5) self.assertEqual("Вход в систему/СБИС", self.driver.title) logPage = LoginPage(self.driver) logPage.getLoginField().send_keys("check_rigth_user") logPage.getPasswordInput().send_keys("qwerty123") logPage.getloginButton().click() self.log.info("Login process was started") time.sleep(5) self.assertEqual("СБИС", self.driver.title) self.log.info("Login was successful") self.waitAndClosePopup() mainPage = MainPage(self.driver) self.forceClick(mainPage.getstaffLink()) time.sleep(5) self.forceClick(mainPage.getstaffLink()) time.sleep(20) # на моём ноутбуке страница грузится очень долго self.assertEqual("Сотрудники/СБИС", self.driver.title) self.log.info("Staff page was opened") staffPage = StaffPage(self.driver) link = staffPage.getorgLink() firstName = link.text staffPage.getorgLink().click() time.sleep(5) self.assertEqual(staffPage.isOrgFormVisible(), True) self.log.info("Organizations list was opened") staffPage.getchangeOrg().click() time.sleep(5) secondName = staffPage.getorgLink().text self.assertNotEqual(firstName, secondName) self.log.info("Link name was changed") staffPage.getsearchField().send_keys("Белова Олеся Александровна") time.sleep(5) self.assertIn("Белова Олеся", staffPage.getemployeeResult().text) self.log.info("Employee was found") staffPage.getemployeeResult().click() time.sleep(10) self.assertEqual(staffPage.isEmployeeCardVisible(), True) self.log.info("Employee card was opened") staffPage.getcloseCardButton().click() time.sleep(5) self.assertEqual(staffPage.isEmployeeCardVisible(), False) self.log.info("Employee card was closed") staffPage.getuserNameLink().click() time.sleep(5) self.assertEqual(staffPage.isUserMenuVisible(), True) self.log.info("User menu was opened") staffPage.getlogOutLink().click() time.sleep(5) self.assertEqual("Вход в систему/СБИС", self.driver.title) self.log.info("Logout was successful") time.sleep(10)
def web_update_hpm(self, i_image, i_component=BMC_CONST.UPDATE_BMCANDPNOR): try: import argparse from selenium import webdriver from easyprocess import EasyProcess from pyvirtualdisplay import Display from FWUpdatePage import FWUpdatePage from LoginPage import LoginPage from MaintenancePage import MaintenancePage from Page import Page #Open web browser using headless selenium display = Display(visible=0, size=(1024, 768)) display.start() BMC_IP='https://'+self.ip browser = webdriver.Firefox() except: print BMC_CONST.ERROR_SELENIUM_HEADLESS raise OpTestError(BMC_CONST.ERROR_SELENIUM_HEADLESS) try: #Open BMC webpage BMC = Page(browser, BMC_IP) BMC.getPage() #Login to BMC BMCAuth = LoginPage(BMC, self.id, self.password) BMCAuth.login() #Find FW Update Option in menus BMCUpdate = FWUpdatePage(BMC) #Get Maintenance Page Maintenance = MaintenancePage(BMC) Maintenance.getMaintenancePage() Maintenance.preserveIPMI() Maintenance.preserveNetwork() Maintenance.savePage() #Configure TFTP Protocol Server and Image BMCUpdate.getProtocolConfigPage() BMCUpdate.selectProtocolType('TFTP') BMCUpdate.inputServerAddress(self.ip) BMCUpdate.inputImageName(i_image) BMCUpdate.doSave() #Traverse Back to FW Update Page BMCUpdate.getUpdateOptionsPage() BMCUpdate.selectHPM() BMCUpdate.doContinue() BMCUpdate.selectFile(i_image) BMCUpdate.doOK() if(i_component == BMC_CONST.UPDATE_BMC): BMCUpdate.selectUpdateBios() elif(i_component == BMC_CONST.UPDATE_PNOR): BMCUpdate.selectUpdateBoot_APP() else: BMCUpdate.selectUpdateAll() BMCUpdate.doProceed() BMCUpdate.WaitForFWUpdateComplete(BMC_CONST.WEB_UPDATE_DELAY) browser.quit() except: browser.close() l_msg = "hpm update using webgui failed" print l_msg raise OpTestError(l_msg) return BMC_CONST.FW_SUCCESS