初识web自动化测试,快速成长指南

自动化
说明
  • 让机器设备代替人为完成指定目标的而过程
优点
  1. 减少劳动力
  2. 提高效率(批量生产)
  3. 提高产品质量
  4. 规格统一标准
自动化测试
  • 概念 : 让程序代替人工去验证系统功能的过程
自动化测试能解决什么问题?
  1. 解决-回归测试 [重点]
  2. 解决-压力测试
  3. 解决-兼容性测试 (1.浏览器、2.分辨率3.操作系统 )
  4. 提高测试效率,保证产品质量
相关知识

优点

  1. 较少的时间内运行更多的测试用例;
  2. 自动化脚本可重复运行;
  3. 减少人为的错误;
  4. 克服手工测试的局限性;(图片大小)

缺点

  1. 自动化测试可以完全替代手工测试;
  2. 自动化测试一定比手工测试厉害;
  3. 自动化测试可以发掘更多的BUG;
  4. 自动化测试适用于所有功能;

分类

  1. web-自动化测试(本阶段学习)
  2. 移动-自动化测试(app-自动化)
  3. 接口-自动化测试(工具、代码)
  4. 单元测试-自动化测试
Web自动化测试
定义
  • 概念:让程序代替人工自动验证web项目功能的过程
什么Web项目适合做自动化测试?
  1. 需求变动不频繁
  2. 项目周期长
  3. 项目需要回归测试
Web自动化测试在什么阶段开始?
  • 功能测试完毕(手工测试)
    • 此时开始的原因:1.时间问题 2.功能不完善
所属分类
  • 以下分类为站在代码可见度上划分
  • 黑盒测试(功能测试)
    • web自动化测试属于黑盒测试(功能测试)
  • 白盒测试(单元测试)
  • 灰盒测试(接口测试)
Web自动化测试工具选择
主流的Web自动化测试工具

QTP
QTP 是一个商业化的功能测试工具,收费,支持web,桌面自动化测试。

Selenium(本阶段学习)
Selenium 是一个开源的web自动化测试工具,免费,主要做功能测试。

Robot framework
Robot Framework是一个基于Python可扩展地关键字驱动的测试自动化框架。

Selenium
概念
  • Selenium是一个用于web应用程序的自动化测试工具

特点

  • 开源软件:源代码开放可以根据需要来增加工具的某些功能
  • 跨平台: linux、windows、mac
  • 支持多种浏览器: Firefox、Chrome、IE、Edge、Opera、Safari等
  • 支持多种语言:Python、Java、C#、JavaScript、Ruby、PHP等
  • 成熟稳定:目前已经被google、百度、腾讯等公司广泛使用
  • 功能强大:能够实现类似商业工具的大部分功能,因为开源性,可实现定制化功能
环境搭建

基于Python环境搭建

  1. Python开发环境
  2. 安装selenium包
  3. 安装浏览器
  4. 安装浏览器驱动--保证能够用程序驱动浏览器,实现自动化测试

安装selenium包

前提: Python3安装完毕且能正常运行

PIP工具

  • pip是一个通用的Python 包管理工具,提供了对Python 包的查找、下载、安装、卸载的功能。

安装

pip install selenium

卸载

pip uninstall selenium

扩展

  • 安装指定版本pip install seleniur==版本号
  • 如: pip install selenium==2.48.0
  • 如何查看可安装按本? 指定版本号为错误版本号
  • pip是python中包管理工具(可以安装,卸载、查看python工具)
  • pip list:查看通过pip包管理工具安装的插件或工具

