思路

分离业务代码和测试数据,提高代码可维护性,实现自动化,减少重复劳动。

一个测试框架大概由配置文件,测试数据,测试用例,相关文件(发送邮件等),测试日志,断言和测试报告等模块组成。

结构

以页面为基本单位进行构建自动化脚本。如下图

.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-测试框架搭建(十三)的更多相关文章

  1. selenium测试框架使用xml作为对象库

    之前已经写过一篇: selenium测试框架篇,页面对象和元素对象的管理 上次使用的excel作为Locator对象管理,由于excel处理不够方便,有以下缺点: 不能实现分page 加载Locato ...

  2. selenium测试环境搭建(一)

    selenium测试环境搭建 下载资源 1.  selenium-java-2.53.0.zip 下载地址:http://pan.baidu.com/s/1dFDf27Z 2. Firefox Set ...

  3. 『心善渊』Selenium3.0基础 — 2、Selenium测试框架环境搭建(Windows)

    目录 1.浏览器安装 2.浏览器驱动下载 (1)ChromeDriver for Chrome (2)Geckodriver for Firefox (3)IEDriverServer for IE ...

  4. selenium 测试框架中使用grid

    之前的测试框架:http://www.cnblogs.com/tobecrazy/p/4553444.html 配合Jenkins可持续集成:http://www.cnblogs.com/tobecr ...

  5. selenium测试框架篇,页面对象和元素对象的管理

    前期已经做好使用Jenkins做buildhttp://www.cnblogs.com/tobecrazy/p/4529399.html 做自动化框架,不可避免的就是对象库. 有一个好的对象库,可以让 ...

  6. Spring TestContext测试框架搭建

    同样是测试,JUnit和Spring TestContext相比,Spring TestContext优势如下: 1.Spring TestContext可以手动设置测试事务回滚,不破坏数据现场 2. ...

  7. selenium测试框架篇

    做自动化框架,不可避免的就是对象库. 有一个好的对象库,可以让整个测试体系: 更容易维护 大大增加代码重用 增加测试系统的稳定性 这里先了解一下我所说的对象库: 所谓的页面对象,是指每一个真是的页面是 ...

  8. Java 使用POI操作EXCEL及测试框架搭建、测试开发的一些想法

    无论是UI自动化测试还是接口自动化测试都需要进行数据驱动,一般很常见的一种方式就是用excel来管理数据,那么就涉及到一些代码对EXCEL的操作,之前我们介绍过用CSV来处理EXCEL,但是它的功能还 ...

  9. [技术博客]基于动态继承类、WebDriver的浏览器兼容性测试框架搭建

    问题背景 观察使用selenium进行自动化测试的过程,我们可以将它概述为: 启动测试进程,在该进程中构建WebDriver 启动浏览器进程,将它与WebDriver建立连接 使用WebDriver向 ...

随机推荐

  1. 一张图看懂 SQL 的各种 join 用法

    下图展示了 LEFT JOIN.RIGHT JOIN.INNER JOIN.OUTER JOIN 相关的 7 种用法.   具体分解如下: 1.INNER JOIN(内连接)     2.LEFT J ...

  2. Windows Server 2016-启用默认Windows搜索服务

    当我们使用Windows Server 2016尝试从开始菜单或基于Windows Server 2016的计算机上的Cortana 搜索时,我们不会收到任何结果或不一致的结果. 原因 默认情况下, ...

  3. Storm入门(七)可靠性机制代码示例

    一.关联代码 使用maven,代码如下. pom.xml  参考 http://www.cnblogs.com/hd3013779515/p/6970551.html MessageTopology. ...

  4. java.lang.ClassNotFoundException: org.I0Itec.zkclient.IZkStateListener异常解决

    在启动Dubbo项目时,出现该异常 java.lang.ClassNotFoundException: org.I0Itec.zkclient.IZkStateListener 解决,引入 <d ...

  5. Java转PHP的心路历程

    首先,我要批评一下自己,已经好久没发博客了.总是拿奇奇怪怪的理由来妨碍自己写博客. emmmm,现在心里舒服一点了. 前提 在2018年的11月7号,我从广州跳槽到一个三线的小城市工作.跳槽原因比较羞 ...

  6. 【深度学习】--GAN从入门到初始

    一.前述 GAN,生成对抗网络,在2016年基本火爆深度学习,所有有必要学习一下.生成对抗网络直观的应用可以帮我们生成数据,图片. 二.具体 1.生活案例 比如假设真钱 r 坏人定义为G  我们通过 ...

  7. linux日常服务器部署一些命令使用

    今天公司的开发环境的linux服务器,我要了一个账号来玩玩 拿到账号和密码,我就用xshell登陆上去 1.查看已挂载的分区列表 df -h 显示已经挂载的分区列表 2.查看目录中的文件 ls 查看目 ...

  8. 让ASP.NET Core支持GraphQL之-GraphQL的实现原理

    众所周知RESTful API是目前最流行的软件架构风格之一,它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制. RESTful的优越性是毋庸置疑 ...

  9. RDIFramework.NET V3.3 WinForm版角色授权管理新增角色对操作权限项、模块起止生效日期的设置

    在实际应用在我们可能会有这样的需求,某个操作权限项(按钮)或菜单在某个时间范围内可以让指定角色访问.此时通过我们的角色权限扩展设置就可以办到. 在我们框架V3.3 WinForm版全新增加了角色权限扩 ...

  10. Java基础系列-equals方法和hashCode方法

    原创文章,转载请标注出处:<Java基础系列-equals方法和hashCode方法> 概述         equals方法和hashCode方法都是有Object类定义的. publi ...