Ejemplo n.º 1
0
def module_init(module):
    result = []
    for i in range(Data.getCasenumber(module)):
        result.append('Not Executed')
    result_dict = {module: result}
    globalData.EXECUTED.append(result_dict)
    for i in range(0, len(globalData.EXECUTED)):
        print globalData.EXECUTED[i].keys()
        print globalData.EXECUTED[i].values()
Ejemplo n.º 2
0
 def test_logout(self):
     module_init('logout')
     globalData.MODULE = 'logout'
     try:
         for i in range(1, Data.getCasenumber('logout') + 1):
             globalData.LOG += generateLog.format_log('*******现在开始执行模块【logout】的第【' + str(i) + '】条用例*******')
             logout.logout(self, i)
         generateLog.generate_log()
         globalData.LOG = ''
     except:
         globalData.LOG += generateLog.format_log(traceback.format_exc())
         generateLog.generate_log()
         globalData.LOG = ''
Ejemplo n.º 3
0
 def test_register(self):
     module_init('register')
     globalData.MODULE = 'welcome'
     welcome.welcome(self, 'login')
     globalData.MODULE = 'register'
     try:
         for i in range(1, Data.getCasenumber('register') + 1):
             globalData.LOG += generateLog.format_log('*******现在开始执行模块【register】的第【' + str(i) + '】条用例*******')
             register.register(self, i)
         generateLog.generate_log()
         globalData.LOG = ''
     except:
         globalData.LOG += generateLog.format_log(traceback.format_exc())
         generateLog.generate_log()
         globalData.LOG = ''
Ejemplo n.º 4
0
 def test_logout(self):
     module_init('forgetpassword')
     globalData.MODULE = 'welcome'
     welcome.welcome(self, 'login')
     globalData.MODULE = 'forgetpassword'
     try:
         for i in range(1, Data.getCasenumber('forgetpassword') + 1):
             globalData.LOG += generateLog.format_log('*******现在开始执行模块【forgetpassword】的第【' + str(i) + '】条用例*******')
             forgetpassword.forgetpassword(self, i)
         generateLog.generate_log()
         globalData.LOG = ''
     except:
         globalData.LOG += generateLog.format_log(traceback.format_exc())
         generateLog.generate_log()
         globalData.LOG = ''
Ejemplo n.º 5
0
def logout(self, i):
    reload(sys)
    sys.setdefaultencoding('utf-8')
    #构造前置条件
    if(userStatus.isLoginSuccess(self) == False):
        if(userStatus.isRegisterSuccess(Data.getTestdata('register', 1, 2)) == False):
            dataBase.insert_buser(Data.getTestdata('register', 1, 2))
        welcome.welcome(self, 'login')
        login.login_smoking(self, Data.getTestdata('login', 1, 2), Data.getTestdata('login', 1, 3))

    #处理退出逻辑
    try:
        tabElements.mineTab(self).click()
        globalData.LOG += generateLog.format_log("点击'我的'选项卡")
        settingElements.settingButton(self).click()
        globalData.LOG += generateLog.format_log("点击设置按钮")
        settingElements.logoutButton(self).click()
        globalData.LOG += generateLog.format_log("点击退出登录")
        el = loginElements.loginPage(self)
        globalData.LOG += generateLog.format_log("成功退出")
        Data.setExecutionresult(globalData.MODULE, i, 'Pass')
    except:
        globalData.LOG += generateLog.format_log("退出登录失败\n" + traceback.format_exc())
        Data.setExecutionresult(globalData.MODULE, i, 'Fail')
Ejemplo n.º 6
0
def popupText(self):
    try:
        el = WebDriverWait(self.driver, 30).until(EC.presence_of_element_located((By.XPATH, Data.getXpath('login', 'login', 'popupText', 1))))
        return el
    except:
        globalData.LOG += generateLog.format_log("控件popupText未找到\n" + traceback.format_exc())
Ejemplo n.º 7
0
def withdrawcashButton(self):
    try:
        el = WebDriverWait(self.driver, 30).until(EC.presence_of_element_located((By.XPATH, Data.getXpath('mine', 'mine', 'withdrawcashButton', 1))))
        return el
    except:
        globalData.LOG += generateLog.format_log("控件withdrawcashButton未找到\n" + traceback.format_exc())
Ejemplo n.º 8
0
from CommonMethods import globalData, generateLog, Data
import traceback

def welcome(self, action):
    #校验版本更新
    try:
        welcomeElements.versionUpdate_cancel(self).click()
        globalData.LOG += generateLog.format_log("取消版本更新")
    except Exception, e:
        globalData.LOG += generateLog.format_log("未提示版本更新,无需取消更新!")

    #校验欢迎页
    try:
        el = welcomeElements.welcomePage(self)
        for i in range(1, 5):
            if(welcomeElements.welcome_title(self).get_attribute("name")  == Data.getValue('welcome', 'welcome', 'welcome_title', i)):
                globalData.LOG += generateLog.format_log("欢迎第" + str(i) + "页显示正确")
            else:
                globalData.LOG += generateLog.format_log("欢迎第" + str(i) + "页显示错误: " + welcomeElements.welcome_title(self).get_attribute("name"))
            if(i != 4):
                self.driver.execute_script("mobile: scroll", {"direction": "right", "element": el.id})
    except:
        globalData.LOG += generateLog.format_log("欢迎页错误\n" + traceback.format_exc())

    #校验下一步操作
    try:
        if(action == 'login'):
            welcomeElements.welcome_login(self).click()
            globalData.LOG += generateLog.format_log("欢迎页面点击登录")
        elif(action == 'register'):
            welcomeElements.welcome_register(self).click()
def eyeopenButton(self):
    try:
        el = WebDriverWait(self.driver, 30).until(EC.presence_of_element_located((By.XPATH, Data.getXpath('forgetpassword', 'forgetpassword', 'eyeopenButton', 1))))
        return el
    except:
        globalData.LOG += generateLog.format_log("控件eyeopenButton未找到\n" + traceback.format_exc())
Ejemplo n.º 10
0
def feedbackPage(self):
    try:
        el = WebDriverWait(self.driver, 30).until(EC.presence_of_element_located((By.XPATH, Data.getXpath('setting', 'feedback', 'feedbackPage', 1))))
        return el
    except:
        globalData.LOG += generateLog.format_log("控件feedbackPage未找到\n" + traceback.format_exc())
