Selenium自动化测试指南

978-7-115-31534-2
作者: 赵卓
译者:
编辑: 陈冀康

图书目录:

目 录

第 1章 Selenium自动化测试基础 1

1.1 自动化测试基础 2

1.1.1 软件测试概述 2

1.1.2 自动化测试简介 4

1.1.3 Selenium简介 5

1.2 HTML/XML/XPath基础 7

1.2.1 HTML简介 7

1.2.2 XML简介 9

1.2.3 使用XPath进行元素定位 10

第 2章 必 备辅助工具 17

2.1 FireBug 18

2.2 FirePath 22

第3章 Selenium IDE 25

3.1 Selenium IDE的安装 26

3.2 录制测试用例 27

3.3 编写测试用例 30

3.4 Command 33

3.4.1 Action 34

3.4.2 Accessor 46

3.4.3 Assertion 59

3.5 Target 71

3.5.1 identifier定位 71

3.5.2 id定位 72

3.5.3 name定位 73

3.5.4 XPath定位 74

3.5.5 链接文字定位 75

3.5.6 DOM定位 76

3.5.7 CSS定位 77

3.5.8 隐式定位 78

3.6 Value 78

3.6.1 带变量的字符串 78

3.6.2 带JavaScript的字符串 79

3.7 日志与引用 79

3.8 将命令复制或导出为代码 80

3.8.1 将命令复制为代码 80

3.8.2 将命令导出为代码 82

第4章 Selenium 1(Remote Control) 84

4.1 Selenium 1的工作原理 85

4.1.1 Selenium 1的组件 85

4.1.2 Selenium服务器 86

4.1.3 Selenium客户端库文件 86

4.2 安装并使用Selenium 86

4.2.1 在C# IDE中使用Selenium 87

4.2.2 在Java IDE中使用Selenium 92

4.3 下载并启动Selenium服务器 99

4.4 选择浏览器开始测试 100

4.5 浏览器导航操作 102

4.5.1 Open(url) 102

4.5.2 GoBack(url) 103

4.5.3 Refresh(), WindowFocus(), WindowMaximize()和Close() 104

4.6 操作页面元素 105

4.6.1 Type(locator, value) 105

4.6.2 TypeKeys(locator, value) 106

4.6.3 Click(locator) 107

4.6.4 ClickAt(locator, coordString) 107

4.6.5 doubleClick(locator) 108

4.6.6 doubleClickAt(locator, coordString) 108

4.6.7 Select(selectLocator, optionLocator) 108

4.6.8 check(locator)/unCheck(locator) 110

4.6.9 focus(locator) 110

4.7 键盘鼠标模拟操作 110

4.8 获取页面元素的内容 112

4.8.1 getTitle() 112

4.8.2 getLocation() 114

4.8.3 getValue(locator) 114

4.8.4 IsEditable(locator) 115

4.8.5 getText(locator) 116

4.8.6 isChecked(locator) 118

4.8.7 getSelectedIndex(selectLocator) 119

4.8.8 getSelectedLabel(selectLocator) 121

4.8.9 getSelectedValue(selectLocator) 122

4.8.10 getSelectOptions(selectLocator) 123

4.8.11 getTable(tableCell Address) 124

4.8.12 getAttribute(attributeLocator) 126

4.8.13 isTextPresent(pattern) 127

4.8.14 isElementPresent(locator) 128

4.8.15 isVisible(locator) 130

4.8.16 getXpathCount(locator) 131

4.9 设置等待 132

4.9.1 WaitForPageToLoad(timeout) 132

4.9.2 setTimeOut(timeout) 133

4.9.3 setSpeed(value) 133

4.10 测试控制和调试类操作 134

4.10.1 captureEntirePage Screenshot(filename, kwargs) 134

4.10.2 captureEntirePage Screenshot(filename) 135

4.10.3 highlight(locator) 136

4.11 JavaScript弹出对话框的处理 136

4.11.1 IsAlertPresent() 138

4.11.2 GetAlert() 139

4.11.3 IsConfirmationPresent() 140

4.11.4 GetConfirmation() 141

4.11.5 ChooseOkOnNext Confirmation()和Choose CancelOnNext Confirmation() 142

4.11.6 IsPromptPresent() 142

4.11.7 GetPrompt() 143

4.11.8 AnswerOnNextPrompt(answer) 144

4.12 浏览器多窗口处理 144

4.12.1 GetAllWindowIds()、GetAllWindowNames()和GetAllWindow Titles() 145

4.12.2 WaitForPopUp(windowID, timeout) 148

4.12.3 SelectPopUp(windowID)和SelectWindow(windowID) 149

