selenium-测试框架搭建(十三)
思路
分离业务代码和测试数据,提高代码可维护性,实现自动化,减少重复劳动。
一个测试框架大概由配置文件,测试数据,测试用例,相关文件(发送邮件等),测试日志,断言和测试报告等模块组成。
结构
以页面为基本单位进行构建自动化脚本。如下图

.idea: 存放项目的配置信息。这个文件夹是自动生成,版本控制信息等,包括历史记录。pycharm创建工程成功后会自动创建 venv: Python环境,一套"独立"的运行环境,pycharm创建时可以选则创建 config: 配置文件
baseConfig.ini: 基本的配置文件,比如url
schoolSystem.ini: 学校系统配置文件(这儿只是个举例)
studentSystem.ini: 学生系统配置文件(这儿只是个举例) data: 测试数据
存放上传数据,还可以细分,例如image、video、txt等 download: 存放下载的数据
存放下载的数据,还可以细分,例如image、video、txt等
errorImage: 存放用例执行失败时页面截图文件 drivers: 驱动文件,如chromedriver.exe、edgedriver.exe等 log: 日志文件,执行过程中的日志,.log文件 report: 测试报告,html文件 test: 测试文件
common: 公用方法,项目相关的方法
pages: 以页面为单位,每个页面封装一套测试方法
case: 测试用例
runner: 对测试case进行组织,比如执行那些用例,跳过那些用例 utils: 存放一些其他的方法
HTMLTestRunner.py: 生成测试报告文件
log.py: 生成日志文件,主要设置日志的输出级别、格式、文件名等
mail.py: 用例执行完成,将测试报告以邮件的形式发送给相关人员
readConfig.py: 对配置文件 ini 的读取
findElement.py: 对webdriver的二次封装
...
主要存放和测试相关,但是与项目无关的一些文件 run.py: 执行,主要是对test/runner下组织的用例进行执行并且生成测试报告 使用提示
1、在使用要根据项目和业务进行,有依有据的进行构造。例如:根据手动功能测试的测试用例进行。或者以业务逻辑进行。总之选则最合适的
2、前段时间在听一个分享会时,有一点特别深刻,拿来套用一下:以需求为基准。即前期方向一定要做对,比如打算用三个月完成从计划到自动化的竣工。那么申清需求以及构思框架等花2个月时间也是值得的。方向一定要要走对,如果开始就是错误的那么后期质量再高也是徒劳的。
3、多人进行时一定做多勤沟通、有效沟通。避免各自为阵。这样做出来的结构才清晰,项目紧密度高。高内聚、低耦合。
selenium-测试框架搭建(十三)的更多相关文章
- selenium测试框架使用xml作为对象库
之前已经写过一篇: selenium测试框架篇,页面对象和元素对象的管理 上次使用的excel作为Locator对象管理,由于excel处理不够方便,有以下缺点: 不能实现分page 加载Locato ...
- selenium测试环境搭建(一)
selenium测试环境搭建 下载资源 1. selenium-java-2.53.0.zip 下载地址:http://pan.baidu.com/s/1dFDf27Z 2. Firefox Set ...
- 『心善渊』Selenium3.0基础 — 2、Selenium测试框架环境搭建(Windows)
目录 1.浏览器安装 2.浏览器驱动下载 (1)ChromeDriver for Chrome (2)Geckodriver for Firefox (3)IEDriverServer for IE ...
- selenium 测试框架中使用grid
之前的测试框架:http://www.cnblogs.com/tobecrazy/p/4553444.html 配合Jenkins可持续集成:http://www.cnblogs.com/tobecr ...
- selenium测试框架篇,页面对象和元素对象的管理
前期已经做好使用Jenkins做buildhttp://www.cnblogs.com/tobecrazy/p/4529399.html 做自动化框架,不可避免的就是对象库. 有一个好的对象库,可以让 ...
- Spring TestContext测试框架搭建
同样是测试,JUnit和Spring TestContext相比,Spring TestContext优势如下: 1.Spring TestContext可以手动设置测试事务回滚,不破坏数据现场 2. ...
- selenium测试框架篇
做自动化框架,不可避免的就是对象库. 有一个好的对象库,可以让整个测试体系: 更容易维护 大大增加代码重用 增加测试系统的稳定性 这里先了解一下我所说的对象库: 所谓的页面对象,是指每一个真是的页面是 ...
- Java 使用POI操作EXCEL及测试框架搭建、测试开发的一些想法
无论是UI自动化测试还是接口自动化测试都需要进行数据驱动,一般很常见的一种方式就是用excel来管理数据,那么就涉及到一些代码对EXCEL的操作,之前我们介绍过用CSV来处理EXCEL,但是它的功能还 ...
- [技术博客]基于动态继承类、WebDriver的浏览器兼容性测试框架搭建
问题背景 观察使用selenium进行自动化测试的过程,我们可以将它概述为: 启动测试进程,在该进程中构建WebDriver 启动浏览器进程,将它与WebDriver建立连接 使用WebDriver向 ...
随机推荐
- ES6数组扩展运算符
1 扩展运算符的运用 (1)复制数组 数组是复合的数据类型,直接复制的话,只是复制了指向底层数据机构的指针,而不是克隆一个全新的数组; const a1=[1,2]; const a2= a1; a2 ...
- 理解css之position属性
之前css学的一直不精致而且没有细节,为了成为一个完美的前端工作人员,所以决定重新学习css的属性.当然会借鉴MDZ文档(MDZ文档)或其他博主的经验来总结.在这里会注明借鉴或引用文章的出处.侵权即删 ...
- 关于ORACLE的SQL语句拼接、替换、截取、排序,联表等...~持续汇总~
先看一下所有的数据.这里全部为VARCHAR2(255). 字段拼接 在所有的性别后面加% 字段替换,把性别TPF_SEX去除百分号% 字段截取 字段截取+拼接 字段替换,这里把百分号%替换为空,也 ...
- redis数据操作
数据结构 redis是key-value的数据结构,每条数据都是一条字符串.注意:键的类型是字符串,并且不能重复. 值的类型分5种: 字符串string 哈希hash 列表list 集合set 有序集 ...
- 零基础java的福音!史上最全最精简的学习路线图!
这是一个java系统学习路线,从零基础到项目框架开发,每一个阶段里面内容都标记的很清楚,如果你现在也在学习java,你可以跟着这个系统学习路线学,学完自己可以独立的完成项目框架开发,二线城市拿个7k+ ...
- PMBook - 以考PMP为项目,整理项目章程
一.以考PMP为项目,整理项目章程 二.PMBook 制定项目章程:输出 参考资料:<PMBook第六版> 作 者: Jackson0714 出 处:http://www.cnblogs. ...
- k.tt 研究下生成的逻辑代码:从壹开始前后端分离 [.netCore 填坑 ] 三十二║ 四种方法快速实现项目的半自动化搭建
更新 1.更新小伙伴 @大龄Giser 提出好点子:试试VS的插件扩展:VSIX.ItemProject等,将T4模板给制作插件,这里先记下,有懂的小伙伴可以自己先试试,我会在以后更新. 2.感谢小伙 ...
- .NET Core微服务之基于MassTransit实现数据最终一致性(Part 1)
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.预备知识:数据一致性 关于数据一致性的文章,园子里已经有很多了,如果你还不了解,那么可以通过以下的几篇文章去快速地了解了解,有个感性认 ...
- springboot~Integer和int如何选择,Integer的意义何在
今天说一下自己在项目中遇到的问题,然后总结一下Integer引用类型和int值类型 关于默认值 Integer默认为null int默认为0 为什么把数据实体设计成Integer或者不是int 大叔认 ...
- RDIFramework.NET V3.3 Web版新增系统公告、系统新闻模块方便需要的客户
1.系统新闻功能描述 在RDIFramework.NET V3.3版本中新增了系统新闻模块,用户可以根据实际情况做相应应用,如用在内部业务系统的展示中或网站上新闻的展示.新闻可以分类进行管理,非常的实 ...