Ejemplo n.º 11
0
def register(self, i):
    reload(sys)
    sys.setdefaultencoding('utf-8')
    #构造前置条件:注册过的手机号,未注册过的手机号
    if(Data.getPrecondition('register', i) == '注册过的手机号'):
        if(userStatus.isRegisterSuccess(Data.getTestdata('register', i, 2)) == False):
            dataBase.insert_buser(Data.getTestdata('register', i, 2))
    else:
        if(userStatus.isRegisterSuccess(Data.getTestdata('register', i, 2)) == True):
            dataBase.del_buser(Data.getTestdata('register', i, 2))
    redis.clear_vercode(Data.getTestdata('register', i, 2))


    #进入注册页面校验
    try:
        if(loginElements.loginPage(self)):
            globalData.LOG += generateLog.format_log('登录页面正确显示')
            loginElements.registerButton(self).click()
            globalData.LOG += generateLog.format_log('点击注册按钮')
            if(registerElements.registerPage(self)):
                globalData.LOG += generateLog.format_log('注册页面正确显示')
    except:
        if(registerElements.registerPage(self)):
            globalData.LOG += generateLog.format_log('注册页面正确显示')

    #处理注册手机号逻辑
    registerElements.phoneText(self).clear()
    if(len(Data.getTestdata('register', i, 2)) > 11):
        registerElements.phoneText(self).send_keys(Data.getTestdata('register', i, 2)[0:11])
        registerElements.phoneText(self).click()
        registerElements.phoneText(self).send_keys(Data.getTestdata('register', i, 2)[11:len(Data.getTestdata('register', i, 2))])
    else:
        registerElements.phoneText(self).send_keys(Data.getTestdata('register', i, 2))
    globalData.LOG += generateLog.format_log('输入手机号:' + Data.getTestdata('register', i, 2))

    #处理验证码逻辑
    if(Data.getTestdata('register', i, 3) == 'None'):
        registerElements.vercodeButton(self).click()
        globalData.LOG += generateLog.format_log('点击发送验证码')
        if(Data.getTestdata('register', i, 13) == '1'):
            screenShot.get_screenshot(self, i)
        elif(Data.getTestdata('register', i, 13) == '2'):
            try:
                if(registerElements.popupText(self).get_attribute('name') == Data.getTestdata('register', i, 14)):
                    globalData.LOG += generateLog.format_log('提示正确:' + Data.getTestdata('register', i, 14))
                    registerElements.confirmButton(self).click()
                    globalData.LOG += generateLog.format_log('点击确定')
                    Data.setExecutionresult(globalData.MODULE, i, 'Pass')
                else:
                    globalData.LOG += generateLog.format_log('提示错误:' + registerElements.popupText(self).get_attribute('name'))
                    registerElements.confirmButton(self).click()
                    globalData.LOG += generateLog.format_log('点击确定')
                    Data.setExecutionresult(globalData.MODULE, i, 'Fail')
            except:
                    globalData.LOG += generateLog.format_log('手机号提示错误')
        globalData.LOG += generateLog.format_log('不对验证码进行校验')
    elif(Data.getTestdata('register', i, 3) == 'Y'):
        registerElements.vercodeButton(self).click()
        globalData.LOG += generateLog.format_log("验证码发送中...")
        time.sleep(10)
        globalData.LOG += generateLog.format_log('验证码发送成功!')
        code = redis.registerVercode(Data.getTestdata('register', i, 2))
        registerElements.vercodeText(self).send_keys(code)
        globalData.LOG += generateLog.format_log("输入验证码: " + code)
    elif(Data.getTestdata('register', i, 15) == '6位错误的验证码'):
        registerElements.vercodeButton(self).click()
        globalData.LOG += generateLog.format_log("验证码发送中...")
        time.sleep(10)
        globalData.LOG += generateLog.format_log('验证码发送成功!')
        code = '111111'
        registerElements.vercodeText(self).send_keys(code)
        globalData.LOG += generateLog.format_log("输入错误验证码: " + code)
    elif(Data.getTestdata('register', i, 15) == '6位过期的验证码'):
        registerElements.vercodeButton(self).click()
        globalData.LOG += generateLog.format_log("验证码发送中...")
        time.sleep(10)
        globalData.LOG += generateLog.format_log('验证码发送成功!')
        code = redis.registerVercode(Data.getTestdata('register', i, 2))
        redis.expireregisterVercode(Data.getTestdata('register', i, 2))
        registerElements.vercodeText(self).send_keys(code)
        globalData.LOG += generateLog.format_log("输入验证码: " + code)
    elif(Data.getTestdata('register', i, 15) == '使用过的验证码'):
        registerElements.phoneText(self).clear()
        registerElements.phoneText(self).send_keys(Data.getTestdata('register', i, 2))
        globalData.LOG += generateLog.format_log('输入手机号:' + Data.getTestdata('register', i, 2))
        registerElements.vercodeButton(self).click()
        globalData.LOG += generateLog.format_log("验证码发送中...")
        time.sleep(10)
        globalData.LOG += generateLog.format_log('验证码发送成功!')
        code = redis.registerVercode(Data.getTestdata('register', i, 2))
        registerElements.vercodeText(self).send_keys(code)
        globalData.LOG += generateLog.format_log("输入验证码: " + code)
        registerElements.cipherpasswordText(self).send_keys(Data.getTestdata('register', i, 4))
        globalData.LOG += generateLog.format_log('输入密码:' + Data.getTestdata('register', i, 4))
        registerElements.nicknameText(self).send_keys(Data.getTestdata('register', i, 6))
        globalData.LOG += generateLog.format_log('输入昵称:' + Data.getTestdata('register', i, 6))
        registerElements.registerButton(self).click()
        globalData.LOG += generateLog.format_log('点击‘立即注册’')
        tabElements.mineTab(self).click()
        globalData.LOG += generateLog.format_log("点击'我的'选项卡")
        settingElements.settingButton(self).click()
        globalData.LOG += generateLog.format_log("点击设置按钮")
        settingElements.logoutButton(self).click()
        globalData.LOG += generateLog.format_log("点击退出登录")
        if(loginElements.loginPage(self)):
            globalData.LOG += generateLog.format_log("成功退出")
        dataBase.del_buser(Data.getTestdata('register', i, 2))
        loginElements.registerButton(self).click()
        globalData.LOG += generateLog.format_log('登录页面点击注册按钮')
        registerElements.phoneText(self).send_keys(Data.getTestdata('register', i, 2))
        globalData.LOG += generateLog.format_log('输入手机号:' + Data.getTestdata('register', i, 2))
        redis.expireregisterVercode(Data.getTestdata('register', i, 2))
        registerElements.vercodeText(self).send_keys(code)
        globalData.LOG += generateLog.format_log('输入已经用过的验证码:' + code)
    elif(Data.getTestdata('register', i, 15) == '超过60s重新触发发送验证码'):
        registerElements.vercodeButton(self).click()
        globalData.LOG += generateLog.format_log("验证码发送中...")
        if(registerElements.vercodeButton(self).get_attribute('name') != '发送验证码'):
            globalData.LOG += generateLog.format_log('验证码发送过程发送验证码按钮文案显示正确')
        else:
            globalData.LOG += generateLog.format_log('验证码发送过程发送验证码按钮文案显示错误:' + registerElements.vercodeButton(self).get_attribute('text'))
        time.sleep(60)
        globalData.LOG += generateLog.format_log('等待60s')
        if(registerElements.vercodeButton(self).get_attribute('name') == '重新发送'):
            globalData.LOG += generateLog.format_log('验证码发送完成60s后发送验证码按钮文案显示正确:重新发送')
        else:
            globalData.LOG += generateLog.format_log('验证码发送完成60s后发送验证码按钮文案显示错误:' + registerElements.vercodeButton(self).get_attribute('name'))
        redis.clear_vercode(Data.getNumber('register', 'register', 'phoneText', i))
        globalData.LOG += generateLog.format_log('清除redis验证码缓存')
        registerElements.vercodeButton(self).click()
        globalData.LOG += generateLog.format_log("验证码发送中...")
        time.sleep(10)
        globalData.LOG += generateLog.format_log('验证码发送成功!')
    else:
        registerElements.vercodeText(self).clear()
        registerElements.vercodeText(self).send_keys(Data.getTestdata('register', i, 3))
        globalData.LOG += generateLog.format_log("输入验证码: " + Data.getTestdata('register', i, 3))

    #处理注册密码逻辑
    if(Data.getTestdata('register', i, 4) == 'None'):
        globalData.LOG += generateLog.format_log('不对密码进行校验')
    else:
        registerElements.passwordText(self).send_keys(Data.getTestdata('register', i, 4))
        globalData.LOG += generateLog.format_log('输入密码:' + Data.getTestdata('register', i, 4))


    #处理密码明暗文逻辑
    if(Data.getTestdata('register', i, 5) == 'None'):
        globalData.LOG += generateLog.format_log('不对密码明暗文进行校验')
    elif(Data.getTestdata('register', i, 5) == 'Y'):
        if('•' in registerElements.cipherpasswordText(self).get_attribute('value')):
            globalData.LOG += generateLog.format_log('密码显示正确:暗文')
        else:
            globalData.LOG += generateLog.format_log('密码显示错误:明文')
        registerElements.eyecloseButton(self).click()
        globalData.LOG += generateLog.format_log("切换密码为明文")
        if('•'  not in registerElements.plainpasswordText(self).get_attribute('value')):
            globalData.LOG += generateLog.format_log('密码显示正确:明文')
        else:
            globalData.LOG += generateLog.format_log('密码显示错误:暗文')
        registerElements.eyeopenButton(self).click()
        globalData.LOG += generateLog.format_log("切换密码为暗文")
        if('•' in registerElements.cipherpasswordText(self).get_attribute('value')):
            globalData.LOG += generateLog.format_log('密码显示正确:暗文')
        else:
            globalData.LOG += generateLog.format_log('密码显示错误:明文')

    #处理昵称逻辑
    try:
        if(Data.getTestdata('register', i, 6) == 'None'):
            globalData.LOG += generateLog.format_log('不对昵称进行校验')
        else:
            registerElements.nicknameText(self).clear()
            registerElements.nicknameText(self).send_keys(Data.getTestdata('register', i, 6))
            globalData.LOG += generateLog.format_log("输入昵称: " + Data.getTestdata('register', i, 6))
    except:
        screenShot.get_screenshot(self, i)
        globalData.LOG += generateLog.format_log('输入的昵称报错')

    #处理邀请码逻辑
    if(Data.getTestdata('register', i, 7) == 'None'):
        globalData.LOG += generateLog.format_log('不对邀请码进行校验')
    elif(Data.getTestdata('register', i, 7) == 'Y'):
        if(Data.getTestdata('register', i, 15) == '邀请码为空'):
            registerElements.invitecodeText(self).clear()
            globalData.LOG += generateLog.format_log('清空邀请码')
        elif(Data.getTestdata('register', i, 15) == '默认个人邀请码'):
            invite_code = dataBase.invite_code('12300000000', Data.getTestdata('register', i, 2), 1)
            registerElements.phoneText(self).clear()
            registerElements.phoneText(self).send_keys(Data.getTestdata('register', i, 2))
            if(registerElements.invitecodeText(self).get_attribute('value') == invite_code):
                globalData.LOG += generateLog.format_log('个人邀请码预填正确:' + invite_code)
            else:
                globalData.LOG += generateLog.format_log('个人邀请码预填错误:' + registerElements.invitecodeText(self).get_attribute('value'))
        elif(Data.getTestdata('register', i, 15) == '默认机构邀请码'):
            invite_code = dataBase.invite_code('12300000001', Data.getTestdata('register', i, 2), 2)
            registerElements.phoneText(self).clear()
            registerElements.phoneText(self).send_keys(Data.getTestdata('register', i, 2))
            if(registerElements.invitecodeText(self).get_attribute('value') == invite_code):
                globalData.LOG += generateLog.format_log('机构邀请码预填正确:' + invite_code)
            else:
                globalData.LOG += generateLog.format_log('机构邀请码预填错误:' + registerElements.invitecodeText(self).get_attribute('value'))
        elif(Data.getTestdata('register', i, 15) == '个人改成其他个人邀请码'):
            invite_code1 = dataBase.invite_code('12300000002', Data.getTestdata('register', i, 2), 1)
            invite_code2 = dataBase.invite_code('12300000003', Data.getTestdata('register', i, 2), 1)
            registerElements.phoneText(self).clear()
            registerElements.phoneText(self).send_keys(Data.getTestdata('register', i, 2))
            if(registerElements.invitecodeText(self).get_attribute('value') == invite_code1):
                globalData.LOG += generateLog.format_log('个人邀请码预填正确:' + invite_code1)
            else:
                globalData.LOG += generateLog.format_log('个人邀请码预填错误:' + registerElements.invitecodeText(self).get_attribute('value'))
            registerElements.invitecodeText(self).clear()
            globalData.LOG += generateLog.format_log('清除邀请码')
            registerElements.invitecodeText(self).send_keys(invite_code2)
            globalData.LOG += generateLog.format_log('输入新的个人邀请码:' + invite_code2)
        elif(Data.getTestdata('register', i, 15) == '机构改成其他机构邀请码'):
            invite_code1 = dataBase.invite_code('12300000004', Data.getTestdata('register', i, 2), 2)
            invite_code2 = dataBase.invite_code('12300000005', Data.getTestdata('register', i, 2), 3)
            registerElements.phoneText(self).clear()
            registerElements.phoneText(self).send_keys(Data.getTestdata('register', i, 2))
            if(registerElements.invitecodeText(self).get_attribute('value') == invite_code1):
                globalData.LOG += generateLog.format_log('机构邀请码预填正确:' + invite_code1)
            else:
                globalData.LOG += generateLog.format_log('机构邀请码预填错误:' + registerElements.invitecodeText(self).get_attribute('value'))
            registerElements.invitecodeText(self).clear()
            globalData.LOG += generateLog.format_log('清除邀请码')
            registerElements.invitecodeText(self).send_keys(invite_code2)
            globalData.LOG += generateLog.format_log('输入新的机构邀请码:' + invite_code2)
        elif(Data.getTestdata('register', i, 15) == '清除邀请码注册'):
            invite_code = dataBase.invite_code('12300000006', Data.getTestdata('register', i, 2), 1)
            registerElements.phoneText(self).clear()
            registerElements.phoneText(self).send_keys(Data.getTestdata('register', i, 2))
            if(registerElements.invitecodeText(self).get_attribute('value') == invite_code):
                globalData.LOG += generateLog.format_log('个人邀请码预填正确:' + invite_code)
            else:
                globalData.LOG += generateLog.format_log('个人邀请码预填错误:' + registerElements.invitecodeText(self).get_attribute('value'))
            registerElements.invitecodeText(self).clear()
            globalData.LOG += generateLog.format_log('清除预填的邀请码')
    elif(Data.getTestdata('register', i, 7) == 'N'):
        if(Data.getTestdata('register', i, 15) == '邀请码不存在'):
            invite_code = '1111'
            registerElements.invitecodeText(self).clear()
            registerElements.invitecodeText(self).send_keys(invite_code)
            globalData.LOG += generateLog.format_log('输入不存在的邀请码:' + invite_code)
        elif(Data.getTestdata('register', i, 15) == 'Capp邀请码'):
            invite_code = dataBase.invite_code('12300000007', Data.getTestdata('register', i, 2), 4)
            registerElements.invitecodeText(self).clear()
            registerElements.invitecodeText(self).send_keys(invite_code)
            globalData.LOG += generateLog.format_log('输入Capp邀请码:' + invite_code)
        elif(Data.getTestdata('register', i, 15) == '个人邀请码改成Capp邀请码'):
            invite_code1 = dataBase.invite_code('12300000008', Data.getTestdata('register', i, 2), 1)
            invite_code2 = dataBase.invite_code('12300000009', Data.getTestdata('register', i, 2), 4)
            registerElements.phoneText(self).clear()
            registerElements.phoneText(self).send_keys(Data.getTestdata('register', i, 2))
            if(registerElements.invitecodeText(self).get_attribute('value') == invite_code1):
                globalData.LOG += generateLog.format_log('个人邀请码预填正确:' + invite_code1)
            else:
                globalData.LOG += generateLog.format_log('个人邀请码预填错误:' + registerElements.invitecodeText(self).get_attribute('value'))
            registerElements.invitecodeText(self).clear()
            globalData.LOG += generateLog.format_log('清除邀请码')
            registerElements.invitecodeText(self).send_keys(invite_code2)
            globalData.LOG += generateLog.format_log('输入Capp邀请码:' + invite_code2)
        elif(Data.getTestdata('register', i, 15) == '个人邀请码改成不存在的邀请码'):
            invite_code1 = dataBase.invite_code('12300000010', Data.getTestdata('register', i, 2), 1)
            invite_code2 = '1111'
            registerElements.phoneText(self).clear()
            registerElements.phoneText(self).send_keys(Data.getTestdata('register', i, 2))
            if(registerElements.invitecodeText(self).get_attribute('value') == invite_code1):
                globalData.LOG += generateLog.format_log('个人邀请码预填正确:' + invite_code1)
            else:
                globalData.LOG += generateLog.format_log('个人邀请码预填错误:' + registerElements.invitecodeText(self).get_attribute('value'))
            registerElements.invitecodeText(self).clear()
            globalData.LOG += generateLog.format_log('清除邀请码')
            registerElements.invitecodeText(self).send_keys(invite_code2)
            globalData.LOG += generateLog.format_log('输入不存在的邀请码:' + invite_code2)
        elif(Data.getTestdata('register', i, 15) == '个人邀请码改成机构邀请码'):
            invite_code1 = dataBase.invite_code('12300000011', Data.getTestdata('register', i, 2), 1)
            invite_code2 = dataBase.invite_code('12300000012', Data.getTestdata('register', i, 2), 2)
            registerElements.phoneText(self).clear()
            registerElements.phoneText(self).send_keys(Data.getTestdata('register', i, 2))
            if(registerElements.invitecodeText(self).get_attribute('value') == invite_code1):
                globalData.LOG += generateLog.format_log('个人邀请码预填正确:' + invite_code1)
            else:
                globalData.LOG += generateLog.format_log('个人邀请码预填错误:' + registerElements.invitecodeText(self).get_attribute('value'))
            registerElements.invitecodeText(self).clear()
            globalData.LOG += generateLog.format_log('清除邀请码')
            registerElements.invitecodeText(self).send_keys(invite_code2)
            globalData.LOG += generateLog.format_log('输入机构邀请码:' + invite_code2)
        elif(Data.getTestdata('register', i, 15) == '机构邀请码改成Capp邀请码'):
            invite_code1 = dataBase.invite_code('12300000013', Data.getTestdata('register', i, 2), 2)
            invite_code2 = dataBase.invite_code('12300000014', Data.getTestdata('register', i, 2), 4)
            registerElements.phoneText(self).clear()
            registerElements.phoneText(self).send_keys(Data.getTestdata('register', i, 2))
            if(registerElements.invitecodeText(self).get_attribute('value') == invite_code1):
                globalData.LOG += generateLog.format_log('机构邀请码预填正确:' + invite_code1)
            else:
                globalData.LOG += generateLog.format_log('机构邀请码预填错误:' + registerElements.invitecodeText(self).get_attribute('value'))
            registerElements.invitecodeText(self).clear()
            globalData.LOG += generateLog.format_log('清除邀请码')
            registerElements.invitecodeText(self).send_keys(invite_code2)
            globalData.LOG += generateLog.format_log('输入Capp邀请码:' + invite_code2)
        elif(Data.getTestdata('register', i, 15) == '机构邀请码改成不存在的邀请码'):
            invite_code1 = dataBase.invite_code('12300000015', Data.getTestdata('register', i, 2), 3)
            invite_code2 = '1111'
            registerElements.phoneText(self).clear()
            registerElements.phoneText(self).send_keys(Data.getTestdata('register', i, 2))
            if(registerElements.invitecodeText(self).get_attribute('value') == invite_code1):
                globalData.LOG += generateLog.format_log('机构邀请码预填正确:' + invite_code1)
            else:
                globalData.LOG += generateLog.format_log('机构邀请码预填错误:' + registerElements.invitecodeText(self).get_attribute('value'))
            registerElements.invitecodeText(self).clear()
            globalData.LOG += generateLog.format_log('清除邀请码')
            registerElements.invitecodeText(self).send_keys(invite_code2)
            globalData.LOG += generateLog.format_log('输入不存在的邀请码:' + invite_code2)
        elif(Data.getTestdata('register', i, 15) == '机构邀请码改成个人邀请码'):
            invite_code1 = dataBase.invite_code('12300000016', Data.getTestdata('register', i, 2), 2)
            invite_code2 = dataBase.invite_code('12300000017', Data.getTestdata('register', i, 2), 1)
            registerElements.phoneText(self).clear()
            registerElements.phoneText(self).send_keys(Data.getTestdata('register', i, 2))
            if(registerElements.invitecodeText(self).get_attribute('value') == invite_code1):
                globalData.LOG += generateLog.format_log('机构邀请码预填正确:' + invite_code1)
            else:
                globalData.LOG += generateLog.format_log('机构邀请码预填错误:' + registerElements.invitecodeText(self).get_attribute('value'))
            registerElements.invitecodeText(self).clear()
            globalData.LOG += generateLog.format_log('清除邀请码')
            registerElements.invitecodeText(self).send_keys(invite_code2)
            globalData.LOG += generateLog.format_log('输入个人邀请码:' + invite_code2)


    #处理经纪宝注册协议勾选逻辑
    if(Data.getTestdata('register', i, 8) == 'None'):
        globalData.LOG += generateLog.format_log('不对经纪宝注册协议勾选进行校验')
    elif(Data.getTestdata('register', i, 8) == 'Y'):
        if(registerElements.protocolCheckbox(self, 1)):
            globalData.LOG += generateLog.format_log('《经纪宝注册协议》默认勾选')
        else:
            globalData.LOG += generateLog.format_log('《经纪宝注册协议》默认未勾选错误')
        registerElements.protocolCheckbox(self, 1).click()
        globalData.LOG += generateLog.format_log("不勾选《经纪宝注册协议》")
        registerElements.protocolCheckbox(self, 2).click()
        globalData.LOG += generateLog.format_log("勾选《经纪宝注册协议》")
        if(registerElements.protocolCheckbox(self, 1)):
            globalData.LOG += generateLog.format_log('《经纪宝注册协议》已勾选')
        else:
            globalData.LOG += generateLog.format_log('《经纪宝注册协议》未勾选错误')
    else:
        if(registerElements.protocolCheckbox(self, 1)):
            globalData.LOG += generateLog.format_log('《经纪宝注册协议》默认勾选')
        else:
            globalData.LOG += generateLog.format_log('《经纪宝注册协议》默认未勾选错误')
        registerElements.protocolCheckbox(self, 1).click()
        globalData.LOG += generateLog.format_log('不勾选《经纪宝注册协议》')


    #处理经纪宝注册协议内容逻辑
    if(Data.getTestdata('register', i, 8) == 'None'):
        globalData.LOG += generateLog.format_log('不对经纪宝注册协议内容校验')
    elif(Data.getTestdata('register', i, 8) == 'Y'):
        registerElements.protocolLink(self).click()
        globalData.LOG += generateLog.format_log('点击《经纪宝注册协议》')
        if(registerElements.protocolPage(self)):
            globalData.LOG += generateLog.format_log('《经纪宝注册协议》页面显示正确')
        else:
            globalData.LOG += generateLog.format_log('《经纪宝注册协议》页面显示错误')
        if(registerElements.protocolText(self)):
            globalData.LOG += generateLog.format_log('《经纪宝注册协议》内容显示正确')
        else:
            globalData.LOG += generateLog.format_log('《经纪宝注册协议》内容显示错误')
        registerElements.backButton(self).click()
        globalData.LOG += generateLog.format_log('返回注册页面')

    #校验客服电话
    if(Data.getTestdata('register', i, 11) == 'None'):
        globalData.LOG += generateLog.format_log('不对注册页面的客服电话校验')
    elif(Data.getTestdata('register', i, 11) == 'Y'):
        try:
            el = registerElements.servicephoneText(self)
            globalData.LOG += generateLog.format_log('注册页面的客服电话显示正确')
        except:
            generateLog.format_log('注册页面的客服电话错误\n' + traceback.format_exc())

    #处理点击注册按钮逻辑
    if(Data.getTestdata('register', i, 10) == 'None'):
        globalData.LOG += generateLog.format_log('不对点击注册进行校验')
        registerElements.loginButton(self).click()
        globalData.LOG += generateLog.format_log('注册页面点击登录按钮')
    elif(Data.getTestdata('register', i, 10) == 'Y'):
        registerElements.registerButton(self).click()
        globalData.LOG += generateLog.format_log("点击注册按钮")
        if(Data.getTestdata('register', i, 13) == '1'):
            screenShot.get_screenshot(self, i)
            registerElements.loginButton(self).click()
            globalData.LOG += generateLog.format_log('注册页面点击登录按钮')
        elif(Data.getTestdata('register', i, 13) == '2'):
            try:
                if(registerElements.popupText(self).get_attribute('name') == Data.getTestdata('register', i, 14)):
                    globalData.LOG += generateLog.format_log('弹框提示正确:' + Data.getTestdata('register', i, 14))
                    try:
                        registerElements.cancelButton(self).click()
                        globalData.LOG += generateLog.format_log('点击取消')
                    except:
                        registerElements.confirmButton(self).click()
                        globalData.LOG += generateLog.format_log('点击确定')
                    Data.setExecutionresult(globalData.MODULE, i, 'Pass')
                else:
                    globalData.LOG += generateLog.format_log('弹框提示错误')
                    Data.setExecutionresult(globalData.MODULE, i, 'Fail')
                registerElements.loginButton(self).click()
                globalData.LOG += generateLog.format_log('注册页面点击登录按钮')
            except:
                globalData.LOG += generateLog.format_log('弹框提示错误')


    #处理注册成功校验逻辑
    if(Data.getTestdata('register', i, 12) == 'Y'):
        try:
            if(tabElements.mineTab(self)):
                globalData.LOG += generateLog.format_log('注册成功')
                tabElements.mineTab(self).click()
                globalData.LOG += generateLog.format_log("点击'我的'选项卡")
                if(Data.getTestdata('register', i, 13) == '3'):
                    mineElements.invitecodeLink(self).click()
                    globalData.LOG += generateLog.format_log('进入活动邀请码页面')
                    el = mineElements.invitecodeText(self)
                    globalData.LOG += generateLog.format_log('错误邀请码未显示')
                    mineElements.backButton(self).click()
                    globalData.LOG += generateLog.format_log('回到我的页面')
                settingElements.settingButton(self).click()
                globalData.LOG += generateLog.format_log("点击设置按钮")
                settingElements.logoutButton(self).click()
                globalData.LOG += generateLog.format_log("点击退出登录")
                el = loginElements.loginPage(self)
                globalData.LOG += generateLog.format_log("成功退出")
                Data.setExecutionresult(globalData.MODULE, i, 'Pass')
            else:
                globalData.LOG += generateLog.format_log('注册成功页面显示错误')
                Data.setExecutionresult(globalData.MODULE, i, 'Fail')
        except:
            globalData.LOG += generateLog.format_log('注册失败')
            Data.setExecutionresult(globalData.MODULE, i, 'Fail')
    elif(Data.getTestdata('register', i, 12) == 'None'):
        globalData.LOG += generateLog.format_log('不对注册成功逻辑进行校验')
