基于Unittest框架,使用Python+Selenium+Webdriver的WebUI自动化测试项目应用实例(附源码)

简介: 基于Unittest框架,使用Python+Selenium+Webdriver的WebUI自动化测试项目应用实例(附源码)

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

目录
相关文章
从集思录可转债数据探秘:Python与C++实现的移动平均算法应用
本文探讨了如何利用移动平均算法分析集思录提供的可转债数据,帮助投资者把握价格趋势。通过Python和C++两种编程语言实现简单移动平均(SMA),展示了数据处理的具体方法。Python代码借助`pandas`库轻松计算5日SMA,而C++代码则通过高效的数据处理展示了SMA的计算过程。集思录平台提供了详尽且及时的可转债数据,助力投资者结合算法与社区讨论,做出更明智的投资决策。掌握这些工具和技术,有助于在复杂多变的金融市场中挖掘更多价值。
29 12
通义灵码AI程序员实战:从零构建Python记账本应用的开发全解析
本文通过开发Python记账本应用的真实案例,展示通义灵码AI程序员2.0的代码生成能力。从需求分析到功能实现、界面升级及测试覆盖,AI程序员展现了需求转化、技术选型、测试驱动和代码可维护性等核心价值。文中详细解析了如何使用Python标准库和tkinter库实现命令行及图形化界面,并生成单元测试用例,确保应用的稳定性和可维护性。尽管AI工具显著提升开发效率,但用户仍需具备编程基础以进行调试和优化。
100 9
基于 Python 的布隆过滤器算法在内网行为管理中的应用探究
在复杂多变的网络环境中,内网行为管理至关重要。本文介绍布隆过滤器(Bloom Filter),一种高效的空间节省型概率数据结构,用于判断元素是否存在于集合中。通过多个哈希函数映射到位数组,实现快速访问控制。Python代码示例展示了如何构建和使用布隆过滤器,有效提升企业内网安全性和资源管理效率。
36 9
探索Python科学计算的边界:利用Selenium进行Web应用性能测试与优化
【10月更文挑战第6天】随着互联网技术的发展,Web应用程序已经成为人们日常生活和工作中不可或缺的一部分。这些应用不仅需要提供丰富的功能,还必须具备良好的性能表现以保证用户体验。性能测试是确保Web应用能够快速响应用户请求并处理大量并发访问的关键步骤之一。本文将探讨如何使用Python结合Selenium来进行Web应用的性能测试,并通过实际代码示例展示如何识别瓶颈及优化应用。
237 5
Selenium IDE:Web自动化测试的得力助手
Selenium IDE:Web自动化测试的利器。作为开源工具,Selenium IDE支持录制与回放用户操作,适用于Chrome、Firefox等多浏览器,简化了测试流程,提升了效率,降低了自动化测试的门槛。它还支持导出多种编程语言的脚本,便于测试集成与复用。
150 31
Selenium IDE:Web自动化测试的得力助手
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
272 17
Selenium:强大的 Web 自动化测试工具
自动化测试之美:从Selenium到Appium
【10月更文挑战第3天】在软件开发的海洋中,自动化测试如同一艘航船,引领着质量保证的方向。本文将带你领略自动化测试的魅力,从Web端的Selenium到移动端的Appium,我们将一探究竟,看看这些工具如何帮助我们高效地进行软件测试。你将了解到,自动化测试不仅仅是技术的展示,更是一种提升开发效率和产品质量的智慧选择。让我们一起启航,探索自动化测试的世界!
精通Selenium:从基础到高级的网页自动化测试策略
【10月更文挑战第6天】随着Web应用变得越来越复杂,手动进行功能和兼容性测试变得既耗时又容易出错。自动化测试因此成为了现代软件开发不可或缺的一部分。Selenium是一个强大的工具集,它支持多种编程语言(包括Python),允许开发者编写脚本来模拟用户与Web页面的交互。本文将带领读者从Selenium的基础知识出发,逐步深入到高级的应用场景,通过丰富的代码示例来展示如何高效地进行网页自动化测试。
995 5
自动化测试的利器:Selenium 框架深度解析
【10月更文挑战第2天】在软件开发的海洋中,自动化测试犹如一艘救生艇,让质量保证的过程更加高效与精准。本文将深入探索Selenium这一强大的自动化测试框架,从其架构到实际应用,带领读者领略自动化测试的魅力和力量。通过直观的示例和清晰的步骤,我们将一起学习如何利用Selenium来提升软件测试的效率和覆盖率。
高效Selenium测试技巧:轻松控制已开启的浏览器
【10月更文挑战第13天】在进行Selenium测试时,通常会启动新浏览器实例,但有时需要控制已开启的浏览器,以节省时间并更真实地模拟用户行为。这可通过设置Chrome为可远程控制并使用`Remote WebDriver`连接实现。需在启动Chrome时添加`--remote-debugging-port`参数,并通过Python脚本中的`webdriver.Remote`连接至指定端口。此外,还可利用会话ID(Session ID)重新连接浏览器,提高测试灵活性。需要注意浏览器版本兼容性及元素定位稳定性等问题,确保测试准确性和一致性。
526 1

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等