关于《Python自动化测试实战》
作者有话说
笔者写这本书的初心是想通过自身经验分享一些在自动化测试领域中的实用技术,能够帮助那些正在从事自动化测试相关工作或者准备转型自动化测试的测试人员。任何一门技术涵盖的知识点都是非常广泛的,可能并不是一本书就能够写完并且讲解清楚。本书没有太多废话,书中内容基于实战型例子,任何读者对着本书中的示例都可以很快上手学习。书中实战教程设计思路属于一气呵成,从头到尾知识体系版块布局清晰,实操流程表述细致且接地气,可保证大部分读者在阅读本书时比较轻松、愉悦。并不会像市面上有些书籍内容知识点过于分散,操作流程缺失,导致读者实操衔接不上。综上而言,一本真正的好书,内容上一定是朴实,实用,具备一些行业内未曾公开过的知识点。阅读风格上一定是简单易懂,表达接地气。所以,如果你购买了本书,相信在阅读、操练期间一定会有所感触。希望这本书可以帮助到你,也感谢你对我的支持,谢谢!!!
第 1 章 自动化测试理论
引领读者了解实施自动化测试的意义和自动化测试实施过程,为后续学习自动化测试技术抛砖引玉。
第 2 章 Selenium 3 自动化测试实战
涵盖目前主流功能自动化测试工具 Seleneium 3 的应用,讲解了 Selenium 3 自动化测试环境搭建,并结合大量案例来演示多种 Webdriver API 在自动化测试中的应用、unittest 单元测试框架、数据驱动测试(DDT)实战及自动化脚本的数据分离和封装设计实战等,在最后通过一个实战项目讲解如何从 0 到 1 搭建一个丰富且完整的功能自动化测试框架(包含用例组织、数据封装、配置文件管理、日志跟踪、自动生成邮件和持续集成等)。
第 3 章 RobotFramework 自动化测试实战
以 Python 语言为驱动,系统讲解了 Seleneium2Library 库及 Databaselibrary 库在自动化测试中的应用实战,其中包含 Selenium2Library 库和 DatabaseLibrary 库中常用关键字使用案例解析、关键字封装、项目分层设计与开发实战等,最后结合 Jenkins 实现持续集成,输出自动化测试报告。掌握本章后,读者可以独立开展自动化测试任务。
第 4 章 接口测试基础
以接口测试理论为切入点,系统地讲解接口定义、接口测试流程及接口测试用例设计原则和注意事项,重点讲解了 HTTP 及在接口测试中的重要性。在本章最后阐述了接口测试工作中绕不开的话题,即 Cookie 和 Session 的工作原理。
第 5 章 Charles 抓包工具实战
系统地讲解主流抓包工具 Charles 在实际工作中的应用。通过本章,读者可以掌握Charles 工具配置、设置代理、计算机端抓包设置及手机端抓包设置、Charles 常见问题以及 Charles 在接口测试中的应用等,了解 Charles 抓包工具在接口自动化测试中的重要性。
第 6 章 Postman 接口测试高级实战
以 Postman 接口测试工具(Collections、Runner、Code、Globals 等)核心功能为出发点,重点讲解如何使用 Postman 处理 HTTP 请求和 WebServices 请求案例,以及在接口测试过程中如何设置接口断言、处理数据转换(JSON 和 XML)、解决动态参数的依赖和调用、分离公共数据、转换多种编程语言测试脚本等。本章最后通过 Newman+Jenkins+Postman 实现持续集成,可以定时接口自动化测试任务。
第 7 章 Python 接口自动化测试实战
系统讲解使用 Requests 模块实现接口自动化测试。从 Requests 模块常用示例(GET、POST、JSON、Requests Headers、Response 等)入手,围绕 Cookie、Session、Token、上传文件、序列化和反序列化等案例开展接口测试。最后结合 Python 3+Requests+unittest 讲解接口自动化测试框架的设计和开发思路。
第 8 章 RobotFramework 接口自动化实战
系统讲解 Collections 库、ExcelLibrary 库、RequetsLibrary 库中常见关键字在接口测试中的使用。此外,还涉及如何使用 ExcelLibrary 库进行测试数据的维护和管理、封装并调用接口关键字,以及测试数据与业务分离等。掌握本章后,读者可以使用 RobotFramework 工具开展接口自动化测试任务。
第 9 章 Appium 自动化测试实战
系统地讲解了 Appium 移动端自动化测试环境的搭建,结合丰富的案例基于 Android 操作平台演示 WebDriver 在实际工作中的应用,主要内容包括自动化截图实战、滑动实战、多点触控实战、键盘事件、等待函数实战等及使用 Appium 测试框架完成一个自动化项目实战脚本的演示(涵盖需求分析→自动化用例设计→脚本编写→脚本封装重构→测试案例运行及分析等)。掌握本章后,读者可以独立开展移动端自动化测试任务。
第 10 章 Git 版本控制工具实战
通过实际案例来演示 Git 在项目管理中的应用,包括版本库创建、文件提交和跟踪管理以及版本回退等。此外,还涉及 GitHub 配置及远程库的添加和远程克隆等操作。随着企业内部技术的不断升级和调整,掌握 Git 工具的使用方法是测试人员的必备技能之一。
写在最后
本书是笔者的第一本书,在写作过程中,受成书时间所限,本书难免存有疏漏和不当之处,还请读者指正。此外,由于出版社印刷时间的变更,导致本书中部分内容没来得及更新,会有些小错误,作者已将书中的错误更新至GitHub中。已经购买本书的读者在阅读过程中如果发现书中的错误,请加作者微信及时与我联系,我将十分感谢你!!!
本书购买链接:http://product.dangdang.com/28496655.html
关于《Python自动化测试实战》的更多相关文章
- 关于<meta NAME="keywords" CONTENT="">
昨天终于以实习身份入职一家小创业公司,今天让我多看看别人的网页怎么写的,发现了一个以前都没关注过的东西. <meta name="keywords" content=&quo ...
- 转 :meta name的含义:<META http-equiv=Content-Type content="text/html; charset=gb2312">
meta是什么?meta其实是html语言head区的一个辅助性标签.在几乎所有的网页里,我们都可以看到类似下面这段html代码:<META http-equiv=Content-Type co ...
- HTML <meta> 标签 遇到<meta http-equiv="refresh" content="0; url=">详解
页面定期刷新,如果加url的,则会重新定向到指定的网页,content后面跟的是时间(单位秒),把这句话加到指定网页的<head></head>里一般也用在实时性很强的应用中, ...
- 转 【<meta name="description" content=">】作用讲解
今天在看别人写的网站代码,发现类似<meta name="Keywords" content="" >.<meta name="De ...
- <head>中<meta name="viewport" content="width=device-width,initical-scale=1"的作用>
<meta name="viewport" content="width=device-width,initical-scale=1"的作用> co ...
- 关于<meta http-equiv="X-UA-Compatible" content="IE=edge" />问题
我在做网页过程中都是在火狐浏览器下进行的,可是有一次我在IE浏览器下打开时却发现我设置的style.css中的大部分样式都失效率了,这个问题足足困扰了我两天,终于在百度的帮助下找到了答案,原来在网页的 ...
- 优先使用最新版本的IE 和 Chrome 内核 1 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
兼容模式 优先使用最新版本的IE 和 Chrome 内核 1 <meta http-equiv="X-UA-Compatible" content="IE=edge ...
- 论meta name= viewport content= width=device-width initial-scale=1 minimum-scale=1 maximum-scale=1的作用
一.先明白几个概念 phys.width: device-width: 一般我们所指的宽度width即为phys.width,而device-width又称为css-width. 其中我们可以获取ph ...
- meta name="viewport" content="width=device-width,initial-scale=1.0" 解释
<meta name="viewport" content="width=device-width,initial-scale=1.0"> c ...
- <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 的说明
X-UA-Compatible是针对ie8新加的一个设置,对于ie8之外的浏览器是不识别的,这个区别与 content="IE=7"在无论页面是否包含<!DOCTYPE> ...
随机推荐
- 李瑞红 201771010111《面向对象程序设计(java)》第一周学习总结
李瑞红 201771010111<面向对象程序设计(java)>第一周学习总结 第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.c ...
- 数据库-Mysql语句
Mysql语句 不定时更新 1.数据库相关的语句 /* 数据库操作 */ ------------------ -- 启动MySQL net start mysql -- 接与断开服务器 mysql ...
- DNS提供的服务
DNS提供的服务 DNS是:1.一个由分层的DNS服务器实现的分布式数据库:2. 一个使主机能够查询分布式数据库的应用协议.DNS协议运行在UDP上,使用53号端口. 与http,FTP,SMTP协议 ...
- Smallest Range II
2020-01-21 21:43:52 问题描述: 问题求解: 这个题目还是有点难度的,感觉很巧妙也很难想到. 整体的思路如下: 1. 首先原问题等价于 +0 / + 2*K 2. 那么res = M ...
- 概率-Knight Probability in Chessboard
2018-07-14 09:57:59 问题描述: 问题求解: 本题本质上是个挺模板的题目.本质是一个求最后每个落点的数目,用总的数目来除有所可能生成的可能性.这种计数的问题可以使用动态规划来进行解决 ...
- 一夜搞懂 | JVM GC&内存分配
前言 本文已经收录到我的Github个人博客,欢迎大佬们光临寒舍: 我的GIthub博客 学习导图 一.为什么要学习GC&内存分配? 时代发展到现在,如今的内存动态分配与内存回收技术已经相当成 ...
- OpenCV-Python 图像的几何变换 | 十四
目标 学习将不同的几何变换应用到图像上,如平移.旋转.仿射变换等. 你会看到这些函数: cv.getPerspectiveTransform 变换 OpenCV提供了两个转换函数cv.warpAffi ...
- 一、配置Ubuntu网络设置大纲
root@ubuntu:为我的Ubuntu系统,即 用户名@主机名: 1.改主机名 ifconfig查询本机IP地址vim /etc/hostname进入i编辑更改,改完按esc键 然后:wq!保存 ...
- coding++ :Layui-监听事件
在使用layui的form表单做验证提交的时候,如果结合vue,或者是三级联动的时候,就需要做事件监听了. 具体语法: form.on('event(过滤器值)', callback); 可以用于监听 ...
- flask中 多对多的关系 主从表之间的的增删改查
# 角色表模型class Role(db.Model): r_id = db.Column(db.Integer, primary_key=True) r_name = db.Column(db.St ...