Ejemplo n.º 12
0
def protocolPage(self):
    try:
        el = WebDriverWait(self.driver, 30).until(EC.presence_of_element_located((By.XPATH, Data.getXpath('register', 'register', 'protocolPage', 1))))
        return el
    except:
        globalData.LOG += generateLog.format_log("控件protocolPage未找到\n" + traceback.format_exc())
Ejemplo n.º 13
0
def cipherpasswordText(self):
    try:
        el = WebDriverWait(self.driver, 30).until(EC.presence_of_element_located((By.XPATH, Data.getXpath('register', 'register', 'cipherpasswordText', 1))))
        return el
    except:
        globalData.LOG += generateLog.format_log("控件cipherpasswordText未找到\n" + traceback.format_exc())
Ejemplo n.º 14
0
def loginButton(self):
    try:
        el = WebDriverWait(self.driver, 30).until(EC.presence_of_element_located((By.ID, Data.getXpath('register', 'register', 'loginButton', 1))))
        return el
    except:
        globalData.LOG += generateLog.format_log("控件loginButton未找到\n" + traceback.format_exc())
Ejemplo n.º 15
0
def login(self, i):
    reload(sys)
    sys.setdefaultencoding('utf-8')
    #构造前置条件:已注册或者未注册
    if(Data.getPrecondition('login', i) == '手机号未注册'):
        if(userStatus.isRegisterSuccess(Data.getTestdata('login', i, 2)) == True):
            dataBase.del_buser(Data.getTestdata('login', i, 2))
    else:
        if(userStatus.isRegisterSuccess(Data.getTestdata('register', i, 2)) == False):
            dataBase.insert_buser(Data.getTestdata('login', i, 2))
        redis.clear_vercode(Data.getTestdata('login', i, 2))
        redis.uncheckexamstatus(Data.getTestdata('login', i, 2))
        redis.uncheckfacesignin(Data.getTestdata('login', i, 2))
        redis.uncheckdailymsg_complaint(Data.getTestdata('login', i, 2))
        dataBase.uncheckmugshot(Data.getTestdata('login', i, 2))
        dataBase.uncheckdailymsg_id(Data.getTestdata('login', i, 2))
    if(userStatus.isLoginSuccess(self) == True):
        logout.logout_smoking(self)



    #进入登录页面校验
    try:
        if(loginElements.loginPage(self)):
            globalData.LOG += generateLog.format_log('登录页面正确显示')
    except:
        globalData.LOG += generateLog.format_log('登录页面显示错误')

    #处理登录手机号逻辑
    try:
        loginElements.usernameText(self).clear()
        loginElements.usernameText(self).send_keys(Data.getTestdata('login', i, 2))
        globalData.LOG += generateLog.format_log('输入手机号:' + Data.getTestdata('login', i, 2))
    except:
        globalData.LOG += generateLog.format_log('手机号输入错误\n' + traceback.format_exc())

    #处理登录密码逻辑
    try:
        loginElements.cipherpasswordText(self).clear()
        loginElements.cipherpasswordText(self).send_keys(Data.getTestdata('login', i, 3))
        globalData.LOG += generateLog.format_log('输入密码:' + Data.getTestdata('login', i, 3))
    except:
        globalData.LOG += generateLog.format_log('密码输入错误\n' + traceback.format_exc())

    #处理登录密码明暗文逻辑
    try:
        if(Data.getTestdata('login', i, 4) == 'None'):
            globalData.LOG += generateLog.format_log('不对密码明暗文进行校验')
        elif(Data.getTestdata('login', i, 4) == 'Y'):
            if('•' in loginElements.cipherpasswordText(self).get_attribute('value')):
                globalData.LOG += generateLog.format_log('密码显示正确:暗文')
            else:
                globalData.LOG += generateLog.format_log('密码显示错误:明文')
            loginElements.eyecloseButton(self).click()
            globalData.LOG += generateLog.format_log("切换密码为明文")
            if('•'  not in loginElements.plainpasswordText(self).get_attribute('value')):
                globalData.LOG += generateLog.format_log('密码显示正确:明文')
            else:
                globalData.LOG += generateLog.format_log('密码显示错误:暗文')
            loginElements.eyeopenButton(self).click()
            globalData.LOG += generateLog.format_log("切换密码为暗文")
            if('•' in loginElements.cipherpasswordText(self).get_attribute('value')):
                globalData.LOG += generateLog.format_log('密码显示正确:暗文')
            else:
                globalData.LOG += generateLog.format_log('密码显示错误:明文')
    except:
        globalData.LOG += generateLog.format_log('明暗文逻辑错误\n' + traceback.format_exc())


    #处理登录页面客服电话逻辑
    try:
        if(Data.getTestdata('login', i, 5) == 'None'):
            globalData.LOG += generateLog.format_log('不对客服电话校验')
        else:
            if(loginElements.servicephoneText(self)):
                globalData.LOG += generateLog.format_log('客服电话显示正确')
    except:
        globalData.LOG += generateLog.format_log('客服电话显示错误\n' + traceback.format_exc())


    #登录按钮点击逻辑校验
    try:
        if(Data.getTestdata('login', i, 6) == 'Y'):
            loginElements.loginButton(self).click()
            globalData.LOG += generateLog.format_log('点击登录按钮')
            if(Data.getTestdata('login', i, 8) == '2'):
                if(Data.getTestdata('login', i, 10) == '账号锁定'):
                    for j in range(0, 4):
                        loginElements.confirmButton(self).click()
                        globalData.LOG + generateLog.format_log('点击确定按钮')
                        loginElements.loginButton(self).click()
                        globalData.LOG += generateLog.format_log('点击登录按钮')
                try:
                    if(loginElements.popupText(self).get_attribute('name') == Data.getTestdata('login', i, 9)):
                        globalData.LOG += generateLog.format_log('弹框提示正确:' + Data.getTestdata('login', i, 9))
                        loginElements.confirmButton(self).click()
                        globalData.LOG += generateLog.format_log('点击确定')
                        Data.setExecutionresult(globalData.MODULE, i, 'Pass')
                    else:
                        globalData.LOG += generateLog.format_log('弹框提示错误: ' + loginElements.popupText(self).get_attribute('name') )
                        Data.setExecutionresult(globalData.MODULE, i, 'Fail')
                except:
                    globalData.LOG += generateLog.format_log('弹框提示错误')
    except:
        globalData.LOG += generateLog.format_log('登录错误\n' + traceback.format_exc())

    #登录成功逻辑校验
    try:
        if(Data.getTestdata('login', i, 7) == 'Y'):
            if(tabElements.mineTab(self)):
                globalData.LOG += generateLog.format_log('登录成功')
                tabElements.mineTab(self).click()
                globalData.LOG += generateLog.format_log("点击'我的'选项卡")
                settingElements.settingButton(self).click()
                globalData.LOG += generateLog.format_log("点击设置按钮")
                settingElements.logoutButton(self).click()
                globalData.LOG += generateLog.format_log("点击退出登录")
                el = loginElements.loginPage(self)
                globalData.LOG += generateLog.format_log("成功退出")
                Data.setExecutionresult(globalData.MODULE, i, 'Pass')
            else:
                globalData.LOG += generateLog.format_log('注册成功页面显示错误')
                Data.setExecutionresult(globalData.MODULE, i, 'Fail')
        elif(Data.getTestdata('login', i, 7) == 'None'):
            globalData.LOG += generateLog.format_log('不对注册成功逻辑进行校验')
    except:
        globalData.LOG += generateLog.format_log('登录失败')
        Data.setExecutionresult(globalData.MODULE, i, 'Fail')
