51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3348|回复: 0
打印 上一主题 下一主题

[转贴] 自动化测试的实现过程,给你的毕业设计一些思路

[复制链接]
  • TA的每日心情
    无聊
    3 天前
  • 签到天数: 1050 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2021-1-25 10:04:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
     一提到计算机专业的毕业设计,很多人第一个想到的就是各种系统的开发,例如下面列表中提到的:
      1.网络留言薄
      2.客户管理系统
      3.多媒体积件管理库的开发与应用
      4.基于[url=]WEB[/url]的多媒体素材管理库的开发与应用
      5.网络教学软件中的教学设计与应用
      6.小型教育网站的开发与建设
      7.基于图像的风景旅游模拟漫游系统
      8.网上报名系统
      9.电脑配件网络购物
      10.房产网站
      11.计算机组成原理网站
      12.软件下载系统网站
      13.图书管理系统
      14.网络办公系统
      15.电子书店管理系统
      16.中学学生学籍管理系统
      17.在线图书销售系统
      18.网上图书销售系统
      19.网上购物系统
      20.出租公司管理系统
      ……
      除此之外,还有很多很多,但是都是烂大街的项目了,而且还要写代码,对于“懒癌”晚期的你,是不是很难呢?
      下来凯哥跟你说一个不需要写那么多代码,简单轻松还能看上去高大上的毕设方案——软件[url=]自动化测试[/url][url=]技术[/url]
      本文将利用一下几个内容:
      ·Python3.7以上版本
      ·Selenium3.14以上版本
      ·火狐[url=]浏览器[/url]
      ·火狐浏览器驱动程序
      ·HTMLTestRunner.py模块
      ·再来一个CSV表格文档。
      ·最后,随便找一个网站(只要网上能见到的,都行)
      一切准备妥当后,接下来只需要完成类似的功能就行了:
    1. # 导入Selenium包和time包
    2.   from selenium import webdriver
    3.   from time import sleep
    4.   # 导入csv包
    5.   import csv
    6.   # 导入unittest包
    7.   import unittest
    8.   #导入生成HTML测试报告的包
    9.   from HTMLTestRunner import HTMLTestRunner
    10.   # 定义测试类,继承unittest
    11.   class QQ(unittest.TestCase):
    12.       # 定义函数
    13.       def test_qq_reg(self):
    14.           # 读取csv中的数据(默认会以列表嵌套的形式保存数据到脚本的变量中)
    15.           data = csv.reader(open('reg_qq.csv','r'))   
    16.           # 定义浏览器驱动
    17.           driver = webdriver.Firefox()
    18.           # 使用循环获取data中的列表数据
    19.           for info in data :
    20.               # 定义昵称变量,获取列表中的用户名
    21.               name = info[0]
    22.               # 定义密码变量,获取列表中的密码
    23.               passwd = info[1]
    24.               # 定义手机号变量,获取列表中的手机号
    25.               phone = info[2]
    26.               # 定义验证码变量,获取列表中的验证码
    27.               code = info[3]
    28.               '''
    29.               将代码中输入数据的地方都用上面的变量代替
    30.               '''
    31.               # 打开页面
    32.               driver.get("https://ssl.zc.qq.com/v3/index-chs.html")
    33.               # 休眠2秒钟
    34.               sleep(2)
    35.               # 在昵称文本框输入 “测试凯哥”
    36.               driver.find_element_by_id("nickname").send_keys(name)
    37.               sleep(2)
    38.               # 在密码文本框 输入“TestKai2020”
    39.               driver.find_element_by_id("password").send_keys(passwd)
    40.               sleep(2)
    41.               # 在手机号文本框输入  “13366244232”
    42.               driver.find_element_by_id("phone").send_keys(phone)
    43.               sleep(2)
    44.               # 点击 发送短信验证码 按钮
    45.               driver.find_element_by_id("send-sms").click()
    46.               sleep(2)
    47.               # 在短信验证码文本框输入 321234
    48.               driver.find_element_by_id("code").send_keys(code)
    49.               sleep(2)
    50.               # 点击 立即注册 按钮
    51.               driver.find_element_by_id("get_acc").click()
    52.               sleep(2)
    53.               # 判断注册后页面是否跳转到 成功页(预期结果)
    54.               exp_url = "https://ssl.zc.qq.com/v3/success.html"
    55.               sleep(2)
    56.               # 浏览器获取页面url地址
    57.               real_url = driver.current_url
    58.               # 判断实际结果和预期结果是否相同  相同就输出  success
    59.               # 如果不同就截图保存
    60.               if exp_url == real_url:
    61.                   print("success")
    62.               else:
    63.                   driver.get_screenshot_as_file("./test_qq.png")
    64.               sleep(2)
    65.   #生成单元测试流程
    66.   testunit = unittest.TestSuite()
    67.   #加载测试用例,可以把多人的测试用例导入进来,放在一起:
    68.   testunit.addTest(QQ("test_qq_reg"))
    69.   #创建测试报告
    70.   fp=open('./result.html','wb')
    71.   runner = HTMLTestRunner(stream=fp,
    72.                           title="QQ注册测试",
    73.                          description="用例执行情况:")
    74.   runner.run(testunit)
    75.   fp.close()
    复制代码
    看到这里,希望能够引起大家对自动化测试实现过程的兴趣,而且这么搞的话,毕设就真的没有那么难!


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-24 05:26 , Processed in 0.063642 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表