예제 #1
0
 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
예제 #2
0
    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)
예제 #3
0
 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)
예제 #4
0
def run():
    from LoginPage import LoginPage

    page = LoginPage()
    page.render()

    return
예제 #5
0
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
예제 #6
0
    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
예제 #7
0
 def getPage(self):
     '''
     获得对应登录身份的process页面
     :return:
     '''
     loginPage=LoginPage(self.driver)
     loginPage.login(self.userCount,self.userPass)
     self.driver.get('')
     self.driver.get(self.url)
예제 #8
0
    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()
예제 #9
0
    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()
예제 #10
0
 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)
예제 #12
0
 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
예제 #13
0
 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)
예제 #14
0
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)
예제 #15
0
 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)
예제 #16
0
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()
예제 #17
0
    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)
예제 #18
0
    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)
예제 #19
0
 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)
예제 #20
0
 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小胖妞')
예제 #21
0
    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
예제 #22
0
    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()
예제 #23
0
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
예제 #24
0
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
예제 #25
0
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
예제 #26
0
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
예제 #27
0
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
예제 #28
0
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
예제 #29
0
    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)
예제 #30
0
 def __init__(self, driver, userCount="*****@*****.**", userPass="******"):
     """
     初始化
     userCount代表某个用户新建的项目
     :param driver:
     :return:
     """
     self.driver = driver
     self.loginPage = LoginPage(self.driver)
     self.userCount = userCount
     self.userPass = userPass
예제 #31
0
 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
예제 #32
0
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
예제 #33
0
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""])
예제 #34
0
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()

예제 #35
0
파일: TestScript.py 프로젝트: elochka/SBIS
    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)
예제 #36
0
    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