思路

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

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

结构

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

.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. Java设计模式小议之1------- 迭代器模式

    定义:提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节. 类型:行为类模式 这里用一个具体的案例来说明一下迭代器模式的简单使用 我们都知道在商店中,经常要把商品放到书架上,并将商品的 ...

  2. HTML 练习拖动面板

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. SQL过滤字符后手工注入漏洞测试(第1题)

    https://www.mozhe.cn/bug/detail/a1diUUZsa3ByMkgrZnpjcWZOYVEyUT09bW96aGUmozhe 分析题目,属于时间盲注,这种情况,通常使用sq ...

  4. Unity的Mesh压缩:为什么我的内存没有变化?

    0x00 前言 最近和朋友聊天,谈到了Mesh的内存优化问题,他发现开启Model Importer面板上的Mesh Compression选项之后,内存并没有什么变化.事实上,期望开启Mesh Co ...

  5. Unity项目开发过程中常见的问题,你遇到过吗?

    最近看到有朋友问一个unity游戏开发团队,需要掌握哪些知识之类的问题.事实上Unity引擎是一个很灵活的引擎,根据团队开发游戏类型的不同,对人员的要求也有差异,所以不能一概而论.但是,一些在Unit ...

  6. Linux 桌面玩家指南:08. 使用 GCC 和 GNU Binutils 编写能在 x86 实模式运行的 16 位代码

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  7. Java基础重要知识点-反射

    反射,如何把.java文件转化为.class文件 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信 ...

  8. Hangfire源码解析-任务是如何执行的?

    一.Hangfire任务执行的流程 任务创建时: 将任务转换为Type并存储(如:HangFireWebTest.TestTask, HangFireWebTest, Version=1.0.0.0, ...

  9. Docker & ASP.NET Core (5):Docker Compose

    第一篇:把代码连接到容器 第二篇:定制Docker镜像 第三篇:发布镜像 第四篇:容器间的连接 Docker Compose简介 Compose是一个用来定义和运行多容器Docker应用的工具.使用C ...

  10. sklearn中的Pipeline

    在将sklearn中的模型持久化时,使用sklearn.pipeline.Pipeline(steps, memory=None)将各个步骤串联起来可以很方便地保存模型. 例如,首先对数据进行了PCA ...