4.12.4 OpenWindow(url, windowID) 150

4.13 结束测试 151

4.13.1 Close()和Stop() 151

4.13.2 shutDownSelenium Server() 152

第5章 Selenium 2(WebDriver) 153

5.1 Selenium 2——基于对象的测试 154

5.2 安装并引用Selenium 2 155

5.2.1 在C# IDE中使用Selenium 156

5.2.2 在Java IDE中使用Selenium 160

5.3 选择浏览器开始测试 166

5.4 浏览器导航对象Navigation 169

5.4.1 GoToUrl()/to() 169

5.4.2 Back()/Forward() 170

5.4.3 Refresh() 172

5.5 查找条件对象By 173

5.5.1 Id(idToFind) 173

5.5.2 Name(nameToFind) 175

5.5.3 LinkText(linkText ToFind) 175

5.5.4 PartialLinkText(partial LinkTextToFind) 176

5.5.5 ClassName(className ToFind) 177

5.5.6 TagName(TagName ToFind) 178

5.5.7 XPath(xPathToFind) 179

5.6 操作页面元素WebElement 179

5.6.1 Click() 180

5.6.2 SendKeys(text) 183

5.6.3 Clear() 184

5.6.4 Submit() 185

5.7 获取页面及页面元素的内容 187

5.7.1 Title/getTitle() 187

5.7.2 Url/getCurrentUrl() 188

5.7.3 Text/getText() 189

5.7.4 Selected/isSelected() 190

5.7.5 TagName/getTagName() 191

5.7.6 Enabled/isEnabled() 192

5.7.7 Displayed/isDisplayed() 193

5.7.8 GetAttribute(attribute Name) 194

5.8 弹出对话框的处理 195

5.8.1 Accept() 197

5.8.2 Dismiss() 198

5.8.3 SendKeys(keysToSend) 200

5.8.4 Text/getText() 201

5.9 浏览器多窗口处理 202

5.9.1 WindowHandles/get WindowHandles() 203

5.9.2 Window(windowName) 204

5.10 设置管理 205

5.10.1 Cookies/getCookies() 206

5.10.2 Window/window() 210

5.10.3 Timeouts() 212

5.11 为测试操作添加事件 213

5.11.1 在C#中使用Event FiringWebDriver 214

5.11.2 在Java中使用Event FiringWebDriver 219

5.12 结束测试 225

第6章 自动化测试的流程和框架 229

6.1 自动化测试的流程 230

6.2 自动化测试框架 232

第7章 自动化测试的实施 236

7.1 设计自动化测试用例 237

7.1.1 登录功能的用例设计 237

7.1.2 搜索商品功能的用例设计 238

7.1.3 购买商品功能的用例设计 242

7.2 编写自动化测试代码 245

7.2.1 登录功能的测试代码 245

7.2.2 搜索商品功能的测试代码 252

7.2.3 购买商品功能的测试代码 262

7.3 设计自动化测试数据 268

7.3.1 登录功能的数据 268

7.3.2 搜索商品功能的数据 269

7.3.3 购买商品功能的数据 271

第8章 Selenium测试进阶 272

8.1 Opera/iPhone/Android测试 273

8.1.1 Opera测试 273

8.1.2 iPhone测试 276

8.1.3 Android测试 279

8.2 Selenium 1与Selenium 2的切换 282

8.2.1 从Selenium 1切换到Selenium 2 282

8.2.2 从Selenium 2切换到Selenium 1 287

8.3 对Selenium进行扩展 287

8.3.1 对Selenium IDE应用扩展 290

8.3.2 对Selenium 1应用扩展 290

8.3.3 对Selenium 2应用扩展 292

第9章 使用Selenium常见的问题 294

9.1 使用Selenium IDE常见的问题 295

9.2 使用Selenium 1常见的问题 296

9.3 使用Selenium 2常见的问题 301

详情

本书是使用Selenium实现Web自动化测试的指南。全书共分本书共分为9章。介绍了Selenium自动化测试相关的基础知识和辅助工具;Selenium IDE、Selenium1(Remote Control)以及Selenium2(WebDriver)的用法;在实际工作中如何使用Selenium来进行测试;Selenium测试难点和常见问题的解决。

图书摘要

相关图书

现代软件测试技术之美
现代软件测试技术之美
渗透测试技术
渗透测试技术
JUnit实战(第3版)
JUnit实战(第3版)
深入理解软件性能——一种动态视角
深入理解软件性能——一种动态视角
云原生测试实战
云原生测试实战
Android自动化测试实战:Python+Appium +unittest
Android自动化测试实战:Python+Appium +unittest

相关文章

相关课程