测开学习DAY28

黑马程序员网课学习(web自动化测试)

1Web自动化入门

目标:

  1. 理解自动化测试的相关概念
  2. 了解 Selenium 的特点
  3. 掌握如何搭建 web 自动化测试的相关环境
  4. 熟练掌握 web 自动化测试脚本编写的基本步骤

一、 自动化相关理论知识

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

(1)解决-回归测试

(2)解决-压力测试

(3)解决-兼容性测试

(4)提高测试效率,保证产品质量

回归测试:项目在发新版本之后对项目之前的功能进行验证

压力测试:可以理解多用户同时去操作软件,统计软件服务器处理多用户请求的能力

兼容性测试:不同浏览器(IE、Firefox、Chrome)等等

2.自动化测试优点与误区

优点:

  1. 在最短时间内运行最多的bug

  2. 脚本重复运行

  3. 减少人为错误

  4. 克服手工测试局限性(图片大小)

误区:

  1. 自动化测试比手工厉害

  2. 自动化测试比手工发现更多bug

  3. 自动化测试可以完全替代手工测试

  4. 软件所有功能都适合自动化测试。

3.自动化测试分类
  1. Web自动化测试【本阶段学习】

  2. 移动自动化测试(app自动化)

  3. 接口自动化(工具、代码)

  4. 单元测试

4.web自动化测试

4.1 概念:让程序代替人为对web项目进功能验证过程

4.2 什么web项目适合自动化?

  1. 需求变动不频繁

  2. 需要回归测试项目

  3. 项目周期长

4.3 web自动化开始进行阶段?

手工测试之后(1. 时间问题 2. 功能不完善)

4.4 web自动化所属分类

  1. 黑盒测试

  2. 灰盒测试

  3. 白盒测试

提示:

  1. 以上分类为站在代码可见度上划分

  2. web自动化测试属于黑盒测试(功能测试)

二、自动化工具

1. 主流自动化工具
  1. QTP: 收费 支持(支持web、桌面软件自动化)

  2. selenium: 免费 开源 只支持web项目 【本阶段学习】

  3. Robot framework: 基于python扩展关键字驱动自动化工具。2014年停止更新

2. 什么是selenium

一个web自动化测试工具, 中文的意思:硒

3. 特点
  1. 开源、免费

  2. 跨平台(Linux windows mac)

  3. 支持多浏览器:谷歌 火狐 IE

  4. 支持多语言:python、java...等等

  5. 成熟稳定:已经被 谷歌、百度大型公司广泛使用

  6. 功能强大:支持商业化大部分功能,并且由于开源,可以定制化需求功能。

4. slenium家族介绍

版本:

selenium1.0

  1. selenium IDE (录制自动化代码工具)

  2. selenium Grid (分布式工具:同时启动多个浏览器)

  3. selenium RC(通过JS模拟浏览器,实现自动化方式)

selenium2.0(稳定推荐版)

selenium2.0 = selenium1.0+webdriver

selenium3.0

2.0升级版,支持JAVA8、woindows10 Edge浏览器、safa浏览器

提示:无论是通过2.0还是3.0编写的自动化脚本,API方法是不变的,唯一不同就是环境不同。

三、环境搭建

1. 安装selenium

1). 通过pip包管理工具去安装

安装: pip install selenium

查看:pip show selenium

卸载:pip uninstall selenium

扩展:

  1. 安装指定版本 pip install selenium==版本号 如:pip install selenium==2.48.0

  2. 如何查看可安装按本? 指定版本号为错误版本号

  3. pip是python中包管理工具(可以安装,卸载、查看python工具)

  4. pip list:查看通过pip包管理工具安装的插件或工具

提示:

  1. 使用pip必须联网

  2. 默认安装python3.5版本以上工具,自带pip包管理工具,默认会自动安装并且添加path环境变量

2). 通过pycharm去安装【推荐】

推荐原因:安装到当前工程环境内。

操作:

File(文件菜单)-->setting-->Project: 当前工程名称-->Project Interpreter--点击+号安装相应包和版本

提示:如果使用pip install 插件名 安装过后,打开pycharm,导包操作时,提示找不到此包,那就说明使用pip install 默认安装的路径和当前工程所有的环境路径不是同一个环境,进行以上处理可以解决问题。

2. 浏览器及驱动安装

浏览器:

火狐:可以官网或百度获取浏览器版本。

谷歌:通过百度。

驱动:

  1. 火狐:https://github.com/mozilla/geckodriver/releases/

  2. 谷歌:http://chromedriver.storage.googleapis.com/index.html

应用:

  1. 将浏览器驱动放到指定文件夹

  2. 将浏览器驱动所在目录添加到系统path环境变量中

(选中我的电脑/此电脑-右键-->属性-->高级系统设置-->高级(环境变量)-->path(如果是wind7路径与路径之间需要添加分号))

注意:

  1. 浏览器驱动必须和浏览器版本对应(查看下载驱动时,有告知响应的浏览器版本)

  2. 获取浏览器48版本以下,内置驱动。

3. 科普path

说明:指定系统搜索的目录

dos命令默认搜索顺序:

  1. 检测是否为内部命令

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

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

提示:

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

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

4. 第一个案例
python 复制代码
# 导包
from selenium import webdriver
import time
# 创建浏览器驱动对象
driver = webdriver.Firefox()
# driver = webdriver.Chrome()
# driver = webdriver.Edge()
# 加载web页面
driver.get("http://www.baidu.com/")
# 暂停3秒
time.sleep(3)
# 关闭驱动对象
driver.quit()
相关推荐
Lynnxiaowen2 小时前
今天我们开始学习ansible之playbook的简单运用
linux·运维·学习·云计算·ansible
心无旁骛~2 小时前
MotionTrans: 从人类VR数据学习机器人操作的运动级迁移
学习·机器人·vr
敲敲了个代码2 小时前
11月3-5年Web前端开发面试需要达到的强度
前端·vue.js·学习·react.js·面试·职场和发展·web
提娜米苏3 小时前
Bash Shell脚本学习——唇读数据集格式修复脚本
开发语言·学习·bash
青衫码上行4 小时前
【Java Web学习 | 第十篇】JavaScript(4) 对象
java·开发语言·前端·javascript·学习
淮北4944 小时前
linux系统学习(10.shell基础)
linux·运维·服务器·学习
zhangfeng11335 小时前
学习文本大模型的学习路径,各种大模型对比和分类以及各个大模型对硬件的要求,开源大模型有哪些
学习·分类·开源
青衫码上行5 小时前
【Java Web学习 | 第九篇】JavaScript(3) 数组+函数
java·开发语言·前端·javascript·学习
峥嵘life7 小时前
Android16 更新fastboot版本解决fastbootd模式识别不到设备问题
android·学习