zoukankan      html  css  js  c++  java
  • 自动化测试——从MySQL数据库中读取短信验证码

    背景:前一段时间,为公司某系统进行自动化测试。系统的注册页面需要输入手机号,并点击获取验证码验证手机号。

    当然,测试时的手机号是假的,而且验证码也可以随便填写,供测试所用的系统也没有对验证码的正确性进行校验。但是,最近提测的系统不知被调皮的程序员们做了什么手脚,居然不再允许随便填写验证码,而是需要在点击获取验证码后到数据库中查看生成的验证码是什么,再在注册页面填写该验证码。这对自动化测试实在不便(以前我都是让程序直接在验证码输入框中输入1的……),怎么办呢,总不能点击获取验证码后让程序sleep30秒,期间测试人员以迅雷不及掩耳盗铃之势到数据库中查看验证码,再手动填写吧,这样也太不符合自动化的意义了。于是,摸索了一下Python使用MySQL数据库,代码如下:

    import MySQLdb
    
    conn = MySQLdb.connect(host='172.16.20.217',port=3306,user='root',passwd='password',db='krd20150821')
    cur = conn.cursor()
    # 查询表中最后一条数据的验证码字段
    cur.execute('SELECT MESSAGE_NOTE FROM SYS_TEL_MESSAGE ORDER BY ID DESC LIMIT 1')
    message = str(cur.fetchone())
    yzm = filter(lambda x:x.isdigit(), message)

    cur.fetchone()执行后得到的是一个元组,将其转换为字符串,再过滤掉数字之外的字符后,就是最终所需要的验证码。
    虽然,代码还有缺陷,如果有多人同时在测试,则得到的验证码便有可能是别人手机号的验证码。不过还好,只有我用它测试,够用就好。

  • 相关阅读:
    SQL 2005的ROW_NUMBER()实现分页的功能
    UML建模工具集
    挽救崩溃的WinXP操作系统四招
    16个经典面试问题回答思路
    自动关闭弹出式窗口
    在winform中嵌入Flash(swf)的方法及常见问题的解决
    C#获取安装程序所在的路径
    转载:C#操作注册表
    C#实现Dll(OCX)控件自动注册的两种方法
    转载:C#创建和修改注册信息
  • 原文地址:https://www.cnblogs.com/desperado0807/p/5172076.html
Copyright © 2011-2022 走看看