Ejemplo n.º 16
0
def endvideoButton(self):
    try:
        el = WebDriverWait(self.driver, 60).until(EC.element_to_be_clickable((By.XPATH, Data.getXpath('account', 'account', 'endvideoButton', 1))))
        time.sleep(5)
        return el
    except:
        globalData.LOG += generateLog.format_log("控件endvideoButton未找到\n" + traceback.format_exc())
Ejemplo n.º 17
0
def videoreadyButton(self):
    try:
        el = WebDriverWait(self.driver, 30).until(EC.presence_of_element_located((By.XPATH, Data.getXpath('account', 'account', 'videoreadyButton', 1))))
        return el
    except:
        globalData.LOG += generateLog.format_log("控件videoreadyButton未找到\n" + traceback.format_exc())
Ejemplo n.º 18
0
def generate_report():
    time = relatedTime.reporttime()
    file = globalData.PATH + '/TestResult/TestReport' + '_' + time + '.xlsx'
    image = globalData.PATH + '/TestData/app.png'

    #新建工作簿
    workbook = xlsxwriter.Workbook(file)
    #新建工作表:环境
    summary = workbook.add_worksheet('Summary')
    #新建工作表:概况
    analysis = workbook.add_worksheet('Analysis')
    #新建工作表:模块明细
    modules = []
    for i in range(0, len(globalData.EXECUTED)):
        modules.append(workbook.add_worksheet(globalData.EXECUTED[i].keys()[0]))

    #格式设定
    #设置工作表Summary单元格的宽高
    summary.set_column('A:B', 40)
    for i in range(20, 24):
        summary.set_row(i, 20)
    #设置工作表analysis单元格的宽高
    analysis.set_column('A:G', 15)
    for i in range(1, 50):
        analysis.set_row(i, 20)
    #设置工作表单元格的宽高
    for i in range(0, len(modules)):
        modules[i].set_column('A:B', 15)

    title_format = workbook.add_format({
    'bold': 2,
    'border': 1,
    'align': 'center',
    'valign': 'vcenter',
    'font_name': u'黑体',
    'font_size': 20})

    info_format = workbook.add_format({
        'bold': 1,
        'border': 1,
        'align': 'center',
        'valign': 'vcenter',
        'font_name': u'黑体',
        'font_size': 11})

    table_format = workbook.add_format({
        'bold': 0,
        'border': 0,
        'align': 'center',
        'valign': 'vcenter',
        'font_name': u'黑体',
        'font_size': 11})


    header = [{'header': 'Moudule', 'total_string': 'Totals', 'format': table_format},
              {'header': 'Total', 'total_function': 'sum','format': table_format},
              {'header': 'Pass', 'total_function': 'sum','format': table_format},
              {'header': 'Fail', 'total_function': 'sum','format': table_format},
              {'header': 'Not Executed', 'total_function': 'sum','format': table_format},
              {'header': 'Result', 'format': table_format}
              ]

    module_header = [{'header': 'Case NO.', 'format': table_format}, {'header': 'Result', 'format': table_format}]

    title = {
        'name': u'用例执行概况',
        'name_font': {'size': 14, 'bold': True},
        'num_font':  {'黑体': True },
    }

    module_title = {
        'name': u'模块用例执行概况',
        'name_font': {'size': 14, 'bold': True},
        'num_font':  {'黑体': True },
    }


    url_format = workbook.add_format({
    'font_color': 'blue',
    'underline':  1,
    'bold': 0,
    'border': 0,
    'align': 'center',
    'valign': 'vcenter',
    'font_name': u'黑体',
    'font_size': 11
    })

    #获取用例执行数据
    data = []
    for i in range(0, len(globalData.EXECUTED)):
        module = globalData.EXECUTED[i].keys()[0]
        Total, Pass, Fail, Notexecuted, Result = get_module_result(globalData.EXECUTED[i].values()[0])
        data.append([module, Total, Pass, Fail, Notexecuted, Result])
    #获取总的用例执行结果
    result = ''
    for i in range(0, len(data)):
        if(data[i][5] == 'Fail'):
            result = 'Fail'
            break
    if(result == ''):
        result = 'Pass'

    #制作封面
    version = globalData.VERSION
    summary.merge_range('A1:B2', u'自动化测试报告', title_format)
    summary.merge_range('A3:B20', '', title_format)
    summary.insert_image('A3', image, {'x_scale': 1.5, 'y_scale': 1.5, 'x_offset': 175, 'y_offset': 45})
    summary.write("A21", u'产品', info_format)
    summary.write("B21", u'Bapp-经纪宝', info_format)
    summary.write("A22", u'环境', info_format)
    summary.write("B22", u'测试环境', info_format)
    summary.write("A23", u'APP版本', info_format)
    summary.write("B23", version, info_format)
    summary.write("A24", u'执行结果', info_format)
    summary.write("B24", result, info_format)
    summary.write("A25", u'执行日期', info_format)
    summary.write("B25", relatedTime.currenttime()[0:10], info_format)

    #绘制用例执行概况表格
    rows = len(globalData.EXECUTED)
    analysis.add_table("A2:F" + str(rows +3), {'data': data, 'columns': header, 'style': 'Table Style Light 11', 'total_row': 1})
    analysis.merge_range('A1:F1', u'用例执行概况', title_format)
    analysis.write("F" + str(rows + 3), result, table_format)
    #绘制模块用例执行明细的超链接
    for i in range(0, len(globalData.EXECUTED)):
        analysis.write_url('A' + str(i + 3), 'internal:' + globalData.EXECUTED[i].keys()[0] + '!A1', url_format, globalData.EXECUTED[i].keys()[0])

    #绘制用例执行概况饼状图
    analysis_pie_chart = workbook.add_chart({'type': 'pie'})
    analysis_pie_chart.add_series({
        'categories': '=(Analysis!$C$2:$E$2)',
        'values':     '=(Analysis!$C$' + str(rows + 3) + ':$E$' + str(rows + 3) + ')',
        'data_labels': {'value': True, 'percentage': True}
    })
    analysis_pie_chart.set_title(title)
    analysis_pie_chart.set_size({'width': 400, 'height': 400})
    analysis.insert_chart('A' + str(rows + 7), analysis_pie_chart)

    #绘制模块用例执行概况柱形图
    analysis_column_chart = workbook.add_chart({'type': 'column', 'subtype': 'percent_stacked'})

    analysis_column_chart.add_series({
        'name': '=Analysis!$C$2',
        'categories': '=Analysis!$A$3:$A$' + str(rows + 2),
        'values':     '=Analysis!$C$3:$C$' + str(rows + 2),
        'data_labels': {'value': True, 'percentage': True}
    })

    analysis_column_chart.add_series({
        'name': '=Analysis!$D$2',
        'categories': '=Analysis!$A$3:$A$' + str(rows + 2),
        'values':     '=Analysis!$D$3:$D$' + str(rows + 2),
        'data_labels': {'value': True, 'percentage': True}
    })

    analysis_column_chart.add_series({
        'name': '=Analysis!$E$2',
        'categories': '=Analysis!$A$3:$A$' + str(rows + 2),
        'values':     '=Analysis!$E$3:$E$' + str(rows + 2),
        'data_labels': {'value': True, 'percentage': True}
    })

    analysis_column_chart.set_x_axis({'name': u'模块'})
    analysis_column_chart.set_y_axis({'name': u'百分比'})
    analysis_column_chart.set_title(module_title)
    analysis_column_chart.set_style(10)
    analysis_column_chart.set_size({'width': 600, 'height': 400})
    analysis.insert_chart('A' + str(rows + 25), analysis_column_chart)

    #绘制模块用例执行情况明细表
    for i in range(0, len(modules)):
        case_count = Data.getCasenumber(globalData.EXECUTED[i].keys()[0])
        module_data = []
        for j in range(0, len(globalData.EXECUTED[i].values()[0])):
            module_data.append([j + 1, globalData.EXECUTED[i].values()[0][j]])
        modules[i].add_table("A1:B" + str(case_count + 1), {'data': module_data, 'columns': module_header, 'style': 'Table Style Light 11'})

    #关闭工作簿
    workbook.close()
