Selenium測(cè)試實(shí)踐

出版時(shí)間:2011-5  出版社:電子工業(yè)出版社  作者:關(guān)春銀  頁(yè)數(shù):228  
Tag標(biāo)簽:無(wú)  

前言

  前言  自動(dòng)化測(cè)試已經(jīng)不是一個(gè)新名詞,隨著一些自動(dòng)化測(cè)試工具的出現(xiàn),并且引入國(guó)內(nèi),自動(dòng)化測(cè)試行業(yè)獲得了很好的發(fā)展,并成為測(cè)試行業(yè)中高端技術(shù)的代表。有經(jīng)驗(yàn)的測(cè)試人員希望能夠從事自動(dòng)化測(cè)試工作,剛剛?cè)腴T的測(cè)試工程師希望能夠直接接觸自動(dòng)化測(cè)試工作。自動(dòng)化測(cè)試已經(jīng)成為測(cè)試人員夢(mèng)寐以求的工作?! 槭裁磳戇@本書  筆者看過(guò)很多自動(dòng)化測(cè)試方面的書,也在測(cè)試論壇上看過(guò)對(duì)各種各樣的自動(dòng)化測(cè)試工具的討論,但是針對(duì)Selenium這一開(kāi)源自動(dòng)化測(cè)試工具的介紹,可以說(shuō)是少之又少。而事實(shí)上Selenium是一款非常好的Web自動(dòng)化測(cè)試工具,隨著對(duì)這款工具的不斷使用,筆者對(duì)其的了解也不斷深入,發(fā)現(xiàn)使用這個(gè)工具能提高公司軟件的質(zhì)量,并且節(jié)省測(cè)試成本?! ”緯嫦虻淖x者  本書并不是完全為有經(jīng)驗(yàn)的測(cè)試工程師而寫的,因?yàn)槠渲薪榻B了測(cè)試的主要基本知識(shí),并且伴有實(shí)例介紹,對(duì)于初學(xué)者來(lái)說(shuō)是一本非常好的測(cè)試書籍;而有經(jīng)驗(yàn)的測(cè)試工程師則可以跳過(guò)第1章,直接閱讀自動(dòng)化測(cè)試的相關(guān)內(nèi)容。無(wú)論你是初學(xué)者還是有經(jīng)驗(yàn)的測(cè)試工程師,都能輕松學(xué)會(huì)使用Selenium這個(gè)自動(dòng)化測(cè)試工具。本書采用的實(shí)例都是讀者可以自己實(shí)現(xiàn)的實(shí)例,使用的都是讀者可以訪問(wèn)的電子商務(wù)平臺(tái),通過(guò)這樣的實(shí)例練習(xí),讀者可以更真實(shí)地學(xué)習(xí)Selenium,并且進(jìn)一步深入了解此工具?! ”緯慕Y(jié)構(gòu)  第1章主要介紹軟件測(cè)試的基本知識(shí)  第2章主要介紹Selenium,以及自動(dòng)化測(cè)試的基礎(chǔ)知識(shí)、測(cè)試的流程  第3章主要介紹IDE的安裝及使用,通過(guò)本章的學(xué)習(xí),將了解到如何使用IDE進(jìn)行自動(dòng)化測(cè)試  第4章主要介紹Selenium腳本編寫環(huán)境的搭建,從這章開(kāi)始,就進(jìn)入用工具語(yǔ)言編寫腳本流程的學(xué)習(xí),為后面腳本的深入學(xué)習(xí)打下基礎(chǔ)  第5章主要通過(guò)具體實(shí)例介紹了Element Locators和Patterns,讀者可以自己根據(jù)書中的介紹學(xué)習(xí)  第6章主要通過(guò)具體實(shí)例介紹Selenium中Actions命令,讀者可以根據(jù)書中的介紹學(xué)習(xí)  第7章主要通過(guò)具體實(shí)例介紹Selenium中Accessors命令,讀者可以根據(jù)書中的介紹學(xué)習(xí)  第8章主要通過(guò)具體實(shí)例介紹Selenium中Assertions命令,讀者可以根據(jù)書中的介紹學(xué)習(xí)  第9章通過(guò)具體的項(xiàng)目實(shí)例,講解Selenium如何針對(duì)項(xiàng)目進(jìn)行自動(dòng)化測(cè)試  致謝  感謝廣大讀者對(duì)《Selenium自動(dòng)化測(cè)試進(jìn)階》的支持?! ≡谶@里要感謝很多人無(wú)私的幫助與支持,感謝四海商舟創(chuàng)始人周寧先生、四海商舟總裁兼COO毛從任先生,以及四海商舟研發(fā)中心總監(jiān)王林先生,正是因?yàn)樗麄兊拇罅χС?,這本書才能順利面世?! ⊥瑫r(shí)要感謝四海商舟所有部門的付出,正是在他們提供的眾多電子商務(wù)平臺(tái)的基礎(chǔ)上,在這些長(zhǎng)期的日常測(cè)試過(guò)程中,我們不斷總結(jié)經(jīng)驗(yàn),發(fā)現(xiàn)錯(cuò)誤、彌補(bǔ)缺陷,提煉技巧,并最終有了這本書的精華集成。因此,也要感謝與筆者朝夕相伴的質(zhì)量部的兄弟姐妹們,正是他們的辛勤工作,筆者得以有更多的空余時(shí)間來(lái)總結(jié)提煉,完成這本書?! ∽詈筮€要感謝電子工業(yè)出版社,感謝李冰女士對(duì)本書的出版工作給予的大力支持,以及付出的努力。00000

