精通自动化测试框架设计
本店经营正版图书 两天左右发货 如果有着急发货的请不要下单
¥
25.37
4.3折
¥
59
全新
库存20件
作者陈冬严、邵杰明、王东刚、蒋涛 著
出版社人民邮电出版社
出版时间2016-04
版次1
装帧平装
上书时间2024-12-18
商品详情
- 品相描述:全新
图书标准信息
-
作者
陈冬严、邵杰明、王东刚、蒋涛 著
-
出版社
人民邮电出版社
-
出版时间
2016-04
-
版次
1
-
ISBN
9787115415653
-
定价
59.00元
-
装帧
平装
-
开本
16开
-
纸张
胶版纸
-
页数
366页
-
字数
464千字
-
正文语种
简体中文
- 【内容简介】
-
全书共分3部分,第1部分包括第1~8章,介绍了有关测试框架与UI自动化测试的主题。在第1章中介绍了若干种不同类型的自动化测试实践,并提出了T型自动化测试框架以及纺锤形自动化测试模型。在第2章介绍了自动化测试中如何进行数据的交互与管理,并结合实际案例列举了Java属性文件、XML、Excel、数据库以及CSV等不同的处理方式。第3章和第4章介绍如何分层构建Solvent、SeMet等底层框架。第5~8章是有关TestLink UI自动化测试框架的构建。第2部分是UI自动化框架横向拓展的主题。第3部分讲解API测试。实现了UI/API的分层自动化测试,并探讨了在敏捷模式下,通过统一框架,同一用例在不同技术实现方式下无缝切换运行的可行性和由此带来的价值。第16章介绍了Webdriver的基础概念及简单元素封装、自定义Page Object等内容。读者可以按照此书介绍的方法,根据自身工作中被测应用的实际特点,加上适当的工具,来尝试建立适合自身项目实际需求的自动化测试框架。本书是帮助读者从初学者踏上通往更高层级测试工程师的阶梯。
本书适合作为测试初学者、测试从业人员、测试经理、测试管理人员、测试开发人员的参考用书,也可以作为大专院校相关专业的师生用书和培训学校的教材。
- 【作者简介】
-
陈冬严 ,浙江大学硕士,具有10年软件测试和团队管理的工作经验,先后服务于领先的ITSM、PLM软件研发企业,现于某金融行业核心机构IT规划部门担任项目管理工作。业余时间喜欢园艺。
- 【目录】
-
第1部分 构建UI自动化框架
第1章 BCO团队的自动化之旅2
1.1 奥运年的新挑战2
1.1.1 BCO是什么2
1.1.2 为什么需要BCO2
1.1.3 测试任务与测试内容3
1.1.4 利益干系人4
1.1.5 Pink Mail、Escalation和SPRTracker5
1.1.6 沟通,还是沟通5
1.2 史前的自动化6
1.2.1 自动化安装系统6
1.2.2 快速回归测试系统的混合自动化6
1.2.3 来自小众自动化工具的框架7
1.3 五天太久,还能压缩吗8
1.3.1 BCO版本发布用时分布8
1.3.2 缺陷压力测试9
1.4 听说又有一个新框架了10
1.4.1 初见Solvent11
1.4.2 学习XPath和HTML12
1.4.3 XPath定位工具12
1.4.4 自信与挑战13
1.4.5 找到适合自身的实践对象14
1.4.6 框架的归属问题14
1.4.7 Automation 10015
1.5 冰山15
1.5.1 假失败15
1.5.2 低优先级的自动化Backlog16
1.5.3 破窗与“造轮子”16
1.6 再启航16
1.6.1 自动化测试金字塔与冰淇淋17
1.6.2 橄榄形的自动化测试18
第2章 测试数据管理19
2.1 简介19
2.2 测试数据分类19
2.3 测试数据交互基本方法20
2.3.1 使用Java的系统属性21
2.3.2 使用操作系统的环境变量22
2.3.3 使用属性文件23
2.4 使用XML文件23
2.4.1 Webdriver中的定位方法24
2.4.2 使用dom4j进行解析25
2.5 使用Excel27
2.5.1 经典的DataTable27
2.5.2 强关键字驱动的自动化用例28
2.5.3 Apache POI介绍29
2.5.4 单个工作表的解析30
2.5.5 整个工作簿的解析34
2.5.6 用例解析与执行35
2.5.7 Mock API类38
2.5.8 Mock API适配器类39
2.6 使用数据库40
2.6.1 JDBC连接数据库41
2.6.2 使用Apache DbUtils44
2.6.3 从TestLink数据库中读取数据46
2.7 使用CSV文件47
2.7.1 CSV文件数据解析思路48
2.7.2 实现泛型解析48
2.7.3 对象类案例49
2.7.4 提供数据源的外部访问50
2.7.5 CSV文件通过SQL方式查询结果50
第3章 构建Solvent53
3.1 框架是什么53
3.1.1 六万立方米的混凝土大底板53
3.1.2 测试框架及其目标53
3.2 Solvent与JUnit54
3.3 迟早,你需要一个基类54
3.3.1 用例基类SolventTestCase55
3.3.2 业务功能基类Solvent57
3.4 基于Log4j的日志60
3.4.1 Log4j简介60
3.4.2 一个简单的例子62
3.4.3 实现SolventLogger类63
3.4.4 使用SolventLogger64
3.5 使用TestWatcher截屏65
3.5.1 功能分析65
3.5.2 实现示例65
3.6 经改造的Apache计时器66
3.6.1 Apache的计时器66
3.6.2 Solvent增强的计时器67
3.6.3 部署计时器68
3.6.4 计时精度与延迟69
3.7 使用Timeout进行超时判负70
3.8 自定义检查点CheckPoint70
3.8.1 检查点类CheckPoint70
3.8.2 部署与使用73
3.9 Configurator提供统一框架配置参数75
3.9.1 Configurator类的实现75
3.9.2 双重参数文件的读取78
3.9.3 配置参数的使用80
3.10 基于XML的运行时参数处理81
3.10.1 来自XML的用例数据集81
3.10.2 InputFileFinder获取输入文件82
3.10.3 InputFileDigester进行解析83
3.10.4 数据结构之SolventTestDataSetBean85
3.10.5 数据结构之SolventTestDataSet87
3.10.6 在SolventTestCase中完成解析88
3.10.7 SolventTestCase提供统一数据获取方法89
3.10.8 测试用例参数化案例90
第4章 构建SeMet92
4.1 SeMet是什么92
4.2 引入SeMet类92
4.3 引入TLTestCase98
4.4 引入SeMetWebDriverSession类99
4.5 引入Webdrivers工厂类100
4.6 小结101
第5章 TestLink自动化测试102
5.1 自动化测试策略102
5.2 为什么是TestLink103
5.3 TestLink简介105
5.4 TestLink安装105
5.4.1 XAMPP的安装106
5.4.2 TestLink部署107
5.5 TestLink主要功能分析108
5.5.1 基于文档的测试108
5.5.2 TestLink基本业务对象109
5.5.3 模块与功能点109
5.6 TestLink页面分析110
5.6.1 页面结构分析110
5.6.2 Web组件分析112
5.7 框架113
5.7.1 Webdriver中有关(i)frame的处理方法114
5.7.2 回到原点的frame处理方法114
5.7.3 工具类FrameHelper115
5.7.4 一级页面的使用方法116
5.7.5 二级以下页面的使用方法116
5.7.6 不同框架下使用组件的方法117
5.8 左右选择框118
5.8.1 页面分析及自动化实现118
5.8.2 功能分析及自动化实现120
5.9 浮动对话框121
5.9.1 页面分析及自动化实现121
5.9.2 功能分析及自动化实现123
5.9.3 复选框的简单增强125
5.10 树126
5.10.1 页面分析及自动化实现126
5.10.2 功能分析及自动化实现128
5.11 表格130
5.11.1 页面分析及自动化实现131
5.11.2 功能分析及自动化实现132
5.11.3 TableSeMet子类134
5.12 下拉选择框136
5.12.1 组件介绍136
5.12.2 功能与测试点分析137
5.12.3 SelectboxSeMet类138
5.13 小结140
第6章 页面封装—从登录到测试项目管理142
6.1 登录——三段式页面封装法142
6.2 测试项目对象TestProjectBean-使用方法链144
6.3 创建测试项目类CreateProjectSeMet146
6.3.1 页面定位146
6.3.2 页面元素定位146
6.3.3 元素获取与简单操作146
6.3.4 高级业务操作—隔离业务与具体实现148
6.4 统一测试项目操作类ProjectMgrCRUSeMet149
6.4.1 重构的CreateProjectSeMet类150
6.4.2 零代码的EditProjectSeMet类150
6.5 测试项目管理TestProjectMgrSeMet150
6.5.1 测试项目列表151
6.5.2 查询与创建152
6.6 登录后默认主页面——使用枚举类封装框架数据153
6.7 第一个完整的端到端用例154
6.7.1 测试场景154
6.7.2 自给自足的测试用例155
6.8 小结156
第7章 页面封装—测试规约的自动化158
7.1 导航栏158
7.1.1 导航栏页面分析158
7.1.2 元素分析与自动化实现159
7.1.3 测试上下文160
7.2 关键字管理160
7.2.1 页面分析161
7.2.2 自动化测试用例161
7.2.3 关键字管理类的实现162
7.2.4 文件导入关键字164
7.3 测试规约166
7.3.1 进入测试规约页面166
7.3.2 测试用例集操作166
7.3.3 创建测试集168
7.3.4 创建测试用例169
7.4 完整的用例174
7.5 小结176
第8章 测试计划177
8.1 从主页面到测试计划管理177
8.1.1 页面定位177
8.1.2 静态跳转方法178
8.2 测试计划管理179
8.3 创建测试计划179
8.4 测试计划对象181
8.5 版本管理182
8.5.1 从主页面到版本管理182
8.5.2 从版本管理类到版本管理对象183
8.6 添加测试用例至测试计划186
8.6.1 发起添加测试用例187
8.6.2 测试用例树操作187
8.6.3 添加用例至测试计划188
8.7 添加平台至测试计划190
8.7.1 发起添加平台190
8.7.2 完成平台添加191
8.8 测试执行192
8.8.1 测试执行的入口192
8.8.2 测试用例集的设定192
8.8.3 执行结果录入194
8.9 小结196
第2部分 UI自动化框架横向拓展
第9章 Web兼容性测试198
9.1 浏览器简史198
9.2 内核之母201
9.3 内核之意202
9.3.1 Trident202
9.3.2 Gecko203
9.3.3 Presto204
9.3.4 WebKit204
9.3.5 Chromium &Blink205
9.4 渲染与解析205
9.5 容错处理机210
9.6 布局与绘制210
9.7 兼容性问题案例215
9.7.1 网银中使用的jQuery版本问题215
9.7.2 IE 10在响应式时间中CSS样式布局混乱215
9.7.3 CSS重构以及JS文件分割优化216
9.7.4 IE 6浏览器上页面加载的性能问题(可导致IE 6崩溃)217
9.7.5 兼容性Bug错误具体分析223
9.8 移动端浏览器兼容性226
第10章 轻量级本地化测试解决方案233
10.1 什么是本地化、国际化和全球化233
10.2 本地化测试自动化的挑战233
10.3 解决的思路234
10.4 伐谋:一码走天下234
10.4.1 TestLink的样例分析234
10.4.2 使用本地化中性资源进行自动化235
10.5 伐兵:使用本地化资源238
10.5.1 TestLink本地化资源文件分析238
10.5.2 本地化支持的简要流程239
10.5.3 本地化案例240
10.6 基于HSQL的数据字典241
10.6.1 为什么使用HSQL241
10.6.2 HSQLDB数据导入及维护241
10.6.3 将HSQL集成进自动化测试框架243
10.7 结合Java Annotation的解决方案248
10.7.1 思路248
10.7.2 定义Annotation249
10.7.3 定义工具类,通过Java反射机制动态获取本地化资源249
10.8 部署251
10.8.1 SolventTestCase251
10.8.2 Solvent251
10.8.3 框架类251
10.8.4 测试用例252
10.9 总结与展望252
第3部分 Hybrid Automation—实现UI/API测试一体化
第11章 欢迎来到接口测试的世界254
11.1 集成测试与接口测试254
11.1.1 集成测试254
11.1.2 接口测试与测试接口254
11.2 XML-RPC简介255
11.3 使用原生的TestLink XML-RPC接口256
11.3.1 启用XML-RPC接口256
11.3.2 获取API KEY256
11.3.3 sayHello样例257
11.3.4 TestLink XML-RPC简析259
11.4 使用TestLink Java API260
11.5 测试用例自动化生成初探263
11.5.1 重温等价类划分263
11.5.2 组合策略与工具265
11.5.3 数据集与组合算法265
11.5.4 生成全组合用例267
11.5.5 生成健壮性用例271
11.6 小结272
第12章 Hybrid Automation混合自动274
12.1 修改SeMet层的基础类274
12.1.1 在Webdrivers类中存储TestLinkAPI实例274
12.1.2 在TLTestCase中完成TestLinkAPI初始化274
12.2 在测试用例中直接使用接口276
12.3 将接口转移到业务SeMet类中278
12.4 用例无缝切换280
第13章 iTestLink业务与技术解耦281
13.1 问题与挑战281
13.2 Webdriver带来的启示281
13.3 实现iTestLink282
13.3.1 定义TestLink业务接口282
13.3.2 定义业务对象类283
13.3.3 增加TLSession类获取执行方式284
13.3.4 枚举类TestLinkDriver的实现285
13.3.5 新建TLTestCase286
13.4 iTestLink的测试用例286
13.5 改造APIMet支持iTestLink288
13.5.1 引入TestLinkJavaAPIAdaptor288
13.5.2 接口间TestProject对象转换290
13.5.3 接口层测试用例执行291
13.6 改造SeMet支持iTestLink292
13.6.1 实现Service类293
13.6.2 改造相关SeMet294
13.6.3 实现TestLinkSeMetAdaptor296
13.6.4 UI层测试用例执行297
13.7 小结298
第14章 代码的管理和审查299
14.1 简介299
14.2 代码管理工具299
14.2.1 GIT介绍299
14.2.2 安装过程300
14.2.3 常用命令300
14.3 代码审查工具302
14.3.1 Gerrit是什么302
14.3.2 如何去安装302
14.3.3 基本功能介绍306
14.4 检出代码310
14.4.1 命令介绍310
14.4.2 工作场景一310
14.5 提交代码312
14.5.1 命令介绍312
14.5.2 工作场景314
14.6 合并分支316
14.6.1 命令介绍316
14.6.2 工作场景317
14.6.3 分支合并冲突319
14.7 最佳实践320
第15章 持续集成322
15.1 简介322
15.2 持续集成工具322
15.2.1 Jenkins介绍322
15.2.2 主要功能323
15.2.3 如何安装324
15.2.4 建立新的Job324
15.2.5 注意事项325
15.2.6 系统配置326
15.2.7 设置Job330
15.2.8 成功连通331
15.2.9 工作场景333
15.3 执行自动编译和测试334
15.4 合并代码335
15.5 常见问题336
15.6 最佳实践337
第16章 Webdriver入门简介339
16.1 Webdriver的基本结构339
16.2 Webdriver的工作原理339
16.3 在启动浏览器的时候发生了什么340
16.3.1 Firefox340
16.3.2 Chrome341
16.3.3 IE341
16.4 Webdriver常用API简介342
16.4.1 Webdriver API结构浅析342
16.4.2 启动与关闭浏览器344
16.4.3 提取文本getText344
16.4.4 提取元素属性getAttribute345
16.4.5 模拟浏览器的前后跳转forward和back345
16.4.6 模拟鼠标右键Actions和contextClick346
16.4.7 截图TakesScreenshot346
16.4.8 操作下拉菜单Select控件347
16.4.9 操作frame里面的元素switchTo348
16.4.10 操作单选按钮radio button349
16.4.11 操作多选框checkbox350
16.4.12 切换窗口getWindowHandle350
16.4.13 等待351
16.4.14 JS弹出框352
16.4.15 弹出框的扩展353
16.5 Page Object介绍355
16.5.1 创建LoginVariables.java文件357
16.5.2 创建LoginPage文件358
16.5.3 创建GloablaFunction.java文件359
16.5.4 创建WebdriverTest.java文件359
16.5.5 创建LoginTest.java文件360
16.6 选择Webdriver而不是Selenium RC361
16.7 如何从Selenium RC迁移到Webdriver362
16.8 Webdriver如何执行Javascript364
16.9 如何定制浏览器364
16.10 小结365
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价