第1章 軟件測(cè)試的基礎(chǔ) 1
1.1 概要 1
1.2 軟件生命周期的各個(gè)階段 2
1.3 軟件測(cè)試概述 5
1.4 軟件測(cè)試的目的 7
1.5 軟件測(cè)試的方法 8
1.5.1 等價(jià)類劃分法 8
1.5.2 邊界值分析法 9
1.5.3 錯(cuò)誤猜測(cè)法 10
1.6 通過(guò)軟件測(cè)試找出缺陷 10
第2章 Selenium自動(dòng)化測(cè)試基礎(chǔ)知識(shí) 13
2.1 什么是自動(dòng)化測(cè)試 13
2.2 自動(dòng)化測(cè)試的流程 15
2.2.1 軟件測(cè)試工作的流程 16
2.2.2 自動(dòng)化測(cè)試的流程 21
2.3 什么是Selenium 23
2.4 為什么選擇Selenium作為Web自動(dòng)化測(cè)試工具 24
2.5 如何選擇合適的Selenium 25
第3章 IDE安裝及介紹 27
3.1 Firefox 的安裝 27
3.2 IDE的安裝 31
3.3 IDE基礎(chǔ)知識(shí) 33
3.3.1 概述 33
3.3.2 菜單欄 35
3.3.3 Base URL 44
3.3.4 測(cè)試錄制回放工具條 45
3.3.5 測(cè)試用例面板 46
3.3.6 詳細(xì)信息欄 48
3.3.7 IDE錄制腳本、回放腳本 50
3.3.8 增加測(cè)試結(jié)果屬性驗(yàn)證 53
3.3.9 IDE 命令插入 54
第4章 Selenium腳本編寫(xiě)環(huán)境的搭建 56
4.1 腳本開(kāi)發(fā)環(huán)境的搭建——JUnit 56
4.1.1 環(huán)境安裝 56
4.1.2 驗(yàn)證環(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章 腳本元素定位實(shí)例學(xué)習(xí) 72
5.1 Element Locators(元素定位器) 72
5.2 StringMatching Patterns(字符串匹配模式) 78
5.3 Select Option Specifiers(Select選項(xiàng)指定器) 81
第6章 Selenium中Actions命令實(shí)例學(xué)習(xí) 83
6.1 open(url)命令 84
6.1.1 IDE環(huán)境下使用實(shí)例 84
6.1.2 JUnit環(huán)境下使用實(shí)例 85
6.2 click(locator) 87
6.2.1 IDE環(huán)境下使用實(shí)例 87
6.2.2 JUnit環(huán)境下使用實(shí)例 88
6.3 clickAt(locator,coordString) 90
6.4 type(locator,value) 90
6.4.1 IDE環(huán)境下使用實(shí)例 90
6.4.2 JUnit環(huán)境下使用實(shí)例 91
6.5 select(selectLocator, optionLocator) 92
6.5.1 IDE環(huán)境下使用實(shí)例 92
6.5.2 JUnit環(huán)境下使用實(shí)例 93
6.6 goBack() 94
6.6.1 IDE環(huán)境下使用實(shí)例 94
6.6.2 JUnit環(huán)境下使用實(shí)例 95
6.7 assignId (locator,identifier) 96
6.7.1 IDE環(huán)境下使用實(shí)例 96
6.7.2 JUnit環(huán)境下使用實(shí)例 97
6.8 check(locator)/uncheck(locator) 98
6.8.1 IDE環(huán)境下使用實(shí)例 98
6.8.2 JUnit環(huán)境下使用實(shí)例 99
6.9 captureEntirePageScreenshot(filename,kwargs) 100
6.9.1 IDE環(huán)境下使用實(shí)例 100
6.9.2 JUnit環(huán)境下使用實(shí)例 101
6.10 pause (waitTime) 101
6.10.1 IDE環(huán)境下使用實(shí)例 101
6.10.2 JUnit環(huán)境下使用實(shí)例 102
6.11 typeKeys(locator, value) 103
6.11.1 IDE環(huán)境下使用實(shí)例 103
6.11.2 JUnit環(huán)境下使用實(shí)例 104
6.12 selectFrame (locator) 105
6.12.1 IDE環(huán)境下使用實(shí)例 105
6.12.2 JUnit環(huán)境下使用實(shí)例 107
6.13 runScript (script) 108
6.13.1 IDE環(huán)境下使用實(shí)例 108
6.13.2 JUnit環(huán)境下使用實(shí)例 109
6.14 fireEvent(locator,eventName) 110
6.14.1 IDE環(huán)境下使用實(shí)例 110
6.14.2 JUnit環(huán)境下使用實(shí)例 111
6.15 keyPress(locator,keySequence) 112
6.15.1 IDE環(huán)境下使用實(shí)例 112
6.15.2 JUnit環(huán)境下使用實(shí)例 113
6.16 focus (locator) 114
6.17 controlKeyDown()/controlKeyUp() 114
6.17.1 IDE環(huán)境下使用實(shí)例 114
6.17.2 JUnit環(huán)境下使用實(shí)例 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)境下使用實(shí)例 117
6.22.2 JUnit環(huán)境下使用實(shí)例 118
6.23 setMouseSpeed (pixels) 118
6.24 highlight(locator) 119
6.24.1 IDE環(huán)境下使用實(shí)例 119
6.24.2 JUnit環(huán)境下使用實(shí)例 119
6.25 refresh() 120
6.25.1 IDE環(huán)境下使用實(shí)例 120
6.25.2 JUnit環(huán)境下使用實(shí)例 121
6.26 close() 122
6.26.1 IDE環(huán)境下使用實(shí)例 122
6.26.2 JUnit環(huán)境下使用實(shí)例 123
6.27 openWindow (url,windowID) 123
6.28 selectWindow(windowID) 123
6.29 windowFocus() 124
6.29.1 IDE環(huán)境下使用實(shí)例 124
6.29.2 JUnit環(huán)境下使用實(shí)例 125
6.30 chooseCancelOnNextConfirmation() 126
6.31 answerOnNextPrompt (answer) 126
6.32 doubleClick(locator) 126
6.32.1 IDE環(huán)境下使用實(shí)例 127
6.32.2 JUnit環(huán)境下使用實(shí)例 128
6.33 doubleClickAt(locator) 128
6.34 contextMenu (locator) 128
6.34.1 IDE環(huán)境下使用實(shí)例 129
6.34.2 JUnit環(huán)境下使用實(shí)例 130
6.35 setTimeout (timeout) 130
6.36 waitForPageToLoad(timeout) 130
6.36.1 IDE環(huán)境下使用實(shí)例 131
6.36.2 JUnit環(huán)境下使用實(shí)例 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)境下使用實(shí)例 134
6.40.2 JUnit環(huán)境下使用實(shí)例 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命令實(shí)例學(xué)習(xí) 138
7.1 storeValue(locator,variableName) 138
7.1.1 IDE環(huán)境下使用實(shí)例 139
7.1.2 JUnit環(huán)境下使用實(shí)例 140
7.2 storeText(locator,variableName) 140
7.2.1 IDE環(huán)境下使用實(shí)例 140
7.2.2 JUnit環(huán)境下使用實(shí)例 141
7.3 StoreTitle(variableName) 142
7.3.1 IDE環(huán)境下使用實(shí)例 142
7.3.2 JUnit環(huán)境下使用實(shí)例 143
7.4 storeLocation(variableName) 144
7.4.1 IDE環(huán)境下使用實(shí)例 144
7.4.2 JUnit環(huán)境下使用實(shí)例 145
7.5 storeElementPresent(locator,variableName) 146
7.5.1 IDE環(huán)境下使用實(shí)例 146
7.5.2 JUnit環(huán)境下使用實(shí)例 147
7.6 storeTextPresent(pattern,variableName) 148
7.6.1 IDE環(huán)境下使用實(shí)例 148
7.6.2 JUnit環(huán)境下使用實(shí)例 149
7.7 storeAttribute(attributeLocator,variableName) 149
7.7.1 IDE環(huán)境下使用實(shí)例 150
7.7.2 JUnit環(huán)境下使用實(shí)例 151
7.8 storeAllWindowIds(variableName) 151
7.9 storeAllWindowNames(variableName) 151
7.10 storeAllWindowTitles(variableName) 152
7.10.1 IDE環(huán)境下使用實(shí)例 152
7.10.2 JUnit環(huán)境下使用實(shí)例 153
7.11 storeSelectOptions(selectLocator,variableName) 154
7.11.1 IDE環(huán)境下使用實(shí)例 154
7.11.2 JUnit環(huán)境下使用實(shí)例 155
7.12storeSomethingSelected(selectLocator,variableName) 156
7.12.1 IDE環(huán)境下使用實(shí)例 156
7.12.2 JUnit環(huán)境下使用實(shí)例 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)境下使用實(shí)例 159
7.16.2 JUnit環(huán)境下使用實(shí)例 160
7.17 storeChecked(locator,variableName) 161
7.17.1 IDE環(huán)境下使用實(shí)例 162
7.17.2 JUnit環(huán)境下使用實(shí)例 163
7.18 storeTable(tableCellAddress,variableName) 163
7.18.1 IDE環(huán)境下使用實(shí)例 163
7.18.2 JUnit環(huán)境下使用實(shí)例 164
7.19 storeAlert(variableName) 165
7.19.1 IDE環(huán)境下使用實(shí)例 166
7.19.2 JUnit環(huán)境下使用實(shí)例 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)境下使用實(shí)例 170
7.26.2 JUnit環(huán)境下使用實(shí)例 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命令實(shí)例學(xué)習(xí) 175
8.1 assertValue(locator, pattern) 176
8.1.1 IDE環(huán)境下使用實(shí)例 176
8.1.2 JUnit環(huán)境下使用實(shí)例 177
8.2 assertText(locator, pattern) 178
8.2.1 IDE環(huán)境下使用實(shí)例 178
8.2.2 JUnit環(huán)境下使用實(shí)例 178
8.3 assertTitle(pattern) 179
8.3.1 IDE環(huán)境下使用實(shí)例 179
8.3.2 JUnit環(huán)境下使用實(shí)例 180
8.4 assertLocation(pattern) 181
8.4.1 IDE環(huán)境下使用實(shí)例 181
8.4.2 JUnit環(huán)境下使用實(shí)例 181
8.5 assertElementPresent(pattern) 182
8.5.1 IDE環(huán)境下使用實(shí)例 182
8.5.2 JUnit環(huán)境下使用實(shí)例 183
8.6 assertTextPresent(pattern) 184
8.6.1 IDE環(huán)境下使用實(shí)例 184
8.6.2 JUnit環(huán)境下使用實(shí)例 185
8.7 assertAttribute(attributelocator,pattern) 185
8.7.1 IDE環(huán)境下使用實(shí)例 185
8.7.2 JUnit環(huán)境下使用實(shí)例 186
8.8 assertSelectOptions(selectlocator,pattern) 187
8.8.1 IDE環(huán)境下使用實(shí)例 187
8.8.2 JUnit環(huán)境下使用實(shí)例 188
8.9 assertSomethingSelected(selectlocator) 189
8.9.1 IDE環(huán)境下使用實(shí)例 189
8.9.2 JUnit環(huán)境下使用實(shí)例 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)境下使用實(shí)例 192
8.13.2 JUnit環(huán)境下使用實(shí)例 193
8.14 assertChecked(locator) 194
8.14.1 IDE環(huán)境下使用實(shí)例 194
8.14.2 JUnit環(huán)境下使用實(shí)例 194
8.15 assertTable(tableCellAddress, pattern) 195
8.15.1 IDE環(huán)境下使用實(shí)例 195
8.15.2 JUnit環(huán)境下使用實(shí)例 196
8.16 assertAlert(pattern) 197
8.16.1 IDE環(huán)境下使用實(shí)例 197
8.16.2 JUnit環(huán)境下使用實(shí)例 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項(xiàng)目實(shí)踐操作 203
9.1 項(xiàng)目簡(jiǎn)介 203
9.2 注冊(cè)(Register)流程實(shí)例 203
9.2.1 流程查看 203
9.9.2 腳本內(nèi)容 204
9.3 登錄(Login)流程實(shí)例 206
9.3.1 流程查看 206
9.3.2 腳本內(nèi)容 207
9.4 查詢(Search)流程實(shí)例 208
9.4.1 流程查看 208
9.4.2 腳本內(nèi)容 208
9.5 購(gòu)物(Buy)流程實(shí)例 210
9.5.1 流程查看 210
9.5.2 腳本內(nèi)容 21