內(nèi)容概要

  自動(dòng)化測(cè)試已經(jīng)不是一個(gè)新名詞,隨著一些自動(dòng)化測(cè)試工具的出現(xiàn)并且進(jìn)入國(guó)內(nèi),自動(dòng)化測(cè)試行業(yè)的發(fā)展很快。本書對(duì)開(kāi)源自動(dòng)化測(cè)試工具Selenium進(jìn)行了詳細(xì)介紹,幫助讀者熟練掌握Selenium的使用方法。
本書將電子商務(wù)平臺(tái)下的Selenium測(cè)試技巧通過(guò)具有代表性的實(shí)例分析,深入淺出地把相關(guān)概念和知識(shí)點(diǎn)展現(xiàn)給讀者。本書主要內(nèi)容包括軟件測(cè)試的基礎(chǔ)、Selenium自動(dòng)化測(cè)試基礎(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)入性能測(cè)試領(lǐng)域的測(cè)試工程師的入門參考書,對(duì)已經(jīng)有一定性能測(cè)試經(jīng)驗(yàn)的讀者來(lái)說(shuō),也是一本整理思路、融會(huì)貫通的總結(jié)筆記。

書籍目錄

第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 什么是Selenium23
 2.4 為什么選擇Selenium作為Web自動(dòng)化測(cè)試工具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 測(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腳本編寫環(huán)境的搭建56
 4.1 腳本開(kāi)發(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)目簡(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

圖書封面

圖書標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    Selenium測(cè)試實(shí)踐 PDF格式下載


用戶評(píng)論 (總計(jì)15條)

 
 

  •   一翻開(kāi)就后悔了,書里面其實(shí)沒(méi)什么內(nèi)容,排版排的很散,感覺(jué)在充頁(yè)數(shù)那樣,幾乎每一頁(yè)都是零零散散幾行文字加幾個(gè)超大的圖片,實(shí)在不值這么多錢,想買的人慎重考慮。。
  •   什么狗屁書啊,比大學(xué)生的畢業(yè)論文都水,盡然把firefox的安裝都能截圖解說(shuō)浪費(fèi)好幾頁(yè),并且各種截圖,各種稀稀拉拉的排版占頁(yè),看來(lái)作者為了200頁(yè)的書可沒(méi)少費(fèi)勁,估計(jì)真得累屎了。這種書也學(xué)不到什么東西,不入去論壇看看。
  •   重復(fù)的文字太多,有用的東西太少
  •   不喜歡,沒(méi)啥有用的內(nèi)容
  •   書的內(nèi)容太空了,都是些安裝界面。
  •   適合初學(xué)者,但是對(duì)SE有一定了解的人就不必了,大多都是基礎(chǔ)中得基礎(chǔ)
  •   推薦另一本介紹selenium的書籍《零成本實(shí)現(xiàn)web自動(dòng)化測(cè)試》,比這本的內(nèi)容更詳實(shí),更貼近實(shí)戰(zhàn)
  •   測(cè)試實(shí)踐基于電子商務(wù)平臺(tái):電商類精品
  •   垃圾,超垃圾
  •   內(nèi)容有點(diǎn)皮毛了,太基礎(chǔ)了
  •   書的內(nèi)容太基礎(chǔ)了
  •   東西不錯(cuò)~~~~~性價(jià)比高~~
  •   紙張?zhí)?/li>
  •   很適合selenium入門的人學(xué)
  •   還沒(méi)來(lái)得及看,幫同事定的
 

250萬(wàn)本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7