Web自动化框架搭建——前言

1.web测试功能特性

a.功能逻辑测试(功能测试),这一块所有系统都是一致的,比如数据的添加、删除、修改;功能测试案例设计感兴趣和有时间的话可以另外专题探讨;

b.浏览器兼容性测试,更重要的是体验这块,想提供建设性建议,是建立在业务场景、用户使用的深刻理解基础上,然后对产品目规划理解是否合理,提出自己的看法与想法;体验这块,一定要有一个比较全局的概念,换个意思说,就是应该站在产品经理的角度去看系统,看系统的各个子功能、各个子功能协调是否合理、是否还有更优建议、而不仅仅只局限一个界面、一个菜单、一个下拉列表、一个按钮样式与颜色;

c.页面链接测试,有效性链接测试和可跳转链接测试(可跳转链接测试,一般涉及到接口测试);

d.接口测试,接口测试有效性、业务一致性、接口兼容性等;

e.bi数据统计与数据指标准确性验证,涉及到bi验证;有两种方案,一种是跟着数据流(流向测试),这种特别适合大数据分析与统计,比如用到hadoop、storm等开源框架后台;另外一种是不管数据流与数据处理过程,只统计端到端的数据,具体就是测试自己写统计sql或shell与界面展示对比,这种适合轻量级数据统计,比如一般后台数据统计、结算等等;

f.安全测试,安全对于web来说,是一道绕不过去的坎;首先,看web用到的那些:传输协议(http、https)、操作系统(linux等)、中间件(容器、数据库等)、应用层(业务模块)、浏览器;每一个环节都可能出问题,导致数据信息泄露什么的;web安全也是炙手可热的,https://www.owasp.org/ (owasp)还公布了每年度web安全问题top10,有兴趣可以关注与查阅;这里不详细说安全测试的具体测试方法与步骤,测试的话,就详细说说那些地方很容易出现问题,特别需要留意和关注的。(cookie的使用、token生成规则、登录的提交方式、上传文件后台验证、文件下载控制、界面输入文本框的xss跨站屏蔽与过滤、界面输入文本框sql的过滤、linux后台对上传目录权限设置、前端或后端主流框架struts2、jquery版本问题、敏感信息传输协议选择、数据库密码算法与机制等等)

ps:这一块,渗透团队有多,水很深;感兴趣的童鞋可以一起探讨与交流。楼主还只是个门外汉~~

g.性能测试,这里就不详细阐述,最能体现测试人员技术水平的专题。

2.框架设计

这里,主要探讨的是web做自动化这块,主要要解决哪些问题,要达到什么样的目标;前面列的a、b、c、e都需要满足、都能解决的框架才可能算的上好框架。

这套框架目标清楚了,框架的思想目前有两种,一种是基于数据驱动思想、一种是基于关键字驱动的思想;这里我选择了数据驱动。

3.框架是什么样的

web自动化主要实现的功能自动化,和浏览器兼容;所以把这里抽象出来的话,大概可以分下面几个层:

浏览器->页面对象->页面功能(链接、表单查询)->页面功能验证

再结合自动化运行环境与监控维护,在详细可以分下面几个层:

浏览器->页面对象->页面功能(链接、表单查询)->页面功能验证->测试结果输出->测试报告->自动化创建缺陷->自动验证

4.框架怎么做

环境&语言:selenium2.0+python2.7

a.环境搭建

b.实现基于数据驱动的case

c.详细的话,到时候一个层面一篇帖子详细说明~~

5.后续

做自动化的很多,能用起来的不多;做接口工具的很多,能通用的不多。

今年,就两个目标,完成这套自动化框架并上线实用,外加开展一次系统完全性测试专题或完成一个接口测试工具。

备注:因为都是现码的,可能思路不太条理与清晰;说的,都是自己的认识或看法,也会存在狭隘或不详细的地方,说的不对的地方欢迎指正~~也欢迎同学关注~~

时间: 2024-10-11 00:33:56

Web自动化框架搭建——前言的相关文章

Web自动化框架搭建之二基于数据驱动应用简单实例~~

整体框架,先划分成细小功能模块~~,从最简单的开始,介绍 实现循环百度搜索实例: #coding=utf-8 '''Created on 2014??6??9?? @author: 小鱼'''import xlrdfrom selenium import webdriverimport time #excelFile文件物理地址 book=xlrd.open_workbook("E:\Users\Administrator\workspace\SeleniumTest\excelFile.xls

基于Selenium的web自动化框架