提示

  1. 使用pip必须联网
  2. 默认安装python3.5版本以上工具,自带pip包管理(江工具,默认会自动安装并且添加path环境变量

驱动下载

  • 找对应网站

通过Pycharm安装 【推荐】

  • 推荐原因:安装到当前工程环境内。
  • 操作:
    File(文件菜单)-->setting-->Project:当前工程名称-->Project Interpreter-- 点击+号安装相应包和版本

path

  • 说明:指定系统搜索的目录dos命令默认搜索顺序:
    1.检测是否为内部命令

    2.检测是否为当前目录下可执行文件

    3.检测path环境变量指定的目录

提示:

  • 如果以上搜索目录都检测不到输入的命令或可执行文件,系统会抛出不是内部或外部命令...

  • 在web环境中,如果不将浏览器驱动添加到path中,selenium在运行的时候会提示浏览器驱动有误。

案例
  • 通过程序启动浏览器,并打开百度首页,暂停3秒,关闭浏览器通过程序启动浏览器,并打开百度首页,暂停3秒,关闭浏览器
 
  1. # 导包

  2. from time import sleep

  3. from selenium import webdriver

  4. # 获取 火狐浏览器对象

  5. driver = webdriver.Firefox()

  6. # URL 打开百度

  7. driver.get('http://www.baidu.com')

  8. # 暂停3秒

  9. sleep(3)

  10. #退出浏览器驱动

  11. driver.quit()

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/276641.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu 14.04:安装PaddlePaddle(Conda安装)

目录 一、PaddlePaddle 概要 二、PaddlePaddle安装要求 三、PaddlePaddle安装 3.1 安装 Anaconda3 3.2 创建Anaconda虚拟环境(python 3.8) 3.3 进入Anaconda虚拟环境 3.4 检测 Anaconda 虚拟环境配置是否符合PaddlePaddle安装要求 3.4.1 确认 py…

掘根宝典之C++类型别名,关键字typedef,auto,decltype

类型别名 在C中,我们可以使用typedef关键字或using关键字来创建类型别名。下面是两种方式的示例: 使用typedef关键字创建类型别名: typedef int myInt; typedef float myFloat;myInt a;//等价int a; myFloat b;//等价float b; 使用using关…

Python面向对象构造函数:手把手教你如何玩转对象初始化

我们都知道,Python是一个面向对象的语言,这意味着我们可以用类来定义对象的属性和方法。而构造函数,就是当我们创建一个新的对象时,会自动调用的特殊方法。那么,如何玩转这个构造函数呢? 首先,…

YoloV8改进策略:下采样改进|HWD改进下采样

摘要 本文使用HWD改进下采样,在YoloV8的测试中实现涨点。 论文解读 在卷积神经网络(CNNs)中,极大池化或跨行卷积等下采样操作被广泛用于聚合局部特征、扩大感受野和最小化计算开销。然而,对于语义分割任务&#xff…

golang中new和make的区别

1. 先看一个例子 package mainimport "fmt"func main() {var a *int*a 10fmt.Println(*a) }运行结果是啥呢? 问:为什么会报这个panic呢? 答:因为如果是一个引用类型,我们不仅要声明它,还要为…

MySQL 压测与结果分析

文章目录 说明1. 安装部署1.1 二进制包1.2 源码包 2. 服务器性能测试2.1 CPU2.2 内存2.3 磁盘 3. MySQL 基准测试3.1 参数解析3.2 压测命令3.3 输出解读3.4 结果分析 说明 Sysbench 是一个开源的多线程基准测试工具,也是目前使用最多的 MySQL 压力测试工具。本篇文…

JVM是如何运行的

JVM(Java Virtual Machine,Java虚拟机)是 Java 程序的运行环境,它负责将 Java 字节码翻译成机器代码并执行。也就是说 Java 代码之所以能够运行,主要是依靠 JVM 来实现的。 JVM 整体的大概执行流程是这样的&#xff1…

Android cmdline tools安装

打开AS 进入SDK Tools 看到了吗?那个打着勾的就是

Centos8安装Docker,使用阿里云源

一、前期准备 1.关闭防火墙,SELINUX systemctl stop firewalld.service systemctl disable firewalld.service setenforce 0 sed -i "s/SELINUXenforcing/SELINUXdisabled/g" /etc/selinux/config查看状态 systemctl status firewalld systemctl status…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:NavRouter)

导航组件,默认提供点击响应处理,不需要开发者自定义点击事件逻辑。 说明: 该组件从API Version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 必须包含两个子组件,其中第二个子组…

c++入门你需要知道的知识点(上)

🪐🪐🪐欢迎来到程序员餐厅💫💫💫 今日主菜:c入门 主厨:邪王真眼 所属专栏:c专栏 主厨的主页:Chef‘s blog 前言: 咱也是好久没有更…

大数据与云计算

目录 一、大数据时代二、云计算——大数据的计算三、云计算发展现状四、云计算实现机制五、云计算压倒性的成本优势 一、大数据时代 我们先来看看百度关于 “大数据”(Big Data)的搜索指数。 可以看出,“大数据” 这个词是从2012年才引起关注…

flask-sqlalchemy库

彩笔激流勇退。 1. 简介 ORM,对象关系映射。简单来说,ORM将数据库中的表与面向对象中的类建立了一种对应关系。这样,我们要操作数据库,表,记录就可以直接通过操作类或者类实例来完成。 SQLAlchemy 是目前python中最…

面向对象编程第二式:继承 (Java篇)

本篇会加入个人的所谓‘鱼式疯言’ ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人…

【Golang】golang使用三方SDK操作容器指南

【Golang】golang使用三方SDK操作容器指南 大家好 我是寸铁👊 总结了一篇 golang使用三方SDK操作容器✨ 喜欢的小伙伴可以点点关注 💝 这应该是目前全网最全golang使用三方SDK操作容器的指南了✌️ CreateConfig 主要是创建容器的配置信息,常…

uniapp遇到的问题

【uniapp】小程序中input输入框的placeholder-class不生效解决办法 解决:写在scope外面 uniapp设置底部导航 引用:https://www.jianshu.com/p/738dd51a0162 【微信小程序】moveable-view / moveable-area的使用 https://blog.csdn.net/qq_36901092/…

【机器学习】走进监督学习:构建智能预测模型的第一步

🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:机器学习 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进…

go语言基础笔记

1.基本类型 1.1. 基本类型 bool int: int8, int16, int32(rune), int64 uint: uint8(byte), uint16, uint32, uint64 float32, float64 string 复数:complex64, complex128 复数有实部和虚部,complex64的实部和虚部为32位,complex128的实部…

基于Java+SpringBoot+vue+element实现校园闲置物品交易网站

基于JavaSpringBootvueelement实现校园闲置物品交易网站 博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 ** 作者主页 央顺技术团队** 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文章目录 基于…

【Unity】Tag、Layer、LayerMask

文章目录 层(Layer)什么是LayerLayer的应用场景Layer层的配置(Tags & Layers)Layer的数据结构LayerMaskLayer的选中和忽略Layer的管理(架构思路)层碰撞矩阵设置(Layer Collision Matrix&…