Ejemplo n.º 19
0
    try:
        registerElements.vercodeText(self).send_keys(code)
        globalData.LOG += generateLog.format_log("输入验证码: " + code)
    except Exception, e:
        globalData.LOG += generateLog.format_log("注册页面验证码输入框错误\n" + traceback.format_exc())

    try:
        registerElements.pswfirstSecureText(self).send_keys(str(password))
        globalData.LOG += generateLog.format_log("输入注册密码: " + str(password))
    except Exception, e:
        globalData.LOG += generateLog.format_log("注册页面密码输入框错误\n" + traceback.format_exc())

    #注册昵称验证
    try:
        registerElements.nicknameText(self).send_keys(unicode(str(nickname), 'utf-8'))
        globalData.LOG += generateLog.format_log("输入昵称: " + Data.getValue('register', 'register', 'nicknameText', 1))
    except Exception, e:
        globalData.LOG += generateLog.format_log("注册页面昵称输入框错误\n" + traceback.format_exc())

    #注册页面注册按钮验证
    try:
        registerElements.registerButton(self).click()
        globalData.LOG += generateLog.format_log("点击注册按钮")
    except Exception, e:
        globalData.LOG += generateLog.format_log("注册页面注册按钮错误\n" + traceback.format_exc())

    #验证注册成功
    try:
        el = tabElements.customerTab(self)
        globalData.LOG += generateLog.format_log("注册完成页面正确显示")
    except Exception, e:
