WebUI 自动化测试框架搭建详解


01、总体需求

🎯 1.1:实现目的

基于BS架构,模拟用户(鼠标、键盘)操作,达到快速、重复执行测试用例;

便于回归测试,快速覆盖主线用例或功能;

线上或线下巡检测试,结合持续集成,及时发现运行环境存在的问题;

提升个人自动化测试技术能力,为业务提供强有力的测试手段。

🎯 1.2:功能需求

基于Unittest,封装、调用和组织所有的测试用例,进行批量或指定用例运行;

支持邮件服务,可添加任意团队成员邮箱,及时通知团队成员自动化运行结果;

支持log日志,保存运行过程所有或需要记录的数据;

支持HTML测试报告,直观展示测试结果和数据;

支持用例设计和测试结果分离,便于数据管理;

支持Json、conf、excel等配置文件读取,提供灵活的配置文件操作方法;

支持用户登录封装,后续所有的用例登录公用一个方法;

支持任意修改HTMLTestRuner,可定制测试报告模板;

支持测试报告多语言(英文和中文);

支持截图功能;

支持Jenkins持续集成。

🎯 1.3:其他需求

适用所有bs架构自动化测试;

模块化设计,项目框架形式组织代码;

公共方法封装,统一调用;

数据和结果分开,清晰明了;

支持邮件自定义;

代码注释清晰。

🎯 1.4:适用人员

有一定测试基础的软件测试人员;

有一定的代码(Python/Java)功底;

致力于学习web UI自动化测试的所有人员。

02、详细设计

🎯2. 1:需求分析

对 实现需求 进行详细分析,主要有下:


🎯 2.2:技术栈

03、框架设计


🎯 3.1:框架说明


🎯3. 2:框架执行流程

04、预期结果

🎯4. 1:测试过程log日志

在这里插入图片描述
🎯4. 2:测试报告html格式

🎯4. 3:测试报告邮件格式

05、特别说明

代码基本完成,如果有好的建议,可交流学习心得。

06、第一个WebUI自动化测试程序

在开始自动化框架搭建之前,我们先写一个简单的自动化测试脚本,来体会一下什么是web UI自动化测试,以及元素的基本操作,为后续的框架搭建鉴定基础。

🎯6. 1:Selenium基本理论

6.1.1 Selenium安装

直接打开cmd窗口,输入以下命令在线安装:


安装完后,在cmd窗口中输入以下命令,可以看到selenium已经安装了


  • 安装完后,在cmd窗口中输入以下命令,可以看到selenium已经安装了

6.1.2 WebDriverAPI

selenium提供了很多的WebDriverAPI,可以来进行:

  • 元素的识别、定位

  • 元素的单击、双击

  • 滚动条的拖动

  • 浏览器控制如窗口大小、前进后退、刷新、表单切换、多窗口切换、文件双传下载、cookie操作、验证码等等

  • 详情请参考以下:

    • 元素定位:https://blog.csdn.net/NoamaNelson/article/details/103022630

    • 浏览器控制(1):
      https://blog.csdn.net/NoamaNelson/article/details/103022776

    • 浏览器控制(2):
      https://blog.csdn.net/NoamaNelson/article/details/103022919

🎯6. 2:浏览器驱动安装

要想使用selenium来操作浏览器上的元素,必须安装浏览器驱动;

这个要根据具体的浏览器版本来定义;

本文使用的是Chrome浏览器,版本为88.0.4324.182(正式版本) (32 位);

6.2.1 Chromedriver下载

下载地址:

https://blog.csdn.net/NoamaNelson/article/details/107663868


6.2.2Chromedriver安装

下载下来后是一个chromedriver.exe,如果是w7系统需要把chromedriver.exe放在chrome浏览器的安装目录,然后在系统环境变量中加入chrome浏览器的安装目录即可;如果是w10系统,需要chromedriver.exe放在Python的安装目录即可,如本文是:


🎯6. 3:代码设计思路

6.3.1pycharm新建脚本

打开之前创建的项目【Automated-UITest-demo】,在项目上右键,新建python文件即可,这里新建一个名为test_baidu的python文件



创建完后,如下多了一个test_baidu的py文件


6.3.2自动化需求

这里我们做以下UI自动化测试:

1、自动打开chrome浏览器

2、输入百度网址

3、打开百度首页,输入helloworld

4、最大化浏览器窗口

5、搜索helloworld.并回车

6、浏览器窗口大小缩小为640*480

7、先进行浏览器后退,再次输入csdn进行搜索

8、清空输入的内容

9、判断是否进入csdn官网

6.3.3需求分析


以上方法具体使用,参考【1.2 WebDriverAPI】

6.3.4元素定位

以上需求已经搞清楚了,那么接下来要进行元素定位,这里大概可以对需求再拆解下,需要哪些元素?


那如何定位元素,知道使用哪种定位方式?

A、我们打开百度首页,然后按【F12】打开浏览器的调试模式


B、点击调试模式窗口左上角的小三角


D、点击一下即可,然后看到搜索输入框的元素属性,即要使用的元素定位方法


🎯6. 4:代码实现

6.4.1包/模块的引入

打开刚才新建的test_baidu.py文件

然后输入以下内容:



6.4.2打开百度



6.4.3定位搜索框输入helloworld,窗口最大化



6.4.4窗口缩小为640*480



6.4.5窗口刷新



6.4.6清空输入内容


6.4.7进入csdn官网并判断


6.4.8调用方法


🎯6. 5:完整源码



最后

如果你想学习自动化测试,那么下面这套视频应该会帮到你很多

如何逼自己1个月学完自动化测试,学完即就业,小白也能信手拈来,拿走不谢,允许白嫖....

最后我这里给你们分享一下我所积累和整理的一些文档和学习资料,有需要直接领取就可以了!


以上内容,对于软件测试的朋友来说应该是最全面最完整的备战仓库了,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。

​​

​​​​

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值