关于单元测试:基于Unittest框架使用PythonSeleniumWebdriver的WebUI自动化测试项目应用实例附源码

64次阅读

共计 1029 个字符,预计需要花费 3 分钟才能阅读完成。

@TOC

1、我的项目背景

  • 测试背景:在业务零碎的 web 页面,有一个分辨率设置性能,而这个性能是自定义的一个区间,用户能够设置分辨率 800600 到 20482048,
    共计 1809801 个分辨率,如果人工去进行遍历的话,预计得用半年工夫,十分吃力
  • 解决方案:应用 webUI 自动化管制分辨率性能的输出,其中每次输出都不反复,遍历所有的分辨率
  • 遍历数据解决:如果在脚本中惟一取值,间接由代码生成须要的数据的话,效率十分慢;所以把 1809801 个分辨率数据间接在 txt 文本中写入,
    只须要关上一次,而后每次从 txt 取值,直到取完为止
  • 业务 UI 图:

2、框架环境

  • Python 3.5
  • Python 的 sendmail、xlrd、HTMLtestRuner、CSV、ConfigParser、Json 模块
  • Selenium
  • Pycharm

    3、业务实现思路

  • 设置界面,批改输出源的分辨率的高和宽,以及刷新率,进行利用
  • 设施界面,查看对应输出源的分辨率信息
  • 把设置界面输出的分辨率信息和设施界面的显卡返回的分辨率信息进行比照,判断设置是否 OK

4、业务后果判断

把设置界面输出的分辨率信息和设施界面的显卡返回的分辨率信息进行比照,判断设置是否 OK,次要有两种状况:

  • 超出带宽:在脚本中退出判断信息,如果输出的值依照计算公式大于 165M 带宽,才判断为超出带宽
  • 返回异样:输出的和返回的值不统一,这种状况个别保留数据,具体分析,如下示例:

5、数据处理

对于运行的后果数据处理,目前反对三种形式:

  • 把测试用例后果,通过 HtmlTestRunner.py 库封装成测试用例集,而后通过 SendMail.py 库,发送邮件给我的项目组成员。
    示例:
  • 应用 Eclipse 开发平台,把测试后果的 Console,保留到 log 中,实时抓取运行过程和后果数据(这个能够疏忽,后续间接在代码中加 log)
  • 把测试后果,间接保留到 config 的配置文件中,间接查看

6、框架阐明

7、操作阐明

  1. 关上 all_test,py 批改接管邮箱地址和保留保留门路
  2. 关上 tools 中的 sendMail.py 批改发送者的邮箱地址
  3. 在 Utils 中的 Settings3 写业务模块的性能(Settings1 和 Settings2 是多余的)
  4. 在 test_case 中 test_Settings_Custom_Resolution.py 写测试用例
  5. 执行 all_test.py

    8、数据存储成果

    9、源码地址

    https://github.com/NoamaNelson/UnittestWebUIFour

正文完
 0