Ejemplo n.º 20
0
def forgetpassword(self, i):
    reload(sys)
    sys.setdefaultencoding('utf-8')

    #构造前置条件:注册
    if(Data.getPrecondition('forgetpassword', i) != '未注册的手机号'):
        dataBase.insert_buser(Data.getTestdata('forgetpassword', i, 2))
        session = dataBase.db_session()
        session.execute("update b_user set password = '******' where mobilephone = '" + Data.getTestdata('forgetpassword', i, 2) + "'")
        session.commit()
        oldpassword = dataBase.get_buser_password(Data.getTestdata('forgetpassword', i, 2))
    if(userStatus.isLoginSuccess(self) == True):
        logout.logout_smoking(self)
    redis.clear_vercode(Data.getTestdata('forgetpassword', i, 2))

    #进入忘记密码校验
    try:
        loginElements.forgetpswLink(self).click()
        if(forgetpswElements.fetchpasswordPage(self)):
            globalData.LOG += generateLog.format_log('忘记密码页面显示正确')
    except:
        globalData.LOG += generateLog.format_log('忘记密码页面显示错误\n' + traceback.format_exc())

    #处理手机号逻辑
    try:
        forgetpswElements.phoneText(self).clear()
        forgetpswElements.phoneText(self).send_keys(Data.getTestdata('forgetpassword', i, 2))
        globalData.LOG += generateLog.format_log('输入手机号:' + Data.getTestdata('forgetpassword', i, 2))
    except:
        globalData.LOG += generateLog.format_log('手机号错误\n' + traceback.format_exc())

    #处理验证码逻辑
    try:
        if(Data.getTestdata('forgetpassword', i, 3) == 'None'):
            forgetpswElements.vercodeButton(self).click()
            globalData.LOG += generateLog.format_log('点击发送验证码')
            if(Data.getTestdata('forgetpassword', i, 8) == '1'):
                screenShot.get_screenshot(self, i)
            elif(Data.getTestdata('forgetpassword', i, 8) == '2'):
                if(forgetpswElements.popupText(self).get_attribute('name') == Data.getTestdata('forgetpassword', i, 9)):
                    globalData.LOG += generateLog.format_log('提示正确:' + Data.getTestdata('forgetpassword', i, 9))
                    forgetpswElements.confirmButton(self).click()
                    globalData.LOG += generateLog.format_log('点击确定')
                    Data.setExecutionresult(globalData.MODULE, i, 'Pass')
                else:
                    globalData.LOG += generateLog.format_log('提示错误:' + forgetpswElements.popupText(self).get_attribute('name'))
                    forgetpswElements.confirmButton(self).click()
                    globalData.LOG += generateLog.format_log('点击确定')
                    Data.setExecutionresult(globalData.MODULE, i, 'Fail')
            globalData.LOG += generateLog.format_log('不对验证码进行校验')
        elif(Data.getTestdata('forgetpassword', i, 3) == 'Y'):
            forgetpswElements.vercodeButton(self).click()
            globalData.LOG += generateLog.format_log('验证码发送中...')
            time.sleep(3)
            globalData.LOG += generateLog.format_log('验证码发送成功!')
            code = redis.registerVercode(Data.getTestdata('forgetpassword', i, 2))
            forgetpswElements.vercodeText(self).send_keys(code)
            globalData.LOG += generateLog.format_log('输入验证码:' + code)
        elif(Data.getTestdata('forgetpassword', i, 10) == '6位错误的验证码'):
            forgetpswElements.vercodeButton(self).click()
            globalData.LOG += generateLog.format_log('验证码发送中...')
            time.sleep(3)
            globalData.LOG += generateLog.format_log('验证码发送成功!')
            code = '111111'
            forgetpswElements.vercodeText(self).send_keys(code)
            globalData.LOG += generateLog.format_log('输入错误验证码:' + code)
        elif(Data.getTestdata('forgetpassword', i, 10) == '6位过期的验证码'):
            forgetpswElements.vercodeButton(self).click()
            globalData.LOG += generateLog.format_log('验证码发送中...')
            time.sleep(3)
            globalData.LOG += generateLog.format_log('验证码发送成功!')
            code = redis.registerVercode(Data.getTestdata('forgetpassword', i, 2))
            redis.expireregisterVercode(Data.getTestdata('forgetpassword', i, 2))
            forgetpswElements.vercodeText(self).send_keys(code)
            globalData.LOG += generateLog.format_log('输入过期验证码:' + code)
        elif(Data.getTestdata('forgetpassword', i, 10) == '使用过的验证码'):
            forgetpswElements.vercodeButton(self).click()
            globalData.LOG += generateLog.format_log('验证码发送中...')
            time.sleep(3)
            globalData.LOG += generateLog.format_log('验证码发送成功!')
            code = redis.registerVercode(Data.getTestdata('forgetpassword', i, 2))
            forgetpswElements.vercodeText(self).send_keys(code)
            globalData.LOG += generateLog.format_log('输入验证码:' + code)
            forgetpswElements.cipherpasswordText(self).send_keys(Data.getTestdata('forgetpassword', i, 4))
            globalData.LOG += generateLog.format_log('输入密码:' + Data.getTestdata('forgetpassword', i, 4))
            forgetpswElements.findButton(self).click()
            globalData.LOG += generateLog.format_log('点击确定按钮,回到登录页面')
            loginElements.forgetpswLink(self).click()
            globalData.LOG += generateLog.format_log('点击忘记密码链接')
            forgetpswElements.phoneText(self).send_keys(Data.getTestdata('forgetpassword', i, 2))
            globalData.LOG += generateLog.format_log('输入手机号:' + Data.getTestdata('forgetpassword', i, 2))
            redis.expireregisterVercode(Data.getTestdata('forgetpassword', i, 2))
            forgetpswElements.vercodeText(self).send_keys(code)
            globalData.LOG += generateLog.format_log('输入使用过的验证码:' + code)
        elif(Data.getTestdata('forgetpassword', i, 10) == '超过60s重新触发发送验证码'):
            forgetpswElements.vercodeButton(self).click()
            globalData.LOG += generateLog.format_log('验证码发送中...')
            time.sleep(3)
            globalData.LOG += generateLog.format_log('验证码发送成功!')
            if(forgetpswElements.vercodeButton(self).get_attribute('name') != '发送验证码'):
                globalData.LOG += generateLog.format_log('验证码发送过程发送验证码按钮文案显示正确')
            else:
                globalData.LOG += generateLog.format_log('验证码发送过程发送验证码按钮文案显示错误:' + forgetpswElements.vercodeButton(self).get_attribute('text'))
            time.sleep(60)
            globalData.LOG += generateLog.format_log('等待60s')
            if(forgetpswElements.vercodeButton(self).get_attribute('name') == '重新发送'):
                globalData.LOG += generateLog.format_log('验证码发送过程发送验证码按钮文案显示正确')
                Data.setExecutionresult(globalData.MODULE, i, 'Pass')
            else:
                globalData.LOG += generateLog.format_log('验证码发送过程发送验证码按钮文案显示错误:' + forgetpswElements.vercodeButton(self).get_attribute('text'))
                Data.setExecutionresult(globalData.MODULE, i, 'Fail')
            redis.clear_vercode(Data.getNumber('register', 'register', 'phoneText', i))
            globalData.LOG += generateLog.format_log('清除redis验证码缓存')
            forgetpswElements.vercodeButton(self).click()
            globalData.LOG += generateLog.format_log("验证码发送中...")
            time.sleep(3)
            globalData.LOG += generateLog.format_log('验证码发送成功!')
        else:
            forgetpswElements.vercodeText(self).clear()
            forgetpswElements.vercodeText(self).send_keys(Data.getTestdata('forgetpassword', i, 3))
            globalData.LOG += generateLog.format_log('输入验证码:' + Data.getTestdata('forgetpassword', i, 3))
    except:
        globalData.LOG += generateLog.format_log('验证码错误\n' + traceback.format_exc())

    #处理密码逻辑
    try:
        if(Data.getTestdata('forgetpassword', i, 4) == 'None'):
            globalData.LOG += generateLog.format_log('不对密码进行校验')
        else:
            forgetpswElements.cipherpasswordText(self).send_keys(Data.getTestdata('forgetpassword', i, 4))
            globalData.LOG += generateLog.format_log('输入密码:' + Data.getTestdata('forgetpassword', i, 4))
    except:
        globalData.LOG += generateLog.format_log('密码错误\n' + traceback.format_exc())

    #处理密码明暗文逻辑
    try:
        if(Data.getTestdata('forgetpassword', i, 5) == 'None'):
            globalData.LOG += generateLog.format_log('不对密码明暗文进行校验')
        elif(Data.getTestdata('forgetpassword', i, 5) == 'Y'):
            if('•' in forgetpswElements.cipherpasswordText(self).get_attribute('value')):
                globalData.LOG += generateLog.format_log('密码显示正确:暗文')
            else:
                globalData.LOG += generateLog.format_log('密码显示错误:明文')
            forgetpswElements.eyecloseButton(self).click()
            globalData.LOG += generateLog.format_log("切换密码为明文")
            if('•'  not in forgetpswElements.plainpasswordText(self).get_attribute('value')):
                globalData.LOG += generateLog.format_log('密码显示正确:明文')
            else:
                globalData.LOG += generateLog.format_log('密码显示错误:暗文')
            forgetpswElements.eyeopenButton(self).click()
            globalData.LOG += generateLog.format_log("切换密码为暗文")
            if('•' in forgetpswElements.cipherpasswordText(self).get_attribute('value')):
                globalData.LOG += generateLog.format_log('密码显示正确:暗文')
            else:
                globalData.LOG += generateLog.format_log('密码显示错误:明文')
    except:
        globalData.LOG += generateLog.format_log('明暗文逻辑错误\n' + traceback.format_exc())


    #处理点击确定按钮逻辑
    try:
        if(Data.getTestdata('forgetpassword', i, 6) == 'None'):
            globalData.LOG += generateLog.format_log('不对点击确定进行校验')
            forgetpswElements.backButton(self).click()
            globalData.LOG += generateLog.format_log('忘记密码页面点击返回按钮')
        elif(Data.getTestdata('forgetpassword', i, 6) == 'Y'):
            forgetpswElements.findButton(self).click()
            globalData.LOG += generateLog.format_log("点击确定按钮")
            if(Data.getTestdata('forgetpassword', i, 8) == '1'):
                screenShot.get_screenshot(self, i)
                forgetpswElements.backButton(self).click()
                globalData.LOG += generateLog.format_log('忘记密码页面点击返回按钮')
            elif(Data.getTestdata('forgetpassword', i, 8) == '2'):
                    if(forgetpswElements.popupText(self).get_attribute('name') == Data.getTestdata('forgetpassword', i, 9)):
                        globalData.LOG += generateLog.format_log('弹框提示正确:' + Data.getTestdata('forgetpassword', i, 9))
                        forgetpswElements.confirmButton(self).click()
                        globalData.LOG += generateLog.format_log('点击确定')
                        Data.setExecutionresult(globalData.MODULE, i, 'Pass')
                    else:
                        globalData.LOG += generateLog.format_log('弹框提示错误')
                        Data.setExecutionresult(globalData.MODULE, i, 'Fail')
                    forgetpswElements.backButton(self).click()
                    globalData.LOG += generateLog.format_log('忘记密码页面点击返回按钮')
    except:
        globalData.LOG += generateLog.format_log('忘记密码\n' + traceback.format_exc())


    #处理忘记密码成功校验逻辑
    try:
        if(Data.getTestdata('forgetpassword', i, 7) == 'Y'):
            newpassword = dataBase.get_buser_password(Data.getTestdata('forgetpassword', i, 2))
            if(loginElements.loginPage(self) and oldpassword != newpassword):
                globalData.LOG += generateLog.format_log('忘记密码成功')
                Data.setExecutionresult(globalData.MODULE, i, 'Pass')
            else:
                globalData.LOG += generateLog.format_log('登录页面显示错误')
                Data.setExecutionresult(globalData.MODULE, i, 'Fail')
        elif(Data.getTestdata('forgetpassword', i, 7) == 'None'):
            globalData.LOG += generateLog.format_log('不对忘记密码成功逻辑进行校验')
    except:
            globalData.LOG += generateLog.format_log('忘记密码失败')
            Data.setExecutionresult(globalData.MODULE, i, 'Fail')
