前言
上篇文章我们已经了解到了数据驱动自动化测试框架是如何构建和驱动测试的!那么这篇文章我们将了解关键字驱动测试又是如何驱动自动化测试完成整个测试过程的。关键字驱动框架是一种功能自动化测试框架,它也被称为表格驱动测试或者基于动作字的测试。关键字驱动的框架的基本工作是将测试用例分成四个不同的部分。首先是测试步骤(Test Step),二是测试步骤中的对象(Test Object),三是测试对象执行的动作(Action),四是测试对象需要的数据(Test Data)。
其实我们做关键字的驱动的思想,就是把编码从测试用例和测试步骤中分离出来,这样对于不会编码的人员更容易理解自动化,从而让手工测试人员也可以编写自动脚本。(这并不意味这不需要自动化测试人员,对于自动化框架的构建,自动化代码的更新,结构调整等都需要一个技术性的人员)对于测试小的项目的团队,可以有两个手工测试人员和一个自动化测试人员。
项目功能
我们今天将要实现的功能是测试126邮箱的登录及登录后发送一封带附件的邮件
测试地址
项目目录
接下来我们来看看我们的项目目录是如何设计的,每个目录的功能是用来做什么的?
框架搭建
接下来我们一步一步来考虑如何搭建整个项目及每个py代码文件如何编写?
框架主要功能模块
1.新建util文件夹,并在此文件夹下新建ObjectMap.py文件,主要实现页面元素查找功能的封装
objectMap.py
2.util文件夹下新建WaitUntil.py文件,主要实现显示等待元素功能的封装
WaitUntil.py
3.新建ClipboardUtil.py文件,用来实现剪切版的操作(我们发送邮件时,需要添加附件,通过这个功能来实现上传附件)
ClipBoardUtil.py
4.新建KeyBoardUtil.py文件,主要实现模拟键盘的操作(配合上面剪切板的功能实现,粘贴附件的路径,回车等)
KeyBoardUtil.py
5.新建DirAndTime.py文件,主要实现获取当前时间,生成特殊路径,这里主要用来生成屏幕截图保存的路径及图片名称
DirAndTime.py
6.新建ParseExcel.py用来解析excel文件
ParseExcel.py
7.新建Log.py文件,用来记录代码运行日志
Log.py
业务操作功能模块
新建action文件夹,主要存储页面的各种操作,如点击操作,输入操作等
1.文件夹下新建PageAction.py文件
PageAction.py
项目数据文件设计
我们既然要实现关键字驱动的测试,无疑是通过关键字数据文件来控制代码的执行
新建testData文件夹,并新建126mailSend.xlsx文件。文件内容包括3个sheet页,分别为测试用例,登录,发送邮件
测试用例页
登录页
发送邮件页
注意:表格中的关键字 需要和PageAction.py中的方法名字保持一致
项目配置模块
新建config目录,并新建VarConfig.py文件记录全局的目录及excel文件部分信息
VarConfig.py
测试用例编写
前期所有的准备都已经完成,接下来我们开始编写测试用例
新建testCases文件夹,并新建Test126SendMailWithAttachment.py编写用例
Test126SendMailWithAttachment.py
加载用例
项目主目录下直接新建RunTest.py,用例运行测试用例
RunTest.py
项目总结
1.使用外部测试数据文件,使用Excel管理测试用例的集合和每个测试用例的所有测试步骤 ,实现一个文件中完成测试用例的维护
2.每个测试用例的测试结果在一个文件中查看和统计
3.通过定义关键字,操作元素的定位方式及定位表达式和操作值就可以实现每个测试用例步 骤的执行,可以更加灵活地实现自动化测试的需求
4.实现定位表达式和测试代码的分离,实现定位表达式直接在测试数据文件中进行维护。
5.框架提供日志功能,方便调试和监控自动化测试程序的执行
6.基于关键字测试框架,即使不懂开发技术的测试人员也可以实施自动化测试,便于在整个 测试团队中推广和使用自动化测试技术,降低自动化测试实施的技术门槛
7.基于关键字的方式,可以进行任意关键字的扩展,以满足更加复杂项目的自动化测试需求
运行框架
1.运行环境需要安装了python3.x+selenium2.x;第三方模块openpyxl,pypiwin32, win32api, win32con 2.本地已配置chrome/firefox/ie浏览器及对应版本驱动 3.需要修改Excel文件中对应的用户名和密码 4.直接运行RunTest.py文件即可执行整个框架
这是我整理的《2024最新Python自动化测试全套教程》,以及配套的接口文档/项目实战【网盘资源】,需要的朋友可以下方视频的置顶评论获取。肯定会给你带来帮助和方向。
【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)