Web 自动化笔记-第一章 Selenium 环境搭建

news2024/11/30 0:49:51

1.自动化测试能解决什么问题?

 

1. 解决-回归测试
2. 解决-压力测试
3. 解决-兼容性测试
4. 提高测试效率,保证产品质量
回归测试: 项目在发新版本之后对项目之前的功能进行验证
压力测试: 可以理解多用户同时去操作软件, 统计软件服务器处理多用户请求的能力
兼容性测试: 不同浏览器(IE、 Firefox、 Chrome) 等等
2. 自动化测试相关知识

优点: 

优点
1. 较少的时间内运行更多的测试用例;
2. 自动化脚本可重复运行;
3. 减少人为的错误;
4. 克服手工测试的局限性;
误区
1. 自动化测试可以完全替代手工测试;
2. 自动化测试一定比手工测试厉害;
3. 自动化测试可以发掘更多的BUG;
4. 自动化测试适用于所有功能;
自动化测试分类
1. Web-自动化测试
2. 移动-自动化测试
3. 接口-自动化测试
4. 单元测试-自动化测试
3. 什么是Web自动化测试
概念: 让程序代替人工自动验证Web项目功能的过程
3.1 什么Web项目适合做自动化测试?
1.需求变动不频繁
2.项目周期长
3.项目需要回归测试
3.2 Web自动化测试在什么阶段开始?
功能测试完毕(手工测试)
3.3 Web自动化测试所属分类
1. 黑盒测试(功能测试)
2. 白盒测试(单元测试)
3. 灰盒测试(接口测试)
Web自动化测试属于黑盒测试(功能测试)
Web自动化测试工具选择
1. 主流的Web自动化测试工具
1. QTP
QTP是一个商业化的功能测试工具, 收费, 支持web, 桌面自动化测试。
2. Selenium
Selenium是一个开源的web自动化测试工具, 免费, 主要做功能测试。
3. Robot framework
Robot Framework是一个基于Python可扩展地关键字驱动的测试自动化框架

Selenium 的特点是什么?

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

Selenium 发展过程

环境搭建 

Python 环境 

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

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

安装浏览器驱动
火狐浏览器
1. Firefox 48 以上版本
selenium 3.x + Firefox驱动(geckodriver)
驱动下载地址: https://github.com/mozilla/geckodriver/releases
2. Firefox 48 以下版本
selenium 2.x + 内置驱动
谷歌浏览器
selenium 2.x/3.x + Chrome驱动(chromedriver)
驱动下载地址: https://sites.google.com/a/chromium.org/chromedriver/downloads

chromedriver版本
2.41
支持的Chrome版本
v67-69

2.40 v66-68
2.39 v66-68
2.38 v65-67
2.37 v64-66
2.36 v63-65
2.35 v62-64
... ...
Edge浏览器(了解)
selenium 3.x + Edge驱动(MicrosoftWebDriver)
驱动下载地址: https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
安装浏览器驱动的步骤
1. 下载浏览器驱动
各个驱动下载地址: http://www.seleniumhq.org/download/
浏览器的版本和驱动版本要一致!
2. 把驱动文件所在目录添加到Path环境变量中
或者直接放到Python安装目录, 因为Python已添加到Path中
2. 入门示例

from time import sleep
# 导包 webdriver
from selenium import webdriver

# 获取 火狐浏览器对象
driver = webdriver.Firefox()

# 获取 谷歌浏览器对象
# driver = webdriver.Chrome()

# 获取 Ie
# driver = webdriver.Ie()

# 打开 百度
driver.get('http://www.baidu.com')

# 暂停 3秒
sleep(3)

# 
driver.quit()


 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

近1500支队伍、6000名开发者齐聚,第三届Light技术公益创造营收官

在很多老年人看来,融入数字生活并不容易,经常误点广告、不时接到诈骗电话、不会操作智能手机……但有些老年人并不担心这些,“误点了付款,有人会打电话过来,提醒我不要被骗了。”一位老人放心地进行着“网上冲浪”。而…

Python程序员该如何提高薪资水平?我来谈谈实用的五大方法

今天我要跟小伙伴们讨论的话题是:Python程序员该如何提升自己的价值?换句话说,程序员该如何逐渐增加自己的薪资?我想这是大家都关心的一个问题。首先,我们要明确一点,程序员的价值所在是什么?关…

深度学习之图像分类(一):AlexNet

本专栏介绍基于深度学习进行图像识别的经典和前沿模型,将持续更新,包括不仅限于:AlexNet, ZFNet,VGG,GoogLeNet,ResNet,DenseNet,SENet,MobileNet&#xff0c…

var、let、const和执行上下文

let/const/var let 基本语法 ES6新增了let命令,用于声明变量,其语法类似于var,但是所声明的变量只在let命令所在的代码块内有效 不存在变量提升 var命令会发生“变量提升”现象,即变量可以在声明之前使用,值为und…

【部署jar包到服务器】

部署打好的jar包到服务器 首先需要安装对应版本的jdk 查看所有可安装的jdk版本 yum -y list java 选择对应的安装 例如 yum install -y java-1.8.0-openjdk-devel.x86_64 安装好之后,查看jdk版本 java -version 默认安装位置在 usr/lib/jvm之中 倘若你之前的版本不对…

引爆海外市场:ChatGPT带来定制化营销活动的奇迹

