web自动化:

1.测试用例(操作步骤,熟读需求文档,web项目先用手工研究,前置条件,预期结果)

接口自动化测试中数据功能最适合作为数据驱动,数据放在excel中需要操作excel

为什么web自动化测试中不能完全使用数据驱动?

web页面中步骤不一样,而接口完全不关心操作步骤理清思路

2.自动化测试测试典型:

  • 逻辑单一
  • 业务稳定
  • 非多端交互,多端交互涉及到多个子系统这种不适合做web自动化测试

3.开始着手写代码

业务逻辑要和测试逻辑分离

测试代码:

  • 基础类:DoExcel类,中间层:qcdDoExcel(DoExcel),调用的时候更加简单

分层:

  • 采用函数封装
  • 类和对象
  • POM(面试必问)

  PageObject:页面对象模型,本质是把页面逻辑和测试逻辑分离好处是复用性 扩展性和代码可维护性和可读性

  PageObjectModel

  • locator
  • 数据分组:基于数据驱动,想在web中实现数据驱动的模式,最简单的就是数据分组
  • basepage

  ddt本质是保证一个独立的测试用例,动态生成一个测试用例test_bid_error_01 test_bid_error_02

所以ddt中自动创建了n个测试用例

进行excel管理时,实现更多的表单

在原生app中不能用css定位,因为app原生里面不是用html

Select 封装:def get_option(element, id)

显示等待中如果出现的条件没有指定的方法,可以自定义实现

显示等待的原理:看下源代码

def wait(locator):

  time = 0

  while time < time_out:

    e = driver.find_element(locator, time_out, poll_frequncy)

    if not e:

      time.sleep(poll_frequncy)

      time += poll_frequncy

    else:

      break

  return e

selenium可以通过封装js来修改网页

web自动化测试总结的更多相关文章

  1. web自动化工具-开篇

    web自动化工具-开篇 最近几年,前端技术风一样的速度迭代更新,各种框架工具雨后春笋般涌现,作为一个平凡的开发者,也只能在洪流中沉沉浮浮,微不足道,以前前端叫做切图仔.美工,如今改了称号叫前端工程师, ...

  2. web自动化工具-liveStyle

    web自动化工具-liveStyle LiveStyle. The first bi-directional real-time edit tool for CSS, LESS and SCSS主要用 ...

  3. web自动化工具-livereload

    web自动化工具-livereload livereload是一个很神奇的工具,主要解放了F5键,监听文件变动,整个页面自动刷新.可搭载gulp等构建工具使用.和liveStyle 针对样式文件相比, ...

  4. web自动化工具-Browsersync

    web自动化工具-Browsersync browser-sync才是神器中的神器,和livereload一样支持监听所有文件.可是和livereload简单粗暴的F5刷新相比,browsersync ...

  5. Selenium Web 自动化 - 项目实战(三)

    Selenium Web 自动化 - 项目实战(三) 2016-08-10 目录 1 关键字驱动概述2 框架更改总览3 框架更改详解  3.1 解析新增页面目录  3.2 解析新增测试用例目录  3. ...

  6. Web自动化框架LazyUI使用手册(2)--先跑起来再说(第一个测试用例-百度搜索)

    作者:cryanimal QQ:164166060 上篇文章中,简要介绍了LazyUI框架,本文便来演示,如何从无到有快速搭建基于lazyUI的工程,并成功运行第一个测试用例. 本文以百度搜索为例,选 ...

  7. Web自动化框架LazyUI使用手册(1)--框架简介

    作者:cryanimal QQ:164166060 web端自动化简介 web端自动化,即通过自动化的方式,对Web页面施行一系列的仿鼠标键盘操作,以达到对Web页面的功能进行自动化测试的目的. 其一 ...

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

    标题很大,想说的很多,不知道从那开始~~直接步入正题吧 个人也是由于公司的人员的现状和项目的特殊情况,今年年中后开始折腾web自动化这块:整这个原因很简单,就是想能让自己偷点懒.也让减轻一点同事的苦力 ...

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

    1.web测试功能特性 a.功能逻辑测试(功能测试),这一块所有系统都是一致的,比如数据的添加.删除.修改:功能测试案例设计感兴趣和有时间的话可以另外专题探讨: b.浏览器兼容性测试,更重要的是体验这 ...

随机推荐

  1. 9.下载ffmpeg、使QT支持同时编译32位和64位

    1.FFMPEG下载 进入http://ffmpeg.org/download.html,如果下载源码,则在右下方: 如果在linux中,直接输入git clone https://git.ffmpe ...

  2. SQL用于更新ID为顺序ID(用于删除了几条数据导致id不连续)

    UPDATE tab1022zhm SET ID =FROM (SELECT ROW_NUMBER() OVER (ORDER BY id) ROW,comName FROM dbo.tab1022z ...

  3. HTML5总结整理

    (仅供大家学习分享交流) 一.简介 1.前端开发最核心技术 我们知道,用所谓的网页三剑客已经不能满足需求了,那前端开发究竟要学习什么技术呢?网页最 主要由3部分组成:结构.表现和行为.网页现在新的标准 ...

  4. Python中的type(),isinstance,()dir(),的区别

    1.type() type(),获取一个变量的类型,返回值为:<class '类名'>,属于class类型2.isinstance() isinstance(),判断一个对象是否属于某种数 ...

  5. Keepalived之高可用LVS集群

    前文我们聊了下keepalived的邮件通知相关配置,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13645163.html:今天我们来说说keepalive ...

  6. 《Linux 操作系统》Linux的常用命令操作大全

    前言 在学习命令之前先学习我们该如何去学习linux 命令. 几乎每一个命令都有参数,每个参数的含义是什么,我们一般也不是全部都能记住,所以我们必须有一个可以知道每一个命令下各个参数的含义的方法. 命 ...

  7. Shader 001 - 函数造型能力

    0x00 从函数出发 Shader 中的很多效果都是由函数计算得出的,如何更好地理解二者的关系呢.不妨先看看函数是什么?函数的定义可以简单地描述为:给定一个集合 A,对于其中的元素施加法则 f,则可以 ...

  8. [LeetCode] 79. 单词搜索(DFS,回溯)

    题目 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中"相邻"单元格是那些水平相邻或垂直相邻的单元格.同一个单元格 ...

  9. windows下nginx的配置

    这里做的nginx的配置主要的功能是: 能够用localhost访问本地文件夹中的项目 输入ip地址访问本地文件夹中的项目 反向代理其他地址访问本地文件 1.nginx安装地址 2.解压之后的文件如下 ...

  10. 学习 | css3实现进度条加载

    进度条加载是页面加载时的一种交互效果,这样做的目的是提高用户体验. 进度条的的实现分为3大部分:1.页面布局,2.进度条动效,3.何时进度条增加. 文件目录 加载文件顺序 <link rel=& ...