美文网首页软件测试我爱编程
[Py_1]Python+Selenium自动化测试的意义&am

[Py_1]Python+Selenium自动化测试的意义&am

作者: Fighting_001 | 来源:发表于2018-06-17 13:52 被阅读16次

    目录结构

    一、自动化测试的背景&意义
        1.自动化测试的背景
        2.所需的学习内容
        3.学习目标
        4.学习建议
    
    二、Python+Selenium课程目录
        1.自动化测试基础
        2.Selenium IDE应用
        3.Python基础
        4.WebDriver API
        5.自动化测试模型
        6.UnitTest单元测试框架
        7.自动化测试高级应用
        8.自动化测试实战项目
    
    三、自动化测试体系
        1.自动化测试的概念
        2.自动化测试类型(金字塔层次模型)
        3.自动化测试框架模型
        4.适合自动化的项目
        5.自动化测试工具
    
    四、Selenium的三生三世
        阶段1: Selenium 1.0
        阶段2: Selenium 2.0
        阶段3: Selenium 3.0
    

    一、自动化测试的背景&意义

    1.自动化测试的背景

    1)互联网行业:
    a.敏捷开发快速迭代的需要
    b.测试环节中回归测试任务量大、较繁琐;手工测试容易漏测。对于回归测试,通过引入自动化测试,可一定程度上提高测试效率,与手工测试联合保证产品质量
    2)测试人员转型:
    a.随技术不断更新,需要提升个人核心竞争力
    b.企业用人需求,对自动化、性能、接口测试的硬性要求,以及对编码、数据库、服务器等综合应用需求

    2.所需的学习内容

    1)自动化测试概念
    2)自动化测试工具
    3)Python基础语法
    4)Selenium接口
    5)自动化项目实战

    3.学习目标

    1)独立编写脚本,完成基础的自动化测试
    2)利用框架完成自动化测试
    3)构建自动化测试平台
    4)胜任公司Web项目相关自动化测试任务

    4.学习建议

    1)多实践:
    a.跟从教程不断验证学习效果
    b.不断遇到疑难问题,不断想办法去解决实践过程中的问题
    2)多思考、多总结:
    比如对学习过程中的知识点、疑问点进行实践总结,输出个人技术Blog
    3)恒心和毅力:
    坚持!坚持!!坚持!!!
    4)重视基础:
    基础牢靠,持续提升
    5)主动解决问题:
    a.Google、Baidu、Sougou-公众号搜索
    b.Stack Overflow技术论坛
    c.技术交流群、论坛
    d.向身边的技术大牛请教


    二、Python+Selenium2课程目录

    1.自动化测试基础

    1)自动化测试概念
    2)Selenium简介
    3)前端技术简介:Html基础、CSS基础
    4)前端工具介绍:FireBug、FirePath、F12开发者工具
    5)测试环境搭建:工具插件安装、环境配置

    2.Selenium IDE应用

    1)安装与介绍
    2)创建测试用例
    3)常用命令
    4)断言 & 验证
    5)等待 & 变量

    3.Python基础

    1)Python简介
    2)Python安装
    3)Python基础知识

    4.WebDriver API

    1)元素定位
    2)键盘鼠标事件
    3)浏览器窗口控制

    5.自动化测试模型

    1)自动化测试框架与工具设计思想
    2)四大模型:线性测试、模块化驱动测试、数据驱动测试、关键字驱动测试

    6.UnitTest单元测试框架

    1)用例管理与执行
    2)丰富的断言机制
    3)完整的日志

    7.自动化测试高级应用

    1)报告生成
    2)自动发送邮件
    3)设计模式PageObject

    8.自动化测试实战项目

    1)Web自动化测试项目


    三、自动化测试体系

    1.自动化测试概念

    1)概念:以人为驱动的测试行为-->(转换为)-->机器执行的过程
    2)目的:提高测试效率,保证产品质量
    3)注意事项:在可预见的未来,自动化测试不太可能完全取代手工测试;自动化测试也不一定就比手工测试高大上;自动化测试未必会发现更多的Bug

    2.自动化测试类型(金字塔层次模型)
    1)单元自动化测试

    特点:
    a.针对类、方法进行测试
    b.测试效益最大
    c.技术难度要求较高,小型搞死由开发自测为主
    d.测试工具:Junit、TestNginx、Nunit、UnitTest

    2)接口自动化测试

    测试工具:httpUnit、Postman、Jmeter、Fiddler

    3)UI自动化测试

    特点:
    1)对界面元素测试
    2)面向用户,测试工作量占比大
    3)较大程度依赖于界面和模块的稳定性
    4)测试投资回报率(ROI)不高
    5)测试工具:RobtFramework(RF)、Selenium、Appium

    3.自动化测试框架模型

    1)线性测试:独立的功能流程,流水线执行
    2)模块化驱动测试:模块复用
    3)数据驱动测试:参数化
    4)关键字驱动测试:关键字封装。测试工具(QTP、Selenium IDE、RF)

    4.适合自动化的项目

    特点:
    1)需求变动不频繁:以“稳定”为前提的自动化才靠谱
    2)项目周期足够长
    3)项目需要重复回归测试

    5.自动化测试工具

    1)Web端自动化测试:Selenium、RF
    2)PC客户端自动化测试:QTP
    3)APP端自动化测试:Appium、UIautomation、Monkey Runner
    4)接口自动化测试:HttpUnit、Postman、Python
    5)云测平台:Testin、Testbird...


    四、Selenium的三生三世

    阶段1: Selenium 1.0

    本阶段之竞争对手:Web Driver

    • Selenium IDE
      a.Firefox插件,可录制用户的基本操作,生成测试用例
      b.运行所生成的测试用例,在浏览器回放,将测试用例转化为其他语言的自动化脚本

    • Selenium Grid
      允许Selenium RC针对规模庞大的测试案例集or需要在不同环境中运行的测试案例集进行扩展(即:并发测试)

    • Selenium RC
      a.RC(Remote Control),其功能是用来模拟一个浏览器,主要测试Web方面的内容
      b.支持多平台:Windows、Linux、Solaris
      c.支持多浏览器:IE、Firefox、Opera、Safari
      d.支持多语言:Java、Ruby、Python、Perl、PHP、C#,编写测试用例

    不足之处
    a.不支持本机键盘和鼠标事件
    b.不支持同源策略XSS、HTTP(S)
    c.不支持弹出框、对话框(基本身份认证,自签名证书和文件的上传or下载)
    d.不支持并发

    阶段2: Selenium 2.0

    特点:
    1)Selenium 2.0 = Selenium 1.0+WebDriver
    2)基于调用WebDriver API来模拟用户操作
    3)WebDriver的速度更快,因它直接交互使用的浏览器
    4)支持多种编程语言

    阶段3: Selenium 3.0

    特点:
    1)去掉了对Selenium RC的支持
    2)全面拥抱Java 8
    3)支持MacOS(Sierra or later),支持官方的safaridriver
    4)通过ms官方的WebDriver Server支持Edge浏览器
    5)只支持IE9.0以上的版本
    6)通过Mozilla官方的geckodriver来支持Firefox

    PS:
    a.若需要测试Edge或Safari,则更新Selenium到最新版(目前3.0)是必要的
    b.若不需要测试以上浏览器,则可选择稳定性和功能全面综合较优的2.0版本


    参考来源:
    [1] 51自学网-自动化测试教程

    相关文章

      网友评论

        本文标题:[Py_1]Python+Selenium自动化测试的意义&am

        本文链接:https://www.haomeiwen.com/subject/ogfweftx.html