新書推薦:
《
易经今解:释疑·解惑·见微
》
售價:HK$
88.5
《
东欧史(全二册)-“中间地带”的困境
》
售價:HK$
221.8
《
虚拟资本:金融怎样挪用我们的未来
》
售價:HK$
77.3
《
刻意练习不生气
》
售價:HK$
39.2
《
大宋理财:青苗法与王安石的金融帝国(全彩插图本)
》
售價:HK$
109.8
《
安全感是内心长出的盔甲
》
售價:HK$
67.0
《
快人一步:系统性能提高之道
》
售價:HK$
110.9
《
算法图解(第2版)
》
售價:HK$
78.2
編輯推薦:
1.详细解读Python与自动化测试基础知识2.深入讲解自动化测试使用原理及项目实战3.解析自动化测试效率提高方案4.详细讲解官方推荐框架unittest及pytest5.扩展持续集成、提升自动化效率等内容拓展读者视野6.提供图书中的源代码及学习资料
內容簡介:
《Python实现Web UI自动化测试实战:Selenium 3/4+unittest/Pytest+GitLab+Jenkins》主要介绍如何基于Python使用Selenium、unittest、Pytest、GitLab、Jenkins等工具实现Web UI自动化测试,以帮助读者提升测试水平。《Python实现Web UI自动化测试实战:Selenium 3/4+unittest/Pytest+GitLab+Jenkins》第1章简要介绍自动化测试的相关概念和思路、Selenium的特点和发展历史、WebDriver的原理,以及Selenium IDE的简单应用。第2章和第3章介绍与Python相关的基础知识,为后续内容的讲解做准备。第4章~第15章详细介绍使用各种框架进行自动化测试的方法和实战案例,帮助读者进一步掌握自动化测试技能。第16章从实际情况出发,介绍提升自动化测试用例执行效率的几种常见方法,供读者在实际操作中参考。本书适合计算机相关专业的学生、测试行业的从业人员和希望提升自动化测试实战水平的技术人员阅读。
關於作者:
Storm(杜子龙),先后就职于华为、联想、Aicent、国能信息等公司,拥有十余年的软件测试从业经验,对接口测试、UI 自动化测试、性能测试等均有一定积累,曾参与Android OS 系统、医疗SaaS系统、商旅系统等多个大型项目。李鲲程,黑龙江人,毕业于北京邮电大学,软件工程硕士。现就职于中国信息通信研究院数据研究中心大数据技术部,高级工程师。长期从事软件开发、大数据系统运维与数据分析等工作。著有《Visual C++ 打印编程技术与工程实践》等图书和《基于关键词进行文本分类的研究与应用》等多篇论文。边宇明,2011 年参加工作,先后在中国银行、国能信息等公司从事软件测试工作,对白盒测试、自动化测试有一定的研发经验。
目錄 :
第 1章 自动化测试简介1.1 什么是自动化测试21.2 Selenium简介31.2.1 Selenium的特点31.2.2 Selenium发展历史31.2.3 WebDriver组件41.3 Selenium IDE51.3.1 Selenium Firefox IDE61.3.2 Katalon Recorder插件91.4 WebDriver脚本示例10第 2章 测试环境准备2.1 Windows操作系统测试环境搭建132.1.1 Python132.1.2 Selenium162.1.3 PyCharm182.2 macOS操作系统测试环境搭建232.3 开发者工具简介242.3.1 Chrome DevTools242.3.2 Firefox DevTools25第3章 Python知识储备3.1 Python基本数据类型273.1.1 数值273.1.2 字符串283.1.3 列表293.1.4 元组303.1.5 字典313.1.6 集合323.2 顺序、分支、循环语句323.2.1 顺序语句323.2.2 分支语句333.2.3 循环语句343.3 Python函数、模块353.3.1 创建函数363.3.2 函数参数363.3.3 Python模块443.4 面向对象编程443.4.1 类和实例463.4.2 继承和多态493.5 Python中的os模块513.6 Python中的time模块533.7 文件读写553.7.1 Python中的open函数563.7.2 JSON文件583.7.3 YAML文件633.7.4 CSV文件65第4章 前端知识储备4.1 HTML基础知识684.1.1 创建HTML文件684.1.2 HTML元素694.1.3 HTML元素属性714.1.4 复杂元素714.2 CSS相关知识764.2.1 CSS基础764.2.2 CSS选择器774.3 JavaScript相关知识784.3.1 JavaScript基础概念784.3.2 JavaScript HTML DOM794.4 XML相关知识804.4.1 XML简介804.4.2 XML树结构814.4.3 XPath83第5章 Selenium 基础方法5.1 Selenium常用方法865.1.1 打开、关闭浏览器875.1.2 访问某个网址875.1.3 网页的前进和后退885.1.4 刷新浏览器页面895.1.5 浏览器窗口化、小化和全屏895.1.6 获取、设置浏览器窗口的大小905.1.7 获取、设置浏览器窗口的位置915.1.8 获取页面的title915.1.9 获取当前页面的URL地址925.1.10 获取页面的源码935.1.11 多窗口操作(Selenium 3)945.1.12 多窗口操作(Selenium 4)965.1.13 浏览器方法和属性总结965.2 Selenium元素定位方法975.2.1 页面元素定位方法概览985.2.2 使用id定位元素995.2.3 使用name定位元素1005.2.4 使用class name定位元素1015.2.5 使用tag name定位元素1015.2.6 使用链接的全部文字定位元素1035.2.7 使用部分链接文字定位元素1045.2.8 使用XPath定位元素1055.2.9 使用CSS定位元素1055.2.10 使用find_element(‘locator’, ‘value’)定位元素1065.2.11 定位组元素1075.2.12 XPath和CSS selector精讲1105.2.13 Selenium 4的相对定位器1175.2.14 元素定位“没有银弹”1185.3 获取页面元素的相关信息1225.3.1 获取元素的基本信息1235.3.2 获取元素的属性信息1235.3.3 获取元素的CSS属性值1245.3.4 判断页面元素是否可见1255.3.5 判断页面元素是否可用1275.3.6 判断元素的选中状态1285.4 鼠标操作实战1295.4.1 鼠标单击操作1295.4.2 内置鼠标操作包1295.4.3 鼠标双击操作1305.4.4 鼠标右击操作1305.4.5 鼠标指针悬浮操作1315.4.6 鼠标拖动操作1315.4.7 其他鼠标操作汇总1325.5 键盘操作1335.5.1 文字输入1335.5.2 组合键133第6章 常见控件实战6.1 搜索框1376.2 按钮1386.3 复选框1416.4 链接1436.5 select下拉列表1446.6 input下拉列表1526.7 表格1546.8 框架1586.9 JavaScript弹窗1646.10 非JavaScript弹窗1686.11 日期时间控件1706.12 文件下载1716.13 文件上传177第7章 Selenium高级应用7.1 复杂控件的操作1827.1.1 操作Ajax选项1827.1.2 操作富文本编辑器1837.1.3 滑动滑块操作1867.2 WebDriver的特殊操作1887.2.1 元素class值包含空格1887.2.2 property、attribute、text的区别1907.2.3 定位动态id1927.2.4 操作cookie1937.2.5 截图功能1997.2.6 获取焦点元素2027.2.7 颜色验证2027.3 JavaScript的应用2037.3.1 操作页面元素2047.3.2 修改页面元素属性2047.3.3 操作滚动条2057.3.4 高亮显示正在被操作的页面元素2077.3.5 操作span类型元素2087.4 浏览器定制启动参数2097.5 AutoIt的应用2137.6 重要的异常217第8章 Selenium等待机制8.1 影响元素加载的外部因素2218.2 Selenium强制等待2228.3 Selenium隐性等待2238.4 Selenium显性等待226第9章 线性测试脚本9.1 Redmine系统2439.1.1 下载和安装2439.1.2 常见错误2469.1.3 Redmine系统的启动和关闭2479.1.4 Redmine简单使用2499.2 线性脚本251第 10章 unittest测试框架10.1 unittest框架结构25610.2 测试固件25810.3 编写测试用例26010.4 执行测试用例26010.5 用例执行次序26310.6 内置装饰器26610.7 命令行执行测试26810.8 批量执行测试文件27010.9 测试断言27210.10 测试报告27310.11 unittest与Selenium27610.12 unittest参数化27910.12.1 unittest + DDT27910.12.2 unittest + parameterized281第 11章 Pytest测试框架11.1 Pytest框架简介28411.2 Pytest测试固件28611.3 Pytest测试用例和断言29011.4 Pytest框架测试执行29211.4.1 使用main函数执行29211.4.2 在命令行窗口中执行29411.5 Pytest框架用例执行失败重试29511.6 标记机制29811.6.1 对测试用例进行分级29811.6.2 跳过某些用例30011.7 全局设置30111.8 测试报告30411.8.1 pytest-html测试报告30411.8.2 Allure测试报告30711.9 Pytest与Selenium31211.10 Pytest参数化315第 12章 PO设计模式12.1 PO方案一31812.2 PO方案二32412.3 项目变更应对330第 13章 测试框架开发13.1 测试数据分离33613.2 测试配置分离33813.3 Selenium API封装34113.4 测试报告346第 14章 项目实战14.1 测试计划34814.2 测试用例34914.3 测试脚本35114.4 反思:测试数据35814.4.1 测试数据准备35814.4.2 冗余数据处理359第 15章 持续集成15.1 Git应用36415.1.1 Git安装36515.1.2 Git基本操作36615.1.3 GitLab部署36915.1.4 Git远端仓库37315.2 Jenkins应用37415.2.1 Jenkins部署37515.2.2 管理插件37815.2.3 创建任务37915.2.4 命令行启动Jenkins38115.2.5 设置项目执行频率38315.2.6 配置邮件38415.2.7 配置钉钉38615.3 自动化测试持续集成389第 16章 提升效率16.1 立足根本39416.2 另辟蹊径39516.2.1 无头浏览器39516.2.2 不关闭浏览器39616.3 着眼未来39716.3.1 分布式执行39816.3.2 Docker技术402