思路

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

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

结构

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

.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. 02. Install redis on Linux

    安装下载redis,参考官方文档:https://redis.io/download 下载: shell>wget http://download.redis.io/releases/redis ...

  2. HTML 练习实现鼠标移到用户图像展示更多信息

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

  3. CODING 研发管理系统上线全球加速,助力企业跨区域协作

    CODING 研发管理系统现已全面支持全类型代码仓库的 全球加速访问. 随着国内互联网红利的日趋枯竭与全球互联网的加速普及.越来越多的企业开始走出国门,将目光投向全世界,搭建跨国体系.跨出国门的中国企 ...

  4. Android Glide详细使用教程

    此处我只是做个记录,后边再补充 原文地址:http://www.jufanshare.com/content/35.html 这篇文章写的比较清楚,还附有Demo代码.算是不错的Android Gli ...

  5. WinForm DataGridView双向数据绑定

    程序目标: 实现DataGridView与BindingList<T>双向绑定.用户通过DataGridView修改值后立即更新BindList对象的值,代码修改BindList后立即更新 ...

  6. 配置IIS网站,我遇到的那些坑~

    配置错误 不能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默认设置的(overrideModeDefault="Deny"),或者是通过包含 over ...

  7. sql xml中 in 的用法

    在xml中,动态传参去数据库查询,下面是in的示例. 比如有条sql SELECT * FROM corp_tax c WHERE c.id in (387419,387423) AND c.corp ...

  8. 不能直接获取?聊聊如何在Shader Graph中获取深度图

    0x00 前言 在这篇文章中,我们选择了过去几周Unity官方社区交流群以及UUG社区群中比较有代表性的几个问题,总结在这里和大家进行分享.主要涵盖了** StreamingAssets.Profil ...

  9. 微信小程序 写一个获取验证码 及setInterval 使用基本方法

    <!--index.wxml--> <view class="container"> <view class="container_cont ...

  10. jquery操作iframe的方法:父页面和子页面相互操作的方法

    今天在弄jquery操作iframe中元素:先由iframe中的子页面b.html给外面的父页面a.html页面传值,再将a.html页面计算机的值放到b.html页面上,这里就用到子页面和父页面相互 ...