Ejemplo n.º 21
0
def confirmButton(self):
    try:
        el = WebDriverWait(self.driver, 30).until(EC.presence_of_element_located((By.XPATH, Data.getXpath('setting', 'reset', 'confirmButton', 1))))
        return el
    except:
        globalData.LOG += generateLog.format_log("控件confirmButton未找到\n" + traceback.format_exc())
Ejemplo n.º 22
0
def cameralimitButton(self):
    try:
        el = WebDriverWait(self.driver, 3).until(EC.presence_of_element_located((By.XPATH, Data.getXpath('mine', 'personalinfo', 'cameralimitButton', 1))))
        return el
    except:
        globalData.LOG += generateLog.format_log("控件cameralimitButton未找到\n" + traceback.format_exc())
Ejemplo n.º 23
0
def registerLink(self):
    try:
        el = WebDriverWait(self.driver, 5).until(EC.presence_of_element_located((By.XPATH, Data.getXpath('login', 'login', 'registerLink', 1))))
        return el
    except:
        globalData.LOG += generateLog.format_log("控件registerLink未找到\n" + traceback.format_exc())
Ejemplo n.º 24
0
def welcome_title(self):
    try:
        el = WebDriverWait(self.driver, 30).until(EC.presence_of_element_located((By.XPATH, Data.getXpath('welcome', 'welcome', 'welcome_title', 1))))
        return el
    except:
        globalData.LOG += generateLog.format_log("控件welcome_title未找到\n" + traceback.format_exc())
