慕旅游网项目实战Web自动化测试
Web自动化测试概述 本节内容 什么是自动化WEB 为什么要做WEB自动化 什么样的项目适合WEB自动化 Web自动化 WEB自动化测试就是把在网页上的人工测试操作转化成用机 器、软件、程序来测试产品的过程 换言之,就是把通过编程实现的测试手段“点点点” 为什么要学习自动化Web 面向用户的自动化“” 弥补单元测试、接口测试的不足 取代部分重复枯燥的操作 测试岗位进阶的趋势 完美自动化的项目WEB 1.任务测试明确,不会频繁变动 2.每日构建后的测试验证 3.比较频繁的回归测试 4.软件系统界面稳定,变动少 5.软件维护周期长 完美自动化的项目WEB 6.被测软件系统开发比较规范,能够保证系统的可测试性 7.测试人员具备较强的编程能力 8.项目进度压力不太大 适合自动化的项目WEB WEB自动化面临的问题 不稳定 难维护 WEB自动化的改进 更优秀的框架设计 更合理的维护方式 更稳健的测试环境 Web自动化测试工具的前世今生 本节内容 软件自动化测试工具的历史演进 软件测试的进化史 自动化测试工具演进 自动化测试发展思路 选择原因Selenium 开源免费 使用灵活、简单 后期用例易于维护 支持多种语言 容易与单元测试框架结合 可支持多浏览器同时,支持远程启动其他服务器 高度复用性 代码可自主掌控,对于搭建框架、平台等有不可替代的优势 python-selenium环境配置搭建 本节内容 PIP安装Selenium 完成第一个脚本selenium 浏览器操作 本节内容 打开关闭浏览器 控制浏览器窗口大小 模拟浏览器刷新 selenium元素定位详解 本节内容 八大元素定位方式 selenium元素及页面操作实战 本节内容 元素简单操作(点击、输入、清除) 鼠标键盘模拟事件 弹出框处理 多页面切换 UI自动化脚本设计常见场景剖析 本节内容 结合旅游网设计自动化测试脚本 PageObject框架设计 本节内容 了解并实现PageObeject自动化设计模式 数据驱动在自动化测试中的应用 本节内容 自动化测试模型介绍 数据驱动的应用 自动化测试模型 线性测试:每个测试脚本相对独立,一个脚本文件都是独立 编写测试内容等,任何一个脚本都可以拿出来单独执行。开 发和维护的成本很高 模块化驱动测试:把重复的操作单独成立公关模块。如登陆 模块,写好之后后续用例只需要调用对应模块即可。较好的 解决了脚本重复问题 自动化测试模型 数据驱动测试:针对测试数据改变而影响数据驱动测试而提 出的。就是将测试数据做成参数化。不仅解决脚本重复的问 题,还增加了可重用性和可维护性。测试数据改的时不需要 修改测试代码 关键字驱动测试:市面的很多工具、平台等都是关键字模式。 将底层代码封装,给用户提供独立的图形界面。减少编写代 码,从而降低脚本的编写难度 数据驱动实践 unittest框架设计应用 本节内容 unittest框架改写实战 测试报告实战 本节内容 通过HTMLTESTRUNNER生成测试报告 接口测试的持续集成 本节内容 通过进行持续集成的自动化测试Jenkins 持续集成思想 持续集成是一种软件开发实践,即团队开发成员经常集成他 们的工作,通过每个成员每天至少集成一次,也就意味着每 天可能会发生多次集成。 每次集成都通过自动化的构建(包括编译,发布, 自动化测试)来验证,从而尽早地发现集成错误。 持续集成核心要素 1. 统一的代码库 2. 自动构建 3. 自动测试 4. 每个人每天都要向代码库主干提交代码 5. 每次代码递交后都会在持续集成服务器上触发一次构建 10. 自动化的部署 持续集成核心要素 6. 保证快速构建 7. 模拟生产环境的自动测试 8. 每个人都可以很容易的获取最新可执行的应用程序 9. 每个人都清楚正在发生的状况 Jenkins介绍 Jenkins 是一个可扩展的持续集成引擎 是所有产品中在安装和配置上最简单的CI 基于访问,用户界面非常友好、直观和灵活Web 主要用于: Jenkins介绍 1. 持续、自动地构建 测试软件项目/ 2. 监控一些定时执行的任务 Jenkins特点 Jenkins是基于开发的Java Jenkins拥有大量的插件,这些插件极大的扩展了Jenkins 的功能,可以直接通过界面来进行安装与管理web 可以快捷的与代码库、集成,执行自动化测试antmaven 但它不仅限于构建基于Java的软件 Jenkins工作原理 UI自动化总结与展望 本节内容 UI自动化总结 自动化测试平台建设思路 UI自动化测试总结 平台设计理念 前后台分离,前台完成关键字设计,后台进行自动化执行Web 基于数据库管理关键字内容 在线操作,在线创建测试用例,在线自定义测试计划UI 可以查看历史运行记录和测试报告