1 什么是selenium Selenium 是一个基于浏览器的自动化工具,它提供了一种跨平台.跨浏览器的端到端的web自动化解决方案.Selenium主要包括三部分:Selenium IDE.Selenium WebDriver 和Selenium Grid: Selenium IDE:Firefox的一个扩展,它可以进行录制回放,并可以把录制的操作以多种语言(例如java,python等)的形式导出成测试用例. Selenium WebDriver:提供Web自动化所需的API,主要用作浏览

Web自动化框架之五一套完整demo的点点滴滴(excel功能案例参数化+业务功能分层设计+mysql数据存储封装+截图+日志+测试报告+对接缺陷管理系统+自动编译部署环境+自动验证false、error案例)

标题很大,想说的很多,不知道从那开始~~直接步入正题吧 个人也是由于公司的人员的现状和项目的特殊情况,今年年中后开始折腾web自动化这块:整这个原因很简单,就是想能让自己偷点懒.也让减轻一点同事的苦力活:对于自动化测试与人工测试优缺势的问题,这里不想深入讨论,开一个博客收集一些观点然后开个讨论组讨论效果可能会更好. 标题上列的,是自己对web自动化这块统一的一个想象或是一套完整的自动化应所包含的的部分,目前完成了excel功能案例参数化+业务功能分层设计+mysql数据存储封装+截图+日志+测试

web自动化框架之四测试报告的搭建

现状: 看过前面的文章,楼主用的是python,所以在搭建测试报告这块的时候使用的是unittest+htmlTestRunner:然后发现生成出来的报告,总是有那么不完美的地方,比如想增加图片,比如显示风格改变下:然后尝试性的去修改了一个htmlTestRunner源码,虽然图片出来了,显示风格修改不了...so...萌生的弃意... 问题: 1.unittest unittest当案例异常或脚本执行异常时,无法继续执行下个案例~,比如登录时,后台服务异常.登录用户无菜单权限异常.新增用户状态

MACACA自动化框架搭建

本文是基于Windows系统搭建macaca+python+Android框架的过程和踩坑记录(Linux的以后再研究),有兴趣的同学可以一起交流学习一下 macaca简介: https://macacajs.github.io/zh/environment-setup macaca是由阿里巴巴公司开发的一套自动化解决方案,开源地址:https://github.com/macacajs/ 其适用于PC端和移动端 基本环境: JDK的安装及环境配置:(1.8) Node.js的安装及环境配置:(

【JavaWeb】Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架(前言)

一直希望能够搭建一个完整的,基础Web框架,方便日后接一些外快的时候,能够省时省力,终于花了一周的时间,把这个东西搞定了.特此写下此博客,一来是纪念,二来是希望能够为别人提供方便.顺带说一下,恩,组合框架的各个部分用的版本有的是最新的,有的则不是,不敢保证最新版本下,按照这个整合方式,不会报错... 简单介绍一下,本框架的基本功能点: Spring:整个框架的主体部分,这个自不用说. SpringMVC:MVC部分我还是比较喜欢Spring的. MyBatis:选型的时候选择这个ORM主要也是考

Selenium + python的自动化框架搭建

selenium是一个web的自动化测试工具,和其它的自动化工具相比来说其最主要的特色是跨平台.跨浏览器.支持windows.linux.MAC,支持ie.ff.safari.opera.chrome等.此外还有一个特色是支持分布式测试用例的执行,可以把测试用例分布到不同的测试机器的执行,相当于分发机的功能. 关于selenium的原理.架构.使用等可以参考其官网的资料,这里记录如何搭建一个使用python的selenium测试用例开发环境.其实用python来开发selenium的方法有2种:

appium+Java+testng自动化框架搭建-第一季

app自动化越来越火,随着移动app的不断发展,手机端测试日益火爆,想成为一个高级软件测试工程师必须要掌握,那么我们今天就来搭建appium+Java+testng自动化测试框架. Appium环境搭建(Windows版) 在网络上看到很多教程,今天安装了appium,把安装过程详细记录一遍,如下图: 我的电脑环境是win7 64位 注:appium安装到C盘,node.js安装到C盘 一.安装node.js 1.安装node.js nodejs 官网下载地址:https://nodejs.or

web自动化框架之三获取数据库值与界面值比较~~

数据库用到的是mysql,框架涉及数据库,主要包含两个方面,一个是每个案例执行完毕后,插入案例相关信息与数据:一个是web界面数据核对的时候,需要从sql中获取某行某列值与界面某个值做比较. 描述:web很大一部分的测试,就是对比界面上面的数据信息是否准确:比如一些简单数据的统计.数据的基本信息.也包括数据转换的数据(0:正常,1:停用);但是考虑web数据核对的时候,主要有两个方案,一个是初始化一批数据,然后拿界面数据与初始化数据做比较:第二中是直接拿数据库中相关信息数据,然后再和界面做一个对