在定制一场海外营销活动时,需要首先了解海外市场和定制营销活动的关键是研究目标市场的文化和消费习惯。这包括但不限于: 目标市场的语言和文化背景当地消费者的购买习惯和偏好该领域的市场趋势和竞争情况目标市场的法律法规、行业标准和规范推广渠道和…

编译opencv4.7.0 + opencv_contrib 记录

最近一个项目需要涉及到图像拼接算法,网上了解一番,也大致有思路: 1. 利用surf算法查找特征点 2. 过滤掉一些,获取good点 3. 然后进行配准(图像扭曲),对接 4. 形成最终拼接图片 这些工作&a…

NeRF原理简介及实现

“ NeRF(Neural Radiance Fields)是一种先进的计算机图形学技术,能够使用深度全连接神经网络优化场景的连续5D函数表示,从而生成高度逼真的3D场景。该技术的优势在于没有使用离散化的网格或体素来表示场景,而是使用一个…

【Pandas与SQL系列】Pandas实现分布函数percent_rank、cume_dist

目录 1,分布函数,1.1,percent_rank()1.2,cume_dist()1.3 SQL例子 2,Pandas 实现3,补充Pandas实现排序 1,分布函数, 应用场景:快速查看某个记录所归属的组内的比例 分布函数分类及基础语法&…

asp.net952-sqlserver学生成绩信息管理系统开发

本学生管理系统主要学校内部提供服务,系统分为管理员,教师和学生三部分。 本研究课题重点主要包括了下面几大模块:用户登录,管理员管理,教师信息管理,学生信息管理,课程信息管理,考试信息管理,成绩信息管理系统设置等功能。这几个…

基于深度自编码网络实现轴承故障诊断

1.网络模型(数据集为CWRU) 代码实现了一个基于DAE的分类模型,用于对给定数据集进行分类。首先,通过DAE模型对原始数据进行特征提取和降维,然后使用分类模型将提取的特征与标签相匹配,以便对新数据进行分类。 代码的主要流程: 导…

用激光点云估算建筑高度【PDAL|PostgreSQL】

LiDAR 数据可以非常强大地提取城市规模的地面和物体的高程。 在 One Concern,我们正在使用 LiDAR 数据提取地面和建筑物高程,以改进进入我们的自然灾害模型的暴露信息,最终估计洪水和地震的影响。 由于 3DEP 项目预计将在 2023 年之前收集全…

STM32------GPIO

GPIO 一、介绍 1、1 什么是GPIO? 输入输出端口 1、2 GPIO特点 1、不同封装IO数量不一样。 2、快速翻转,每次翻转最快只需要两个时钟周期。 3、每个IO都可以做中断。 4、支持8种工作模式。 1、3 GPIO电气特性 STM32工作电压范围:2~3…

【C进阶】通讯录的实现(静态+动态)

目录 前言: 一.静态通讯录的实现 1.关于通讯录的前期准备 (1)菜单的打印 (2)建立一个联系人的信息 (3)通讯录整体 (4)宏定义常量 (5)主函数菜单选项的功能 2.通讯录的功能实现 (1)初始化通讯录 (2)增加指定联系人 (3) 展示通讯录 "FindByName函数" (4)删…

Autosar 规范接口之SPI

Autosar SPI 概述(Specification of SPI Handler/Driver ) 基础知识介绍 在AutoSar标准中,与SPI通讯相关的三个术语:Channel、Job和Sequence。 1个Channel对应1个发送缓冲区和1接收缓冲区;1个Job对应着1次SPI通讯发送…

(第45册)HTML5网页游戏设计从基础到开发(第2版·微课视频版)

HTML5是W3C组织近年来发布的一项引起业内轰动的Web新标准。它几乎颠覆现有Web应用, HTML5从根本上改变了开发商开发web应用的方式,从桌面浏览器到移动应用,这种语言和标准都正在影响将继续影响着各种操作平台。 本书是第2版,第1版2018年出版,经历6次印刷…

【项目开发】GoFrame+Vue项目部署到阿里云服务器

前言 本来想都用docker部署的,结果学艺实在是不精,只能先这么委曲求全宝塔页面的反向代理一直无法生效,用了重定向跳转页面宝塔的网站也可以构建go项目 背景 后端使用GoFrame框架,前端使用Vue 3 TypeScript Vite,…

Windows Cygwin 配置

Windows Cygwin 配置 一、什么是Cygwin? Cygwin,原Cygnus出品(已被红帽收购),目前是RedHat名下的项目。项目的目的是提供运行于 Windows 平台的类 Unix 环境(以 GNU 工具为代表)。为了达到这个…

learn C++ NO.4 ——类和对象(2)

1.类的6个默认成员函数 1.1.默认成员函数的概念 在 C 中,如果没有显式定义类的构造函数、析构函数、拷贝构造函数和赋值运算符重载函数,编译器会自动生成这些函数,这些函数被称为默认成员函数。 class Date { };初步了解了默认成员函数&am…

pytorch实战10:基于pytorch简单实现CGAN

基于pytorch简单实现CGAN 前言 ​ 最近在看经典的卷积网络架构,打算自己尝试复现一下,在此系列文章中,会参考很多文章,有些已经忘记了出处,所以就不贴链接了,希望大家理解。 ​ 完整的代码在最后。 本系列…