目 录
第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 目 录
第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