当前位置: 首页 > news >正文

测开学习DAY28

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

1章  Web自动化入门

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

一、 自动化相关理论知识

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

(1)解决-回归测试

(2)解决-压力测试

(3)解决-兼容性测试

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

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

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

兼容性测试:不同浏览器(IEFirefoxChrome)等等

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. 第一个案例
# 导包
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()
http://www.dtcms.com/a/605151.html

相关文章:

  • android短视频sdk,灵活集成,快速上线!
  • Android AIDL 的详细讲解和实践指南
  • 制作网站首页教案网站建设外包兼职平台
  • 荆门网站制作网站建设ktv
  • 适合实现多生产者单消费者(MPSC)队列的常见数据结构及其优缺点
  • 【高级机器学习】5. Dictionary learning and Non-negative matrix factorisation
  • PPTX 格式的底层数据结构
  • 前端错误监控与上报:Sentry 接入与自定义告警规则
  • 27.Telnet
  • 多级缓存体系与热点对抗术--速度是用户体验的王道,而缓存是提升速度的银弹
  • CPU 缓存 高并发探索
  • 郑州三牛网站建设企业邮箱号码从哪里查
  • 《C++在量化、KV缓存与推理引擎的深耕》
  • php网站建立教程wordpress 合并js
  • [MSSQL] 读写分离(主从备份)
  • 潮州市住房和城乡建设局网站石英手表网站
  • Spring Boot 应用的云原生 Docker 化部署实践指南
  • tekla 使用笔记 切管 分割指定长度的管
  • 算法(二)滑动窗口
  • 《从根上理解MySQL》第一章学习笔记
  • C++笔记 详解虚基表跟虚函数表
  • 【开源-AgentRL】创新强化学习 多项任务超闭源模型
  • 渝水区城乡建设局网站有哪些wordpress博客
  • 龙岩网站推广软件wordpress文章图片粘贴固定大小
  • 物联网运维中的多模态数据融合与智能决策优化技术
  • lora学习
  • DR模式 LVS负载均衡群集
  • 【计算思维】蓝桥杯STEMA 科技素养考试真题及解析 C
  • openGauss 数据库快速上手评测:从 Docker 安装到SQL 实战
  • ffmpeg离线安装到服务器:解决conda/sudo/无法安装的通用方案