出版時(shí)間:2011-5 出版社:電子工業(yè)出版社 作者:關(guān)春銀 頁數(shù):228
Tag標(biāo)簽:無
前言
前言 自動(dòng)化測試已經(jīng)不是一個(gè)新名詞,隨著一些自動(dòng)化測試工具的出現(xiàn),并且引入國內(nèi),自動(dòng)化測試行業(yè)獲得了很好的發(fā)展,并成為測試行業(yè)中高端技術(shù)的代表。有經(jīng)驗(yàn)的測試人員希望能夠從事自動(dòng)化測試工作,剛剛?cè)腴T的測試工程師希望能夠直接接觸自動(dòng)化測試工作。自動(dòng)化測試已經(jīng)成為測試人員夢寐以求的工作。 為什么寫這本書 筆者看過很多自動(dòng)化測試方面的書,也在測試論壇上看過對(duì)各種各樣的自動(dòng)化測試工具的討論,但是針對(duì)Selenium這一開源自動(dòng)化測試工具的介紹,可以說是少之又少。而事實(shí)上Selenium是一款非常好的Web自動(dòng)化測試工具,隨著對(duì)這款工具的不斷使用,筆者對(duì)其的了解也不斷深入,發(fā)現(xiàn)使用這個(gè)工具能提高公司軟件的質(zhì)量,并且節(jié)省測試成本?! ”緯嫦虻淖x者 本書并不是完全為有經(jīng)驗(yàn)的測試工程師而寫的,因?yàn)槠渲薪榻B了測試的主要基本知識(shí),并且伴有實(shí)例介紹,對(duì)于初學(xué)者來說是一本非常好的測試書籍;而有經(jīng)驗(yàn)的測試工程師則可以跳過第1章,直接閱讀自動(dòng)化測試的相關(guān)內(nèi)容。無論你是初學(xué)者還是有經(jīng)驗(yàn)的測試工程師,都能輕松學(xué)會(huì)使用Selenium這個(gè)自動(dòng)化測試工具。本書采用的實(shí)例都是讀者可以自己實(shí)現(xiàn)的實(shí)例,使用的都是讀者可以訪問的電子商務(wù)平臺(tái),通過這樣的實(shí)例練習(xí),讀者可以更真實(shí)地學(xué)習(xí)Selenium,并且進(jìn)一步深入了解此工具?! ”緯慕Y(jié)構(gòu) 第1章主要介紹軟件測試的基本知識(shí) 第2章主要介紹Selenium,以及自動(dòng)化測試的基礎(chǔ)知識(shí)、測試的流程 第3章主要介紹IDE的安裝及使用,通過本章的學(xué)習(xí),將了解到如何使用IDE進(jìn)行自動(dòng)化測試 第4章主要介紹Selenium腳本編寫環(huán)境的搭建,從這章開始,就進(jìn)入用工具語言編寫腳本流程的學(xué)習(xí),為后面腳本的深入學(xué)習(xí)打下基礎(chǔ) 第5章主要通過具體實(shí)例介紹了Element Locators和Patterns,讀者可以自己根據(jù)書中的介紹學(xué)習(xí) 第6章主要通過具體實(shí)例介紹Selenium中Actions命令,讀者可以根據(jù)書中的介紹學(xué)習(xí) 第7章主要通過具體實(shí)例介紹Selenium中Accessors命令,讀者可以根據(jù)書中的介紹學(xué)習(xí) 第8章主要通過具體實(shí)例介紹Selenium中Assertions命令,讀者可以根據(jù)書中的介紹學(xué)習(xí) 第9章通過具體的項(xiàng)目實(shí)例,講解Selenium如何針對(duì)項(xiàng)目進(jìn)行自動(dòng)化測試 致謝 感謝廣大讀者對(duì)《Selenium自動(dòng)化測試進(jìn)階》的支持?! ≡谶@里要感謝很多人無私的幫助與支持,感謝四海商舟創(chuàng)始人周寧先生、四海商舟總裁兼COO毛從任先生,以及四海商舟研發(fā)中心總監(jiān)王林先生,正是因?yàn)樗麄兊拇罅χС郑@本書才能順利面世。 同時(shí)要感謝四海商舟所有部門的付出,正是在他們提供的眾多電子商務(wù)平臺(tái)的基礎(chǔ)上,在這些長期的日常測試過程中,我們不斷總結(jié)經(jīng)驗(yàn),發(fā)現(xiàn)錯(cuò)誤、彌補(bǔ)缺陷,提煉技巧,并最終有了這本書的精華集成。因此,也要感謝與筆者朝夕相伴的質(zhì)量部的兄弟姐妹們,正是他們的辛勤工作,筆者得以有更多的空余時(shí)間來總結(jié)提煉,完成這本書?! ∽詈筮€要感謝電子工業(yè)出版社,感謝李冰女士對(duì)本書的出版工作給予的大力支持,以及付出的努力。00000
內(nèi)容概要
自動(dòng)化測試已經(jīng)不是一個(gè)新名詞,隨著一些自動(dòng)化測試工具的出現(xiàn)并且進(jìn)入國內(nèi),自動(dòng)化測試行業(yè)的發(fā)展很快。本書對(duì)開源自動(dòng)化測試工具Selenium進(jìn)行了詳細(xì)介紹,幫助讀者熟練掌握Selenium的使用方法。
本書將電子商務(wù)平臺(tái)下的Selenium測試技巧通過具有代表性的實(shí)例分析,深入淺出地把相關(guān)概念和知識(shí)點(diǎn)展現(xiàn)給讀者。本書主要內(nèi)容包括軟件測試的基礎(chǔ)、Selenium自動(dòng)化測試基礎(chǔ)知識(shí)、IDE安裝及介紹、Selenium腳本編寫環(huán)境的搭建、腳本元素定位實(shí)例學(xué)習(xí)、Selenium中Action命令實(shí)例學(xué)習(xí)、Selenium中Accessors命令實(shí)例學(xué)習(xí)、Selenium中Assertions命令實(shí)例學(xué)習(xí)、Selenium項(xiàng)目實(shí)踐操作等。
讀者對(duì)象:本書可作為剛進(jìn)入性能測試領(lǐng)域的測試工程師的入門參考書,對(duì)已經(jīng)有一定性能測試經(jīng)驗(yàn)的讀者來說,也是一本整理思路、融會(huì)貫通的總結(jié)筆記。
書籍目錄
第1章 軟件測試的基礎(chǔ)1
1.1 概要1
1.2 軟件生命周期的各個(gè)階段2
1.3 軟件測試概述5
1.4 軟件測試的目的7
1.5 軟件測試的方法8
1.5.1 等價(jià)類劃分法8
1.5.2 邊界值分析法9
1.5.3 錯(cuò)誤猜測法10
1.6 通過軟件測試找出缺陷10
第2章 Selenium自動(dòng)化測試基礎(chǔ)知識(shí)13
2.1 什么是自動(dòng)化測試13
2.2 自動(dòng)化測試的流程15
2.2.1 軟件測試工作的流程16
2.2.2 自動(dòng)化測試的流程21
2.3 什么是Selenium23
2.4 為什么選擇Selenium作為Web自動(dòng)化測試工具24
2.5 如何選擇合適的Selenium25
第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 URL44
3.3.4 測試錄制回放工具條45
3.3.5 測試用例面板46
3.3.6 詳細(xì)信息欄48
3.3.7 IDE錄制腳本、回放腳本50
3.3.8 增加測試結(jié)果屬性驗(yàn)證53
3.3.9 IDE 命令插入54
第4章 Selenium腳本編寫環(huán)境的搭建56
4.1 腳本開發(fā)環(huán)境的搭建——JUnit56
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.12
storeSomethingSelected(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)目簡介203
9.2 注冊(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 購物(Buy)流程實(shí)例210
9.5.1 流程查看210
9.5.2 腳本內(nèi)容21
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載