第1章 軟件測試的基礎(chǔ) 1
1.1 概要 1
1.2 軟件生命周期的各個階段 2
1.3 軟件測試概述 5
1.4 軟件測試的目的 7
1.5 軟件測試的方法 8
1.5.1 等價類劃分法 8
1.5.2 邊界值分析法 9
1.5.3 錯誤猜測法 10
1.6 通過軟件測試找出缺陷 10
第2章 Selenium自動化測試基礎(chǔ)知識 13
2.1 什么是自動化測試 13
2.2 自動化測試的流程 15
2.2.1 軟件測試工作的流程 16
2.2.2 自動化測試的流程 21
2.3 什么是Selenium 23
2.4 為什么選擇Selenium作為Web自動化測試工具 24
2.5 如何選擇合適的Selenium 25
第3章 IDE安裝及介紹 27
3.1 Firefox 的安裝 27
3.2 IDE的安裝 31
3.3 IDE基礎(chǔ)知識 33
3.3.1 概述 33
3.3.2 菜單欄 35
3.3.3 Base URL 44
3.3.4 測試錄制回放工具條 45
3.3.5 測試用例面板 46
3.3.6 詳細信息欄 48
3.3.7 IDE錄制腳本、回放腳本 50
3.3.8 增加測試結(jié)果屬性驗證 53
3.3.9 IDE 命令插入 54
第4章 Selenium腳本編寫環(huán)境的搭建 56
4.1 腳本開發(fā)環(huán)境的搭建——JUnit 56
4.1.1 環(huán)境安裝 56
4.1.2 驗證環(huán)境搭建成功 61
4.2 Firebug環(huán)境的搭建及使用 63
4.2.1 Firebug的安裝 63
4.2.2 Firebug的使用 67
4.3 XPath環(huán)境的搭建及使用 67
4.3.1 XPath的安裝 67
4.3.2 XPath的使用 70
第5章 腳本元素定位實例學(xué)習(xí) 72
5.1 Element Locators(元素定位器) 72
5.2 StringMatching Patterns(字符串匹配模式) 78
5.3 Select Option Specifiers(Select選項指定器) 81
第6章 Selenium中Actions命令實例學(xué)習(xí) 83
6.1 open(url)命令 84
6.1.1 IDE環(huán)境下使用實例 84
6.1.2 JUnit環(huán)境下使用實例 85
6.2 click(locator) 87
6.2.1 IDE環(huán)境下使用實例 87
6.2.2 JUnit環(huán)境下使用實例 88
6.3 clickAt(locator,coordString) 90
6.4 type(locator,value) 90
6.4.1 IDE環(huán)境下使用實例 90
6.4.2 JUnit環(huán)境下使用實例 91
6.5 select(selectLocator, optionLocator) 92
6.5.1 IDE環(huán)境下使用實例 92
6.5.2 JUnit環(huán)境下使用實例 93
6.6 goBack() 94
6.6.1 IDE環(huán)境下使用實例 94
6.6.2 JUnit環(huán)境下使用實例 95
6.7 assignId (locator,identifier) 96
6.7.1 IDE環(huán)境下使用實例 96
6.7.2 JUnit環(huán)境下使用實例 97
6.8 check(locator)/uncheck(locator) 98
6.8.1 IDE環(huán)境下使用實例 98
6.8.2 JUnit環(huán)境下使用實例 99
6.9 captureEntirePageScreenshot(filename,kwargs) 100
6.9.1 IDE環(huán)境下使用實例 100
6.9.2 JUnit環(huán)境下使用實例 101
6.10 pause (waitTime) 101
6.10.1 IDE環(huán)境下使用實例 101
6.10.2 JUnit環(huán)境下使用實例 102
6.11 typeKeys(locator, value) 103
6.11.1 IDE環(huán)境下使用實例 103
6.11.2 JUnit環(huán)境下使用實例 104
6.12 selectFrame (locator) 105
6.12.1 IDE環(huán)境下使用實例 105
6.12.2 JUnit環(huán)境下使用實例 107
6.13 runScript (script) 108
6.13.1 IDE環(huán)境下使用實例 108
6.13.2 JUnit環(huán)境下使用實例 109
6.14 fireEvent(locator,eventName) 110
6.14.1 IDE環(huán)境下使用實例 110
6.14.2 JUnit環(huán)境下使用實例 111
6.15 keyPress(locator,keySequence) 112
6.15.1 IDE環(huán)境下使用實例 112
6.15.2 JUnit環(huán)境下使用實例 113
6.16 focus (locator) 114
6.17 controlKeyDown()/controlKeyUp() 114
6.17.1 IDE環(huán)境下使用實例 114
6.17.2 JUnit環(huán)境下使用實例 115
6.18 metaKeyDown()/metaKeyUp() 116
6.19 shiftKeyDown()/shiftKeyUp() 116
6.20 altKeyDown()/altKeyUp() 116
6.21 windowMaximize() 116
6.22 setSpeed(value) 116
6.22.1 IDE環(huán)境下使用實例 117
6.22.2 JUnit環(huán)境下使用實例 118
6.23 setMouseSpeed (pixels) 118
6.24 highlight(locator) 119
6.24.1 IDE環(huán)境下使用實例 119
6.24.2 JUnit環(huán)境下使用實例 119
6.25 refresh() 120
6.25.1 IDE環(huán)境下使用實例 120
6.25.2 JUnit環(huán)境下使用實例 121
6.26 close() 122
6.26.1 IDE環(huán)境下使用實例 122
6.26.2 JUnit環(huán)境下使用實例 123
6.27 openWindow (url,windowID) 123
6.28 selectWindow(windowID) 123
6.29 windowFocus() 124
6.29.1 IDE環(huán)境下使用實例 124
6.29.2 JUnit環(huán)境下使用實例 125
6.30 chooseCancelOnNextConfirmation() 126
6.31 answerOnNextPrompt (answer) 126
6.32 doubleClick(locator) 126
6.32.1 IDE環(huán)境下使用實例 127
6.32.2 JUnit環(huán)境下使用實例 128
6.33 doubleClickAt(locator) 128
6.34 contextMenu (locator) 128
6.34.1 IDE環(huán)境下使用實例 129
6.34.2 JUnit環(huán)境下使用實例 130
6.35 setTimeout (timeout) 130
6.36 waitForPageToLoad(timeout) 130
6.36.1 IDE環(huán)境下使用實例 131
6.36.2 JUnit環(huán)境下使用實例 132
6.37 waitForFrameToLoad(frameAddress,timeout) 132
6.38 waitForCondition(script,timeout) 132
6.39 store(expression,variableName) 133
6.40 Echo(message) 133
6.40.1 IDE環(huán)境下使用實例 134
6.40.2 JUnit環(huán)境下使用實例 135
6.41 submit(formLocator) 135
6.42 keyDown(locator,keySequence)/keyUP
(locator, keySequence) 135
6.43 mouseDown(locator)/ mouseUp(locator) 136
6.44 mouseMove(locator)/ mouseOut(locator) 136
6.45 mouseOver(locator) 136
6.46 removeAllSelections(locator) 137
第7章 Selenium中Accessors命令實例學(xué)習(xí) 138
7.1 storeValue(locator,variableName) 138
7.1.1 IDE環(huán)境下使用實例 139
7.1.2 JUnit環(huán)境下使用實例 140
7.2 storeText(locator,variableName) 140
7.2.1 IDE環(huán)境下使用實例 140
7.2.2 JUnit環(huán)境下使用實例 141
7.3 StoreTitle(variableName) 142
7.3.1 IDE環(huán)境下使用實例 142
7.3.2 JUnit環(huán)境下使用實例 143
7.4 storeLocation(variableName) 144
7.4.1 IDE環(huán)境下使用實例 144
7.4.2 JUnit環(huán)境下使用實例 145
7.5 storeElementPresent(locator,variableName) 146
7.5.1 IDE環(huán)境下使用實例 146
7.5.2 JUnit環(huán)境下使用實例 147
7.6 storeTextPresent(pattern,variableName) 148
7.6.1 IDE環(huán)境下使用實例 148
7.6.2 JUnit環(huán)境下使用實例 149
7.7 storeAttribute(attributeLocator,variableName) 149
7.7.1 IDE環(huán)境下使用實例 150
7.7.2 JUnit環(huán)境下使用實例 151
7.8 storeAllWindowIds(variableName) 151
7.9 storeAllWindowNames(variableName) 151
7.10 storeAllWindowTitles(variableName) 152
7.10.1 IDE環(huán)境下使用實例 152
7.10.2 JUnit環(huán)境下使用實例 153
7.11 storeSelectOptions(selectLocator,variableName) 154
7.11.1 IDE環(huán)境下使用實例 154
7.11.2 JUnit環(huán)境下使用實例 155
7.12storeSomethingSelected(selectLocator,variableName) 156
7.12.1 IDE環(huán)境下使用實例 156
7.12.2 JUnit環(huán)境下使用實例 157
7.13 storeSelectedId(selectLocator,variableName)/
storeSelectedIds(selectLocator,variableName) 158
7.14 storeSelectedIndex(selectLocator,variable Name)/
storeSelectedIndexs(selectLocator,variableName) 158
7.15 storeSelectedValue(selectLocator,variableName)/
storeSelectedValues(selectLocator,variableName) 159
7.16 storeSelectedLabel(selectLocator,variableName)/
storeSelectedLabels(selectLocator,variableName) 159
7.16.1 IDE環(huán)境下使用實例 159
7.16.2 JUnit環(huán)境下使用實例 160
7.17 storeChecked(locator,variableName) 161
7.17.1 IDE環(huán)境下使用實例 162
7.17.2 JUnit環(huán)境下使用實例 163
7.18 storeTable(tableCellAddress,variableName) 163
7.18.1 IDE環(huán)境下使用實例 163
7.18.2 JUnit環(huán)境下使用實例 164
7.19 storeAlert(variableName) 165
7.19.1 IDE環(huán)境下使用實例 166
7.19.2 JUnit環(huán)境下使用實例 167
7.20 storeConfirmation(variableName) 167
7.21 storePrompt(variableName) 168
7.22 storeAllButtons(variableName) 168
7.23 storeAllFields(variableName) 169
7.24 storeAllLinks(variableName) 169
7.25 storeBodyText(variableName) 169
7.26 storeHtmlSource(variableName) 170
7.26.1 IDE環(huán)境下使用實例 170
7.26.2 JUnit環(huán)境下使用實例 170
7.27 storeCookie(variableName) 171
7.28 storeElementHeight(locator,variableName) 171
7.29 storeElementPositionLeft(locator,variableName) 172
7.30 storeMouseSpeed(variableName) 172
7.31 storeXpathCount(xpath,variableName) 173
7.32 storeEditable(locator,variableName) 173
7.33 storeVisible(locator,variableName) 173
第8章 Selenium中Assertions命令實例學(xué)習(xí) 175
8.1 assertValue(locator, pattern) 176
8.1.1 IDE環(huán)境下使用實例 176
8.1.2 JUnit環(huán)境下使用實例 177
8.2 assertText(locator, pattern) 178
8.2.1 IDE環(huán)境下使用實例 178
8.2.2 JUnit環(huán)境下使用實例 178
8.3 assertTitle(pattern) 179
8.3.1 IDE環(huán)境下使用實例 179
8.3.2 JUnit環(huán)境下使用實例 180
8.4 assertLocation(pattern) 181
8.4.1 IDE環(huán)境下使用實例 181
8.4.2 JUnit環(huán)境下使用實例 181
8.5 assertElementPresent(pattern) 182
8.5.1 IDE環(huán)境下使用實例 182
8.5.2 JUnit環(huán)境下使用實例 183
8.6 assertTextPresent(pattern) 184
8.6.1 IDE環(huán)境下使用實例 184
8.6.2 JUnit環(huán)境下使用實例 185
8.7 assertAttribute(attributelocator,pattern) 185
8.7.1 IDE環(huán)境下使用實例 185
8.7.2 JUnit環(huán)境下使用實例 186
8.8 assertSelectOptions(selectlocator,pattern) 187
8.8.1 IDE環(huán)境下使用實例 187
8.8.2 JUnit環(huán)境下使用實例 188
8.9 assertSomethingSelected(selectlocator) 189
8.9.1 IDE環(huán)境下使用實例 189
8.9.2 JUnit環(huán)境下使用實例 190
8.10 assertSelectedId(selectlocator,pattern)/
assertSelectedIds(selectlocator, pattern) 191
8.11 assertSelectedIndex(selectlocator,pattern)/
assertSelectedIndexs(selectlocator,pattern) 191
8.12 assertSelectedValue(selectlocator,pattern)/
assertSelectedValues(selectlocator,pattern) 191
8.13 assertSelectedLabel(selectlocator,pattern)/
assertSelectedLabels(selectlocator,pattern) 192
8.13.1 IDE環(huán)境下使用實例 192
8.13.2 JUnit環(huán)境下使用實例 193
8.14 assertChecked(locator) 194
8.14.1 IDE環(huán)境下使用實例 194
8.14.2 JUnit環(huán)境下使用實例 194
8.15 assertTable(tableCellAddress, pattern) 195
8.15.1 IDE環(huán)境下使用實例 195
8.15.2 JUnit環(huán)境下使用實例 196
8.16 assertAlert(pattern) 197
8.16.1 IDE環(huán)境下使用實例 197
8.16.2 JUnit環(huán)境下使用實例 198
8.17 assertConfirmation(pattern) 199
8.18 assertPrompt (pattern) 199
8.19 assertAllWindowIds(pattern) 200
8.20 assertAllWindowNames(pattern) 200
8.21 assertAllWindowTitles(pattern) 200
8.22 assertSelected(selectlocator,optionlocator) 201
8.23 assertEditable(locator) 201
8.24 assertVisible(locator) 201
8.25 assertElementHeight(locator, pattern) 202
8.26 assertElementPositionLeft(locator,pattern) 202
8.27 assertMouseSpeed(pattern) 202
第9章 Selenium項目實踐操作 203
9.1 項目簡介 203
9.2 注冊(Register)流程實例 203
9.2.1 流程查看 203
9.9.2 腳本內(nèi)容 204
9.3 登錄(Login)流程實例 206
9.3.1 流程查看 206
9.3.2 腳本內(nèi)容 207
9.4 查詢(Search)流程實例 208
9.4.1 流程查看 208
9.4.2 腳本內(nèi)容 208
9.5 購物(Buy)流程實例 210
9.5.1 流程查看 210
9.5.2 腳本內(nèi)容 21