python web自动化注册登录---(1)redisHelper类编写

本文介绍了一个用于自动化测试的RedisHelper类实现,该类主要用于从Redis数据库中获取短信验证码,包括注册和登录流程中的手机验证码。

redisHelper类编写

一个系统最常用的流程就是注册登录,那如何编写好他们的自动化脚本了?那得一步一步的分析。
首先,要熟悉这个系统的注册登录流程。我测试的系统,注册和登录都是要用到短信验证码的,而短信验证码是从 redis 上获取的。
redis 的基础不做过多的解释,它是一个 key-value 的数据库,数据类型有 字符串,哈希,列表,集合。每种类型都有自己的命令,如 set key value,get key等。
编写help 类时,先搞清楚 你要获取的key 的类型,然后方便取调用命令去取value,每种不同的数据类型有不同的命令,本次要获取的key是 字符串类型,使用get 命令就行。
代码如下:
# _*_conding:utf-8_*_
# 作者: 杨佳
# 创建时间: 2020/9/2 19:56
# 文件: redisconnetc
import redis # 导入redis第三方库, pip install redis


# 获取db=12里面的所有值
def get_keylst():
    ip = '****'  # redis 的ip地址
    auth = '****'  # redis 的密码
    r = redis.Redis(host=ip,port=6379,db=12,password=auth)
    return r.keys('*'),r  # 返回redis 12的所有key和redis 的key-value


# 获取注册时的手机验证码
def get_register_code(phone):
	# 这个是开发定义的
    flag = 'account_register_******_'+str(phone)
    code = ''
    try:
        lst, r = get_keylst()
        # 遍历所有的key
        for verifily in lst:
            if flag in str(verifily):
            	# 根据key 取得value 值
                byte_code = r.get(verifily)[-6:]
                # 取出的value 值是二进制类型,将其转换为string
                code = bytes.decode(byte_code)
    except:
        return None
    else:
        return code

# 获取登录时的手机验证码
def get_login_code(phone):
    flag = 'account_login_*****_'+str(phone)
    code = ''
    try:
        lst, r = get_keylst()
        for verifily in lst:
            if flag in str(verifily):
                byte_code = r.get(verifily)[-6:]
                code = bytes.decode(byte_code)
    except:
        return None
    else:
        return code


if __name__ == '__main__':
    b = get_login_code('******')
    print(b)


下一篇:mysqlHelper类的编写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值