書(shū)????名 | 框架設(shè)計(jì) | 別????名 | CLR Via C#.3e |
---|---|---|---|
作????者 | (美國(guó))瑞奇特(Jeffrey Richter) [2]? | 類(lèi)????別 | 工業(yè)設(shè)計(jì) |
出版社 | 東南大學(xué)出版社 | 出版時(shí)間 | 2010年10月1日 |
頁(yè)????數(shù) | 873 頁(yè) | 開(kāi)????本 | 16 開(kāi) |
裝????幀 | 平裝 | ISBN | 9787564124144,7564124148 |
語(yǔ)????種 | 英語(yǔ) | 紙 張 | 膠版紙 [2]? |
開(kāi) 本 | 12開(kāi) [2]? |
從《框架設(shè)計(jì)(第3版)(影印版)》理解以下內(nèi)容:建立、部署基于版本的應(yīng)用程序、組件和共享程序集,在理解原語(yǔ)、數(shù)值和引用類(lèi)型行為的基礎(chǔ)上來(lái)定義并更高效地使用它們。使用泛型和接口定義可重用算法,有效地使用特殊的CLR類(lèi)型——委托、枚舉、自定義屬性、數(shù)組、字符串 。
理解垃圾收集器如何管理資源
使用線程池、任務(wù)、取消模式、定時(shí)器和異步I/O操作來(lái)設(shè)計(jì)靈活、可靠、可擴(kuò)展的解決方案,
使用異常處理以協(xié)助狀態(tài)管理
使用CLR托管、AppDomain、程序集加載、反射和C#動(dòng)態(tài)
類(lèi)型來(lái)構(gòu)建動(dòng)態(tài)可擴(kuò)展的應(yīng)用程序
Foreward
Introduction
Part l CLR Basics
1 The CLR's Execution Model
Compiling Source Code into Managed Modules
Combining Managed Modules into Assemblies
Loading the Common Language Runtime
Executing Your Assembly's Code
IL and Verification
Unsafe Code
The Native Code Generator Tool: NGen.exe
The Framework Class Library
The Common Type System
The Common Language Specification
Interoperability with Unmanaged Code
2 Building, Packaging, Deploying, and Administering Applications and Types
.NET Framework Deployment Goals
Building Types into a Module
Response Files
A Brief Look at Metadata
Combining Modules to Form an Assembly
Adding Assemblies to a Project by Using the Visual Studio IDE
Using the Assembly Linker
Adding Resource Files to an Assembly
Assembly Version Resource Information
Version Numbers
Culture
Simple Application Deployment (Privately Deployed Assemblies)
Simple Administrative Control (Configuration)
3 Shared Assemblies and Strongly Named Assemblies
Two Kinds of Assemblies, Two Kinds of Deployment
Giving an Assembly a Strong Name
The Global Assembly Cache
Building an Assembly That References a Strongly Named Assembly
Strongly Named Assemblies Are Tamper-Resistant
Delayed Signing
Privately Deploying Strongly Named Assemblies
How the Runtime Resolves Type References
Advanced Administrative Control (Configuration)
Publisher Policy Control
Part II Designing Types
4 Type Fundamentals
All Types Are Derived from System.Object
Casting Between Types
Casting with the C# s and as Operators
Namespaces and Assemblies
How Things Relate at Runtime
5 Primitive, Reference, and Value Types
Programming Language Primitive Types
Checked and Unchecked Primitive Type Operations
Reference Types and Value Types
Boxing and Unboxing Value Types
Changing Fields in a Boxed Value Type by Using Interfaces (and Why You Shouldn't Do This)
Object Equality and Identity
Object Hash Codes
The dynamic Primitive Type
6 Type and Member Basics
The Different Kinds of Type Members
Type Visibility
Friend Assemblies
Member Accessibility
Static Classes
Partial Classes, Structures, and Interfaces
Components, Polymorphism, and Versioning
How the CLR Calls Virtual Methods, Properties, and Events
Using Type Visibility and Member Accessibility Intelligently
Dealing with Virtual Methods When Versioning Types
7 Constants and Fields
Constants
Fields
8 Methods
Instance Constructors and Classes (Reference Types)
Instance Constructors and Structures (Value Types)
Type Constructors
Type Constructor Performance
Operator Overload Methods
Operators and Programming Language Interoperability
Conversion Operator Methods
Extension Methods
Rules and Guidelines
Extending Various Types with Extension Methods
The Extension Attribute
Partial Methods
Rules and Guidelines
9 Parameters
Optional and Named Parameters
Rules and Guidelines
The Defaul tParameterVal ue and Optional Attributes
Implicitly Typed Local Variables
Passing Parameters by Reference to a Method
Passing a Variable Number of Arguments to a Method
Parameter and Return Type Guidelines
Const-ness
10 Properties .
Parameterless Properties
Automatically Implemented Properties
Defining Properties Intelligently
Object and Collection Initializers
Anonymous Types
The System, Tuple Type
Parameterful Properties
The Performance of Calling Property Accessor Methods
Property Accessor Accessibility
Generic Property Accessor Methods
11 Events
Designing a Type That Exposes an Event
Step #1: Define a type that will hold any additional information
that should be sent to receivers of the event notification
Step #2: Define the event member
Step #3: Define a method responsible for raising the event to
notify registered obJects that the event has occurred
Step #4: Define a method that translates the input into the desired event.
How the Compiler Implements an Event
Designing a Type That Listens for an Event
Explicitly Implementing an Event
12 Generics
Generics in the Framework Class Library
Wintellect's Power Collections Library
Generics Infrastructure
Open and Closed Types
Generic Types and Inheritance
Generic Type Identity
Code Explosion
Generic Interfaces
Generic Delegates
Delegate and Interface Contravariant and Covariant Generic Type Arguments.
Generic Methods
Generic Methods and Type Inference
Generics and Other Members
Verifiability and Constraints
Primary Constraints
Secondary Constraints
Constructor Constraints
Other Verifiability Issues
13 Interfaces
Class and Interface Inheritance
Defining an Interface
Inheriting an Interface
More About Calling Interface Methods...
Implicit and Explicit Interface Method Implementations (What's Happening Behind the Scenes)
Generic Interfaces
Generics and Interface Constraints
Implementing Multiple Interfaces That Have the Same Method Name and Signature
Improving Compile-Time Type Safety with Explicit Interface Method Implementations
Be Careful with Explicit Interface Method Implementations
Design: Base Class or Interface"para" label-module="para">
Part III Essential Types
14 Chars, Strings, and Working with Text
Characters
The System, String Type
Constructing Strings
Strings Are Immutable
Comparing Strings
……2100433B
作者:(美國(guó))瑞奇特(Jeffrey Richter)
Jeffrey Richter是Winteltect的共同創(chuàng)辦人之一,這是一家培訓(xùn)、咨詢和調(diào)試相關(guān)的企業(yè),專(zhuān)門(mén)致力于幫助其他公司更快構(gòu)建更好的軟件。他于1999年10月開(kāi)始為微軟的.NET框架團(tuán)隊(duì)提供咨詢,并已促成了微軟的數(shù)款產(chǎn)品。除了本書(shū)之前的版本,他還寫(xiě)過(guò)一些其他流行的主題,包括《Windows via C/C 》和《Advanced Windows》。
請(qǐng)問(wèn)pkpm框架設(shè)計(jì)如何生成基礎(chǔ)圖
在結(jié)構(gòu)jccad里面,先是基礎(chǔ)人機(jī)交互輸入,在這個(gè)目錄里面先選擇荷載,加入是satwe荷載,選擇荷載,再進(jìn)行基礎(chǔ)的布置,這個(gè)任務(wù)完成了再進(jìn)行基礎(chǔ)施工圖目錄
自建框架結(jié)構(gòu)房框架設(shè)計(jì)問(wèn)題求解?
都變成框架柱就行了,柱截面尺寸變成300×300。室內(nèi)布局要調(diào)整,好好琢磨,琢磨!
pkpm鋼結(jié)構(gòu)框架設(shè)計(jì)教程(多層)
pkpm都是需要用戶先定義構(gòu)件尺寸 軟件再來(lái)計(jì)算 最后出施工圖。如果你是剛開(kāi)始搞結(jié)構(gòu)的 可以在163土木在線那里搜有很多視頻教程。
格式:pdf
大小:124KB
頁(yè)數(shù): 1頁(yè)
評(píng)分: 4.7
《商業(yè)時(shí)代 ?學(xué)術(shù)評(píng)論》 2006年9期24 略地圖簡(jiǎn)介 戰(zhàn)略地圖是以平衡計(jì)分卡四個(gè)層 面的相互關(guān)系為內(nèi)核,把四個(gè)層面通過(guò)因 果關(guān)系鏈條串起來(lái)。它提供了一個(gè)框架來(lái) 清晰地說(shuō)明戰(zhàn)略如何將無(wú)形資產(chǎn)與價(jià)值創(chuàng) 造流程聯(lián)系起來(lái),內(nèi)部流程是如何創(chuàng)造并 傳遞客戶價(jià)值主張以及滿足客戶價(jià)值主張 帶來(lái)的財(cái)務(wù)成果。這個(gè)框架從學(xué)習(xí)與成長(zhǎng) 層面確定了需要利用哪些工作(人力資 本)、哪些系統(tǒng)(信息資本)、哪種氛圍(組 織資本)來(lái)支持創(chuàng)造價(jià)值的流程(內(nèi)部流 程層面),進(jìn)而給客戶的價(jià)值主張帶來(lái)特殊 的價(jià)值(客戶層面),實(shí)現(xiàn)更高的財(cái)務(wù)價(jià)值 (財(cái)務(wù)層面),從而實(shí)現(xiàn)企業(yè)的戰(zhàn)略目標(biāo)。 戰(zhàn)略地圖就是組織需要的交流戰(zhàn)略和實(shí) 施戰(zhàn)略的過(guò)程和系統(tǒng)。 它提供了一個(gè)描述戰(zhàn) 略的統(tǒng)一方法,使戰(zhàn)略目標(biāo)和各項(xiàng)指標(biāo)可以 被建立和管理。圖1 中的戰(zhàn)略地圖模板為戰(zhàn) 略的構(gòu)成要素及其相互關(guān)系提供了一個(gè)標(biāo)準(zhǔn) 化的清單。戰(zhàn)略地圖使企業(yè)關(guān)鍵關(guān)系可視 化,明晰了
格式:pdf
大小:124KB
頁(yè)數(shù): 4頁(yè)
評(píng)分: 4.7
系統(tǒng)的整體框架設(shè)計(jì)的政府面對(duì)的信息資源及應(yīng)用多種多樣,來(lái)自有不同的操作系統(tǒng),不同的開(kāi)發(fā)平臺(tái)和不同的應(yīng)用數(shù)據(jù)庫(kù)?;赑ortal 平臺(tái)的政府信息集成框架,試圖以最小的代價(jià)在企業(yè)應(yīng)用系統(tǒng)的構(gòu)架層次上,為政府提供了一個(gè)跨越多種分散的、內(nèi)部和外部的信息處理過(guò)程的集成紐帶,把這些信息整合到一起。它是基于J2EE 的三層B/S 結(jié)構(gòu),包括門(mén)戶、信息集成接入層、應(yīng)用層、數(shù)據(jù)存儲(chǔ)接口層。
框架:
①應(yīng)用層是指政府已經(jīng)存在的所有信息資源,包括政府內(nèi)部或外部的各種應(yīng)用系統(tǒng),還包括來(lái)自不同系統(tǒng)的結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù),它們都是政府信息集成平臺(tái)需要整合的對(duì)象。
②信息集成接入層為政府信息集成平臺(tái)實(shí)現(xiàn)資源整合提供底層構(gòu)件庫(kù),包括本地和遠(yuǎn)程應(yīng)用集成構(gòu)件,為實(shí)現(xiàn)不同類(lèi)型的信息集成提供底層支持。同時(shí)提供對(duì)所有信息資源的統(tǒng)一管理、統(tǒng)一授權(quán),實(shí)現(xiàn)對(duì)信息的統(tǒng)一訪問(wèn)。
③展示層是信息集成平臺(tái)中把經(jīng)過(guò)整合的信息資源展現(xiàn)給用戶的最外層,它只關(guān)注如何展現(xiàn)信息,統(tǒng)一的視圖管理使用戶可以設(shè)定各自的個(gè)性化輸出,用戶只需單點(diǎn)登陸到政府門(mén)戶就可以得到所關(guān)注的信息。在這個(gè)框架中,政府所有的信息應(yīng)用都作為后端應(yīng)用層,信息集成接入層中的集成構(gòu)件根據(jù)后端應(yīng)用層傳入的信息資源類(lèi)型,通過(guò)資源定義和分配、建立不同系統(tǒng)間的用戶口令轉(zhuǎn)換的對(duì)應(yīng)關(guān)系,采用不同的集成構(gòu)件分別進(jìn)行處理,傳遞給前端的展示層,由政府門(mén)戶統(tǒng)一展示給用戶 。
全書(shū)共分3部分,第 1部分包括第 1~8章,介紹了有關(guān)測(cè)試框架與UI自動(dòng)化測(cè)試的主題。在第 1章中介紹了若干種不同類(lèi)型的自動(dòng)化測(cè)試實(shí)踐,并提出了T型自動(dòng)化測(cè)試框架以及紡錘形自動(dòng)化測(cè)試模型。在第 2章介紹了自動(dòng)化測(cè)試中如何進(jìn)行數(shù)據(jù)的交互與管理,并結(jié)合實(shí)際案例列舉了Java屬性文件、XML、Excel、數(shù)據(jù)庫(kù)以及CSV等不同的處理方式。第3章和第4章介紹如何分層構(gòu)建Solvent、SeMet等底層框架。第5~8章是有關(guān)TestLink UI自動(dòng)化測(cè)試框架的構(gòu)建。第 2部分是UI自動(dòng)化框架橫向拓展的主題。第3部分講解API測(cè)試。實(shí)現(xiàn)了UI/API的分層自動(dòng)化測(cè)試,并探討了在敏捷模式下,通過(guò)統(tǒng)一框架,同一用例在不同技術(shù)實(shí)現(xiàn)方式下無(wú)縫切換運(yùn)行的可行性和由此帶來(lái)的價(jià)值。第 16章介紹了Webdriver的基礎(chǔ)概念及簡(jiǎn)單元素封裝、自定義Page Object等內(nèi)容。讀者可以按照此書(shū)介紹的方法,根據(jù)自身工作中被測(cè)應(yīng)用的實(shí)際特點(diǎn),加上適當(dāng)?shù)墓ぞ?,?lái)嘗試建立適合自身項(xiàng)目實(shí)際需求的自動(dòng)化測(cè)試框架。本書(shū)是幫助讀者從初學(xué)者踏上通往更高層級(jí)測(cè)試工程師的階梯。
本書(shū)適合作為測(cè)試初學(xué)者、測(cè)試從業(yè)人員、測(cè)試經(jīng)理、測(cè)試管理人員、測(cè)試開(kāi)發(fā)人員的參考用書(shū),也可以作為大專(zhuān)院校相關(guān)專(zhuān)業(yè)的師生用書(shū)和培訓(xùn)學(xué)校的教材。
第 1部分 構(gòu)建UI自動(dòng)化框架
第 1章 BCO團(tuán)隊(duì)的自動(dòng)化之旅 2
1.1 奧運(yùn)年的新挑戰(zhàn) 2
1.1.1 BCO是什么 2
1.1.2 為什么需要BCO 2
1.1.3 測(cè)試任務(wù)與測(cè)試內(nèi)容 3
1.1.4 利益干系人 4
1.1.5 Pink Mail、Escalation和SPRTracker 5
1.1.6 溝通,還是溝通 5
1.2 史前的自動(dòng)化 6
1.2.1 自動(dòng)化安裝系統(tǒng) 6
1.2.2 快速回歸測(cè)試系統(tǒng)的混合自動(dòng)化 6
1.2.3 來(lái)自小眾自動(dòng)化工具的框架 7
1.3 五天太久,還能壓縮嗎 8
1.3.1 BCO版本發(fā)布用時(shí)分布 8
1.3.2 缺陷壓力測(cè)試 9
1.4 聽(tīng)說(shuō)又有一個(gè)新框架了 10
1.4.1 初見(jiàn)Solvent 11
1.4.2 學(xué)習(xí)XPath和HTML 12
1.4.3 XPath定位工具 12
1.4.4 自信與挑戰(zhàn) 13
1.4.5 找到適合自身的實(shí)踐對(duì)象 14
1.4.6 框架的歸屬問(wèn)題 14
1.4.7 Automation 100 15
1.5 冰山 15
1.5.1 假失敗 15
1.5.2 低優(yōu)先級(jí)的自動(dòng)化Backlog 16
1.5.3 破窗與“造輪子” 16
1.6 再啟航 16
1.6.1 自動(dòng)化測(cè)試金字塔與冰淇淋 17
1.6.2 橄欖形的自動(dòng)化測(cè)試 18
第 2章 測(cè)試數(shù)據(jù)管理 19
2.1 簡(jiǎn)介 19
2.2 測(cè)試數(shù)據(jù)分類(lèi) 19
2.3 測(cè)試數(shù)據(jù)交互基本方法 20
2.3.1 使用Java的系統(tǒng)屬性 21
2.3.2 使用操作系統(tǒng)的環(huán)境變量 22
2.3.3 使用屬性文件 23
2.4 使用XML文件 23
2.4.1 Webdriver中的定位方法 24
2.4.2 使用dom4j進(jìn)行解析 25
2.5 使用Excel 27
2.5.1 經(jīng)典的DataTable 27
2.5.2 強(qiáng)關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化用例 28
2.5.3 Apache POI介紹 29
2.5.4 單個(gè)工作表的解析 30
2.5.5 整個(gè)工作簿的解析 34
2.5.6 用例解析與執(zhí)行 35
2.5.7 Mock API類(lèi) 38
2.5.8 Mock API適配器類(lèi) 39
2.6 使用數(shù)據(jù)庫(kù) 40
2.6.1 JDBC連接數(shù)據(jù)庫(kù) 41
2.6.2 使用Apache DbUtils 44
2.6.3 從TestLink數(shù)據(jù)庫(kù)中讀取數(shù)據(jù) 46
2.7 使用CSV文件 47
2.7.1 CSV文件數(shù)據(jù)解析思路 48
2.7.2 實(shí)現(xiàn)泛型解析 48
2.7.3 對(duì)象類(lèi)案例 49
2.7.4 提供數(shù)據(jù)源的外部訪問(wèn) 50
2.7.5 CSV文件通過(guò)SQL方式查詢結(jié)果 50
第3章 構(gòu)建Solvent 53
3.1 框架是什么 53
3.1.1 六萬(wàn)立方米的混凝土大底板 53
3.1.2 測(cè)試框架及其目標(biāo) 53
3.2 Solvent與JUnit 54
3.3 遲早,你需要一個(gè)基類(lèi) 54
3.3.1 用例基類(lèi)SolventTestCase 55
3.3.2 業(yè)務(wù)功能基類(lèi)Solvent 57
3.4 基于Log4j的日志 60
3.4.1 Log4j簡(jiǎn)介 60
3.4.2 一個(gè)簡(jiǎn)單的例子 62
3.4.3 實(shí)現(xiàn)SolventLogger類(lèi) 63
3.4.4 使用SolventLogger 64
3.5 使用TestWatcher截屏 65
3.5.1 功能分析 65
3.5.2 實(shí)現(xiàn)示例 65
3.6 經(jīng)改造的Apache計(jì)時(shí)器 66
3.6.1 Apache的計(jì)時(shí)器 66
3.6.2 Solvent增強(qiáng)的計(jì)時(shí)器 67
3.6.3 部署計(jì)時(shí)器 68
3.6.4 計(jì)時(shí)精度與延遲 69
3.7 使用Timeout進(jìn)行超時(shí)判負(fù) 70
3.8 自定義檢查點(diǎn)CheckPoint 70
3.8.1 檢查點(diǎn)類(lèi)CheckPoint 70
3.8.2 部署與使用 73
3.9 Configurator提供統(tǒng)一框架配置參數(shù) 75
3.9.1 Configurator類(lèi)的實(shí)現(xiàn) 75
3.9.2 雙重參數(shù)文件的讀取 78
3.9.3 配置參數(shù)的使用 80
3.10 基于XML的運(yùn)行時(shí)參數(shù)處理 81
3.10.1 來(lái)自XML的用例數(shù)據(jù)集 81
3.10.2 InputFileFinder獲取輸入文件 82
3.10.3 InputFileDigester進(jìn)行解析 83
3.10.4 數(shù)據(jù)結(jié)構(gòu)之SolventTestDataSetBean 85
3.10.5 數(shù)據(jù)結(jié)構(gòu)之SolventTestDataSet 87
3.10.6 在SolventTestCase中完成解析 88
3.10.7 SolventTestCase提供統(tǒng)一數(shù)據(jù)獲取方法 89
3.10.8 測(cè)試用例參數(shù)化案例 90
第4章 構(gòu)建SeMet 92
4.1 SeMet是什么 92
4.2 引入SeMet類(lèi) 92
4.3 引入TLTestCase 98
4.4 引入SeMetWebDriverSession類(lèi) 99
4.5 引入Webdrivers工廠類(lèi) 100
4.6 小結(jié) 101
第5章 TestLink自動(dòng)化測(cè)試 102
5.1 自動(dòng)化測(cè)試策略 102
5.2 為什么是TestLink 103
5.3 TestLink簡(jiǎn)介 105
5.4 TestLink安裝 105
5.4.1 XAMPP的安裝 106
5.4.2 TestLink部署 107
5.5 TestLink主要功能分析 108
5.5.1 基于文檔的測(cè)試 108
5.5.2 TestLink基本業(yè)務(wù)對(duì)象 109
5.5.3 模塊與功能點(diǎn) 109
5.6 TestLink頁(yè)面分析 110
5.6.1 頁(yè)面結(jié)構(gòu)分析 110
5.6.2 Web組件分析 112
5.7 框架 113
5.7.1 Webdriver中有關(guān)(i)frame的處理方法 114
5.7.2 回到原點(diǎn)的frame處理方法 114
5.7.3 工具類(lèi)FrameHelper 115
5.7.4 一級(jí)頁(yè)面的使用方法 116
5.7.5 二級(jí)以下頁(yè)面的使用方法 116
5.7.6 不同框架下使用組件的方法 117
5.8 左右選擇框 118
5.8.1 頁(yè)面分析及自動(dòng)化實(shí)現(xiàn) 118
5.8.2 功能分析及自動(dòng)化實(shí)現(xiàn) 120
5.9 浮動(dòng)對(duì)話框 121
5.9.1 頁(yè)面分析及自動(dòng)化實(shí)現(xiàn) 121
5.9.2 功能分析及自動(dòng)化實(shí)現(xiàn) 123
5.9.3 復(fù)選框的簡(jiǎn)單增強(qiáng) 125
5.10 樹(shù) 126
5.10.1 頁(yè)面分析及自動(dòng)化實(shí)現(xiàn) 126
5.10.2 功能分析及自動(dòng)化實(shí)現(xiàn) 128
5.11 表格 130
5.11.1 頁(yè)面分析及自動(dòng)化實(shí)現(xiàn) 131
5.11.2 功能分析及自動(dòng)化實(shí)現(xiàn) 132
5.11.3 TableSeMet子類(lèi) 134
5.12 下拉選擇框 136
5.12.1 組件介紹 136
5.12.2 功能與測(cè)試點(diǎn)分析 137
5.12.3 SelectboxSeMet類(lèi) 138
5.13 小結(jié) 140
第6章 頁(yè)面封裝—從登錄到測(cè)試項(xiàng)目管理 142
6.1 登錄——三段式頁(yè)面封裝法 142
6.2 測(cè)試項(xiàng)目對(duì)象TestProjectBean-使用方法鏈 144
6.3 創(chuàng)建測(cè)試項(xiàng)目類(lèi)CreateProjectSeMet 146
6.3.1 頁(yè)面定位 146
6.3.2 頁(yè)面元素定位 146
6.3.3 元素獲取與簡(jiǎn)單操作 146
6.3.4 高 級(jí)業(yè)務(wù)操作—隔離業(yè)務(wù)與具體實(shí)現(xiàn) 148
6.4 統(tǒng)一測(cè)試項(xiàng)目操作類(lèi)ProjectMgrCRUSeMet 149
6.4.1 重構(gòu)的CreateProjectSeMet類(lèi) 150
6.4.2 零代碼的EditProjectSeMet類(lèi) 150
6.5 測(cè)試項(xiàng)目管理TestProjectMgrSeMet 150
6.5.1 測(cè)試項(xiàng)目列表 151
6.5.2 查詢與創(chuàng)建 152
6.6 登錄后默認(rèn)主頁(yè)面——使用枚舉類(lèi)封裝框架數(shù)據(jù) 153
6.7 第 一個(gè)完整的端到端用例 154
6.7.1 測(cè)試場(chǎng)景 154
6.7.2 自給自足的測(cè)試用例 155
6.8 小結(jié) 156
第7章 頁(yè)面封裝—測(cè)試規(guī)約的自動(dòng)化 158
7.1 導(dǎo)航欄 158
7.1.1 導(dǎo)航欄頁(yè)面分析 158
7.1.2 元素分析與自動(dòng)化實(shí)現(xiàn) 159
7.1.3 測(cè)試上下文 160
7.2 關(guān)鍵字管理 160
7.2.1 頁(yè)面分析 161
7.2.2 自動(dòng)化測(cè)試用例 161
7.2.3 關(guān)鍵字管理類(lèi)的實(shí)現(xiàn) 162
7.2.4 文件導(dǎo)入關(guān)鍵字 164
7.3 測(cè)試規(guī)約 166
7.3.1 進(jìn)入測(cè)試規(guī)約頁(yè)面 166
7.3.2 測(cè)試用例集操作 166
7.3.3 創(chuàng)建測(cè)試集 168
7.3.4 創(chuàng)建測(cè)試用例 169
7.4 完整的用例 174
7.5 小結(jié) 176
第8章 測(cè)試計(jì)劃 177
8.1 從主頁(yè)面到測(cè)試計(jì)劃管理 177
8.1.1 頁(yè)面定位 177
8.1.2 靜態(tài)跳轉(zhuǎn)方法 178
8.2 測(cè)試計(jì)劃管理 179
8.3 創(chuàng)建測(cè)試計(jì)劃 179
8.4 測(cè)試計(jì)劃對(duì)象 181
8.5 版本管理 182
8.5.1 從主頁(yè)面到版本管理 182
8.5.2 從版本管理類(lèi)到版本管理對(duì)象 183
8.6 添加測(cè)試用例到測(cè)試計(jì)劃 186
8.6.1 發(fā)起添加測(cè)試用例 187
8.6.2 測(cè)試用例樹(shù)操作 187
8.6.3 添加用例到測(cè)試計(jì)劃 188
8.7 添加平臺(tái)到測(cè)試計(jì)劃 190
8.7.1 發(fā)起添加平臺(tái) 190
8.7.2 完成平臺(tái)添加 191
8.8 測(cè)試執(zhí)行 192
8.8.1 測(cè)試執(zhí)行的入口 192
8.8.2 測(cè)試用例集的設(shè)定 192
8.8.3 執(zhí)行結(jié)果錄入 194
8.9 小結(jié) 196
第 2部分 UI自動(dòng)化框架橫向拓展
第9章 Web兼容性測(cè)試 198
9.1 瀏覽器簡(jiǎn)史 198
9.2 內(nèi)核之母 201
9.3 內(nèi)核之意 202
9.3.1 Trident 202
9.3.2 Gecko 203
9.3.3 Presto 204
9.3.4 WebKit 204
9.3.5 Chromium &Blink 205
9.4 渲染與解析 205
9.5 容錯(cuò)處理機(jī) 210
9.6 布局與繪制 210
9.7 兼容性問(wèn)題案例 215
9.7.1 網(wǎng)銀中使用的jQuery版本問(wèn)題 215
9.7.2 IE 10在響應(yīng)式時(shí)間中CSS樣式布局混亂 215
9.7.3 CSS重構(gòu)以及JS文件分割優(yōu)化 216
9.7.4 IE 6瀏覽器上頁(yè)面加載的性能問(wèn)題(可導(dǎo)致IE 6崩潰) 217
9.7.5 兼容性Bug錯(cuò)誤具體分析 223
9.8 移動(dòng)端瀏覽器兼容性 226
第 10章 輕量級(jí)本地化測(cè)試解決方案 233
10.1 什么是本地化、國(guó)際化和全球化 233
10.2 本地化測(cè)試自動(dòng)化的挑戰(zhàn) 233
10.3 解決的思路 234
10.4 伐謀:一碼走天下 234
10.4.1 TestLink的樣例分析 234
10.4.2 使用本地化中性資源進(jìn)行自動(dòng)化 235
10.5 伐兵:使用本地化資源 238
10.5.1 TestLink本地化資源文件分析 238
10.5.2 本地化支持的簡(jiǎn)要流程 239
10.5.3 本地化案例 240
10.6 基于HSQL的數(shù)據(jù)字典 241
10.6.1 為什么使用HSQL 241
10.6.2 HSQLDB數(shù)據(jù)導(dǎo)入及維護(hù) 241
10.6.3 將HSQL集成進(jìn)自動(dòng)化測(cè)試框架 243
10.7 結(jié)合Java Annotation的解決方案 248
10.7.1 思路 248
10.7.2 定義Annotation 249
10.7.3 定義工具類(lèi),通過(guò)Java反射機(jī)制動(dòng)態(tài)獲取本地化資源 249
10.8 部署 251
10.8.1 SolventTestCase 251
10.8.2 Solvent 251
10.8.3 框架類(lèi) 251
10.8.4 測(cè)試用例 252
10.9 總結(jié)與展望 252
第3部分 Hybrid Automation—實(shí)現(xiàn)UI/API測(cè)試一體化
第 11章 歡迎來(lái)到接口測(cè)試的世界 254
11.1 集成測(cè)試與接口測(cè)試 254
11.1.1 集成測(cè)試 254
11.1.2 接口測(cè)試與測(cè)試接口 254
11.2 XML-RPC簡(jiǎn)介 255
11.3 使用原生的TestLink XML-RPC接口 256
11.3.1 啟用XML-RPC接口 256
11.3.2 獲取API KEY 256
11.3.3 sayHello樣例 257
11.3.4 TestLink XML-RPC簡(jiǎn)析 259
11.4 使用TestLink Java API 260
11.5 測(cè)試用例自動(dòng)化生成初探 263
11.5.1 重溫等價(jià)類(lèi)劃分 263
11.5.2 組合策略與工具 265
11.5.3 數(shù)據(jù)集與組合算法 265
11.5.4 生成全組合用例 267
11.5.5 生成健壯性用例 271
11.6 小結(jié) 272
第 12章 Hybrid Automation混合自動(dòng) 274
12.1 修改SeMet層的基礎(chǔ)類(lèi) 274
12.1.1 在Webdrivers類(lèi)中存儲(chǔ)TestLinkAPI實(shí)例 274
12.1.2 在TLTestCase中完成TestLinkAPI初始化 274
12.2 在測(cè)試用例中直接使用接口 276
12.3 將接口轉(zhuǎn)移到業(yè)務(wù)SeMet類(lèi)中 278
12.4 用例無(wú)縫切換 280
第 13章 iTestLink業(yè)務(wù)與技術(shù)解耦 281
13.1 問(wèn)題與挑戰(zhàn) 281
13.2 Webdriver帶來(lái)的啟示 281
13.3 實(shí)現(xiàn)iTestLink 282
13.3.1 定義TestLink業(yè)務(wù)接口 282
13.3.2 定義業(yè)務(wù)對(duì)象類(lèi) 283
13.3.3 增加TLSession類(lèi)獲取執(zhí)行方式 284
13.3.4 枚舉類(lèi)TestLinkDriver的實(shí)現(xiàn) 285
13.3.5 新建TLTestCase 286
13.4 iTestLink的測(cè)試用例 286
13.5 改造APIMet支持iTestLink 288
13.5.1 引入TestLinkJavaAPIAdaptor 288
13.5.2 接口間TestProject對(duì)象轉(zhuǎn)換 290
13.5.3 接口層測(cè)試用例執(zhí)行 291
13.6 改造SeMet支持iTestLink 292
13.6.1 實(shí)現(xiàn)Service類(lèi) 293
13.6.2 改造相關(guān)SeMet 294
13.6.3 實(shí)現(xiàn)TestLinkSeMetAdaptor 296
13.6.4 UI層測(cè)試用例執(zhí)行 297
13.7 小結(jié) 298
第 14章 代碼的管理和審查 299
14.1 簡(jiǎn)介 299
14.2 代碼管理工具 299
14.2.1 GIT介紹 299
14.2.2 安裝過(guò)程 300
14.2.3 常用命令 300
14.3 代碼審查工具 302
14.3.1 Gerrit是什么 302
14.3.2 如何去安裝 302
14.3.3 基本功能介紹 306
14.4 檢出代碼 310
14.4.1 命令介紹 310
14.4.2 工作場(chǎng)景一 310
14.5 提交代碼 312
14.5.1 命令介紹 312
14.5.2 工作場(chǎng)景 314
14.6 合并分支 316
14.6.1 命令介紹 316
14.6.2 工作場(chǎng)景 317
14.6.3 分支合并沖突 319
14.7 最佳實(shí)踐 320
第 15章 持續(xù)集成 322
15.1 簡(jiǎn)介 322
15.2 持續(xù)集成工具 322
15.2.1 Jenkins介紹 322
15.2.2 主要功能 323
15.2.3 如何安裝 324
15.2.4 建立新的Job 324
15.2.5 注意事項(xiàng) 325
15.2.6 系統(tǒng)配置 326
15.2.7 設(shè)置Job 330
15.2.8 成功連通 331
15.2.9 工作場(chǎng)景 333
15.3 執(zhí)行自動(dòng)編譯和測(cè)試 334
15.4 合并代碼 335
15.5 常見(jiàn)問(wèn)題 336
15.6 最佳實(shí)踐 337
第 16章 Webdriver入門(mén)簡(jiǎn)介 339
16.1 Webdriver的基本結(jié)構(gòu) 339
16.2 Webdriver的工作原理 339
16.3 在啟動(dòng)瀏覽器的時(shí)候發(fā)生了什么 340
16.3.1 Firefox 340
16.3.2 Chrome 341
16.3.3 IE 341
16.4 Webdriver常用API簡(jiǎn)介 342
16.4.1 Webdriver API結(jié)構(gòu)淺析 342
16.4.2 啟動(dòng)與關(guān)閉瀏覽器 344
16.4.3 提取文本getText 344
16.4.4 提取元素屬性getAttribute 345
16.4.5 模擬瀏覽器的前后跳轉(zhuǎn)forward和back 345
16.4.6 模擬鼠標(biāo)右鍵Actions和contextClick 346
16.4.7 截圖TakesScreenshot 346
16.4.8 操作下拉菜單Select控件 347
16.4.9 操作frame里面的元素switchTo 348
16.4.10 操作單選按鈕radio button 349
16.4.11 操作多選框checkbox 350
16.4.12 切換窗口getWindowHandle 350
16.4.13 等待 351
16.4.14 JS彈出框 352
16.4.15 彈出框的擴(kuò)展 353
16.5 Page Object介紹 355
16.5.1 創(chuàng)建LoginVariables.java文件 357
16.5.2 創(chuàng)建LoginPage文件 358
16.5.3 創(chuàng)建GloablaFunction.java文件 359
16.5.4 創(chuàng)建WebdriverTest.java文件 359
16.5.5 創(chuàng)建LoginTest.java文件 360
16.6 選擇Webdriver而不是Selenium RC 361
16.7 如何從Selenium RC遷移到Webdriver 362
16.8 Webdriver如何執(zhí)行Javascript 364
16.9 如何定制瀏覽器 364
16.10 小結(jié) 3652100433B