Ejemplo n.º 25
0
def personcenterButton(self):
    try:
        el = WebDriverWait(self.driver, 5).until(EC.presence_of_element_located((By.XPATH, Data.getXpath('first', 'first', 'personcenterButton', 1))))
        return el
    except:
        globalData.LOG += generateLog.format_log("控件personcenterButton未找到\n" + traceback.format_exc())
Ejemplo n.º 26
0
def affiliateLink(self):
    try:
        el = WebDriverWait(self.driver, 30).until(EC.presence_of_element_located((By.XPATH, Data.getXpath('mine', 'mine', 'affiliateLink', 1))))
        return el
    except:
        globalData.LOG += generateLog.format_log("控件affiliateLink未找到\n" + traceback.format_exc())
Ejemplo n.º 27
0
def versionUpdate_cancel(self):
    try:
        el = WebDriverWait(self.driver, 3).until(EC.presence_of_element_located((By.XPATH, Data.getXpath('welcome', 'welcome', 'versionUpdate_cancel', 1))))
        return el
    except:
        globalData.LOG += generateLog.format_log("控件versionUpdate_cancel未找到\n" + traceback.format_exc())
Ejemplo n.º 28
0
def currentcontinuouscommissionText(self):
    try:
        el = WebDriverWait(self.driver, 30).until(EC.presence_of_element_located((By.XPATH, Data.getXpath('mine', 'currentrecord', 'currentcontinuouscommissionText', 1))))
        return el
    except:
        globalData.LOG += generateLog.format_log("控件currentcontinuouscommissionText未找到\n" + traceback.format_exc())
Ejemplo n.º 29
0
def tradeTab(self):
    try:
        el = WebDriverWait(self.driver, 30).until(EC.presence_of_element_located((By.XPATH, Data.getXpath('tab', 'trade', 'tradeTab', 1))))
        return el
    except:
        globalData.LOG += generateLog.format_log("控件tradeTab未找到\n" + traceback.format_exc())
Ejemplo n.º 30
0
def incomedetailrecommandText(self):
    try:
        el = WebDriverWait(self.driver, 30).until(EC.presence_of_element_located((By.XPATH, Data.getXpath('mine', 'historyrecord', 'incomedetailrecommandText', 1))))
        return el
    except:
        globalData.LOG += generateLog.format_log("控件incomedetailrecommandText未找到\n" + traceback.format_exc())