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ī)格/型號 市場價
(除稅)
工程建議價
(除稅)
行情 品牌 單位 稅率 供應商 報價日期
(氟碳噴涂處理)+6mm雙層鋼化清玻玻璃(玻璃分三個區(qū)域:上層清玻,中間工藝玻璃,下面做工藝絲印玻璃),有200mm的設備袋板 查看價格 查看價格

m2 13% 上海代高隔斷墻公司深圳辦事處
優(yōu)雅框架與壁線 品種:石膏裝飾線條;規(guī)格(mm):定制;顏色:古典象牙;系列:CLASSCAL BAEDING;型號:BL16A; 查看價格 查看價格

紅瑪捷通

m 13% 重慶市永川區(qū)順佳裝飾設計有限責任公司
優(yōu)雅框架與壁線 品種:石膏裝飾線條;規(guī)格(mm):W45×L1510;顏色:典雅綠;系列:CLASSCAL BAEDING;型號:L3; 查看價格 查看價格

紅瑪捷通

m 13% 重慶市永川區(qū)順佳裝飾設計有限責任公司
優(yōu)雅框架與壁線 品種:石膏裝飾線條;規(guī)格(mm):W35×L1530;顏色:皇家金色;系列:CLASSCAL BAEDING;型號:BL16; 查看價格 查看價格

紅瑪捷通

m 13% 重慶市永川區(qū)順佳裝飾設計有限責任公司
優(yōu)雅框架與壁線 品種:石膏裝飾線條;規(guī)格(mm):L2410×W110;顏色:古典象牙;系列:CLASSCAL BAEDING;型號:BL12; 查看價格 查看價格

紅瑪捷通

m 13% 重慶市永川區(qū)順佳裝飾設計有限責任公司
優(yōu)雅框架與壁線 品種:石膏裝飾線條;規(guī)格(mm):定制;顏色:典雅黃;系列:CLASSCAL BAEDING;型號:B6A; 查看價格 查看價格

紅瑪捷通

m 13% 重慶市永川區(qū)順佳裝飾設計有限責任公司
優(yōu)雅框架與壁線 品種:石膏裝飾線條;規(guī)格(mm):235×235;顏色:典雅綠;系列:CLASSCAL BAEDING;型號:B3A; 查看價格 查看價格

紅瑪捷通

m 13% 重慶市永川區(qū)順佳裝飾設計有限責任公司
轉門(手動框架) 品種:手動旋轉門;框材質:鋁合金; 查看價格 查看價格

居友

13% 沈陽居友門窗有限責任公司
材料名稱 規(guī)格/型號 除稅
信息價
含稅
信息價
行情 品牌 單位 稅率 地區(qū)/時間
10kV油浸式框架式電容器組 1200kVAR/200kVAR 查看價格 查看價格

廣東2022年2季度信息價
10kV油浸式框架式電容器組 1500kVAR/100kVAR 查看價格 查看價格

廣東2021年1季度信息價
10kV油浸式框架式電容器組 1200kVAR/200kVAR 查看價格 查看價格

廣東2020年4季度信息價
10kV油浸式框架式電容器組 1500kVAR/100kVAR 查看價格 查看價格

廣東2020年4季度信息價
10kV油浸式框架式電容器組 1500kVAR/100kVAR 查看價格 查看價格

廣東2020年3季度信息價
10kV油浸式框架式電容器組 1500kVAR/100kVAR 查看價格 查看價格

廣東2020年1季度信息價
10kV油浸式框架式電容器組 1200kVAR/200kVAR 查看價格 查看價格

廣東2019年2季度信息價
35kV框架式并聯(lián)電容器成套裝置 TBB35-60000/500 查看價格 查看價格

廣東2022年3季度信息價
材料名稱 規(guī)格/需求量 報價數(shù) 最新報價
(元)
供應商 報價地區(qū) 最新報價時間
文物目錄檢索柜(目錄柜) 1、專業(yè)定制文物目錄檢索柜(目錄柜)2、規(guī)格:W800×D400×H1800|1個 1 查看價格 成都東凌辦公家具有限公司 四川   2019-10-31
框架 框架(包含小間距LED拼接屏配套框架型材和搭建,不含表面裝飾材料)|320.00套 1 查看價格 廣州市熹尚科技設備有限公司 全國   2019-12-20
框架 框架(包含小間距LED拼接屏配套框架型材和搭建,不含表面裝飾材料)|320.00套 1 查看價格 廣州曹易智能科技有限公司 全國   2019-12-30
創(chuàng)客作品展示柜 1、規(guī)格:2000×200×800mm(用于展示學生創(chuàng)客作品);|1套 1 查看價格 成都先立達辦公家具有限公司 四川   2020-07-21
VR作品 1、V|1臺 1 查看價格 廣州賽瑞電子有限公司 全國   2022-11-04
網(wǎng)片框架 網(wǎng)片框架|36個 3 查看價格 無錫雙云建材機械科技有限公司 全國   2022-06-02
粵港澳大灣區(qū)急需緊缺目錄 粵港澳大灣區(qū)急需緊缺目錄|1套 1 查看價格 廣州尚漢信息科技有限公司 全國   2022-01-07
作品展示欄 1、1800mm×860mm; 2、聚酯纖維板; 3、不銹鋼邊框,40×40mm不銹鋼方通焊接,人工打磨,汽車烤漆底漆面漆各三遍;|16個 1 查看價格 東莞雙子標識科技有限公司 廣東  東莞市 2019-06-06

從《框架設計(第3版)(影印版)》理解以下內(nèi)容:建立、部署基于版本的應用程序、組件和共享程序集,在理解原語、數(shù)值和引用類型行為的基礎上來定義并更高效地使用它們。使用泛型和接口定義可重用算法,有效地使用特殊的CLR類型——委托、枚舉、自定義屬性、數(shù)組、字符串 。

理解垃圾收集器如何管理資源

使用線程池、任務、取消模式、定時器和異步I/O操作來設計靈活、可靠、可擴展的解決方案,

使用異常處理以協(xié)助狀態(tài)管理

使用CLR托管、AppDomain、程序集加載、反射和C#動態(tài)

類型來構建動態(tài)可擴展的應用程序

作者:(美國)瑞奇特(Jeffrey Richter)

Jeffrey Richter是Winteltect的共同創(chuàng)辦人之一,這是一家培訓、咨詢和調(diào)試相關的企業(yè),專門致力于幫助其他公司更快構建更好的軟件。他于1999年10月開始為微軟的.NET框架團隊提供咨詢,并已促成了微軟的數(shù)款產(chǎn)品。除了本書之前的版本,他還寫過一些其他流行的主題,包括《Windows via C/C 》和《Advanced Windows》。

框架設計作品目錄常見問題

  • 海巖作品目錄

    《便衣警察》 《死于青春》 《一場風花雪月的事》 《海巖文集》 《永不瞑目》 《海巖散文》 《玉觀音》 《海巖中篇選》 《你的生命如此多情》 《海巖長篇經(jīng)典全集》 《拿什么拯救你,我的愛人》 《煽》 ...

  • 請問pkpm框架設計如何生成基礎圖

    在結構jccad里面,先是基礎人機交互輸入,在這個目錄里面先選擇荷載,加入是satwe荷載,選擇荷載,再進行基礎的布置,這個任務完成了再進行基礎施工圖目錄

  • 一縫就成的拼布小物的作品目錄

    徐韋華,在臺灣很有影響力的著名拼布作家,從事 拼布材料包 設計多年,經(jīng)驗非常豐富?!兑豢p就成的拼布小物》是一本實用的拼布書,以面紙?zhí)?、手機袋、卡片夾、零錢包、筆袋、相機包等非常實用的拼布小物的制作講解...

框架設計作品目錄文獻

目前網(wǎng)架支座及支承框架設計存在 目前網(wǎng)架支座及支承框架設計存在

格式:pdf

大?。?span id="4gseahb" class="single-tag-height">172KB

頁數(shù): 1頁

評分: 4.6

本文分析了目前網(wǎng)架支座選型及與支承框架分開設計存在的問題,介紹了網(wǎng)架支座選用應注意的問題,討論了網(wǎng)架根據(jù)

立即下載
企業(yè)戰(zhàn)略地圖框架設計 企業(yè)戰(zhàn)略地圖框架設計

格式:pdf

大?。?span id="uspauqn" class="single-tag-height">172KB

頁數(shù): 1頁

評分: 4.7

《商業(yè)時代 ?學術評論》 2006年9期24 略地圖簡介 戰(zhàn)略地圖是以平衡計分卡四個層 面的相互關系為內(nèi)核,把四個層面通過因 果關系鏈條串起來。它提供了一個框架來 清晰地說明戰(zhàn)略如何將無形資產(chǎn)與價值創(chuàng) 造流程聯(lián)系起來,內(nèi)部流程是如何創(chuàng)造并 傳遞客戶價值主張以及滿足客戶價值主張 帶來的財務成果。這個框架從學習與成長 層面確定了需要利用哪些工作(人力資 本)、哪些系統(tǒng)(信息資本)、哪種氛圍(組 織資本)來支持創(chuàng)造價值的流程(內(nèi)部流 程層面),進而給客戶的價值主張帶來特殊 的價值(客戶層面),實現(xiàn)更高的財務價值 (財務層面),從而實現(xiàn)企業(yè)的戰(zhàn)略目標。 戰(zhàn)略地圖就是組織需要的交流戰(zhàn)略和實 施戰(zhàn)略的過程和系統(tǒng)。 它提供了一個描述戰(zhàn) 略的統(tǒng)一方法,使戰(zhàn)略目標和各項指標可以 被建立和管理。圖1 中的戰(zhàn)略地圖模板為戰(zhàn) 略的構成要素及其相互關系提供了一個標準 化的清單。戰(zhàn)略地圖使企業(yè)關鍵關系可視 化,明晰了

立即下載

系統(tǒng)的整體框架設計的政府面對的信息資源及應用多種多樣,來自有不同的操作系統(tǒng),不同的開發(fā)平臺和不同的應用數(shù)據(jù)庫?;赑ortal 平臺的政府信息集成框架,試圖以最小的代價在企業(yè)應用系統(tǒng)的構架層次上,為政府提供了一個跨越多種分散的、內(nèi)部和外部的信息處理過程的集成紐帶,把這些信息整合到一起。它是基于J2EE 的三層B/S 結構,包括門戶、信息集成接入層、應用層、數(shù)據(jù)存儲接口層。

框架:

①應用層是指政府已經(jīng)存在的所有信息資源,包括政府內(nèi)部或外部的各種應用系統(tǒng),還包括來自不同系統(tǒng)的結構化或非結構化數(shù)據(jù),它們都是政府信息集成平臺需要整合的對象。

②信息集成接入層為政府信息集成平臺實現(xiàn)資源整合提供底層構件庫,包括本地和遠程應用集成構件,為實現(xiàn)不同類型的信息集成提供底層支持。同時提供對所有信息資源的統(tǒng)一管理、統(tǒng)一授權,實現(xiàn)對信息的統(tǒng)一訪問。

③展示層是信息集成平臺中把經(jīng)過整合的信息資源展現(xiàn)給用戶的最外層,它只關注如何展現(xiàn)信息,統(tǒng)一的視圖管理使用戶可以設定各自的個性化輸出,用戶只需單點登陸到政府門戶就可以得到所關注的信息。在這個框架中,政府所有的信息應用都作為后端應用層,信息集成接入層中的集成構件根據(jù)后端應用層傳入的信息資源類型,通過資源定義和分配、建立不同系統(tǒng)間的用戶口令轉換的對應關系,采用不同的集成構件分別進行處理,傳遞給前端的展示層,由政府門戶統(tǒng)一展示給用戶 。

全書共分3部分,第 1部分包括第 1~8章,介紹了有關測試框架與UI自動化測試的主題。在第 1章中介紹了若干種不同類型的自動化測試實踐,并提出了T型自動化測試框架以及紡錘形自動化測試模型。在第 2章介紹了自動化測試中如何進行數(shù)據(jù)的交互與管理,并結合實際案例列舉了Java屬性文件、XML、Excel、數(shù)據(jù)庫以及CSV等不同的處理方式。第3章和第4章介紹如何分層構建Solvent、SeMet等底層框架。第5~8章是有關TestLink UI自動化測試框架的構建。第 2部分是UI自動化框架橫向拓展的主題。第3部分講解API測試。實現(xiàn)了UI/API的分層自動化測試,并探討了在敏捷模式下,通過統(tǒng)一框架,同一用例在不同技術實現(xiàn)方式下無縫切換運行的可行性和由此帶來的價值。第 16章介紹了Webdriver的基礎概念及簡單元素封裝、自定義Page Object等內(nèi)容。讀者可以按照此書介紹的方法,根據(jù)自身工作中被測應用的實際特點,加上適當?shù)墓ぞ?,來嘗試建立適合自身項目實際需求的自動化測試框架。本書是幫助讀者從初學者踏上通往更高層級測試工程師的階梯。

本書適合作為測試初學者、測試從業(yè)人員、測試經(jīng)理、測試管理人員、測試開發(fā)人員的參考用書,也可以作為大專院校相關專業(yè)的師生用書和培訓學校的教材。

第 1部分 構建UI自動化框架

第 1章 BCO團隊的自動化之旅 2

1.1 奧運年的新挑戰(zhàn) 2

1.1.1 BCO是什么 2

1.1.2 為什么需要BCO 2

1.1.3 測試任務與測試內(nèi)容 3

1.1.4 利益干系人 4

1.1.5 Pink Mail、Escalation和SPRTracker 5

1.1.6 溝通,還是溝通 5

1.2 史前的自動化 6

1.2.1 自動化安裝系統(tǒng) 6

1.2.2 快速回歸測試系統(tǒng)的混合自動化 6

1.2.3 來自小眾自動化工具的框架 7

1.3 五天太久,還能壓縮嗎 8

1.3.1 BCO版本發(fā)布用時分布 8

1.3.2 缺陷壓力測試 9

1.4 聽說又有一個新框架了 10

1.4.1 初見Solvent 11

1.4.2 學習XPath和HTML 12

1.4.3 XPath定位工具 12

1.4.4 自信與挑戰(zhàn) 13

1.4.5 找到適合自身的實踐對象 14

1.4.6 框架的歸屬問題 14

1.4.7 Automation 100 15

1.5 冰山 15

1.5.1 假失敗 15

1.5.2 低優(yōu)先級的自動化Backlog 16

1.5.3 破窗與“造輪子” 16

1.6 再啟航 16

1.6.1 自動化測試金字塔與冰淇淋 17

1.6.2 橄欖形的自動化測試 18

第 2章 測試數(shù)據(jù)管理 19

2.1 簡介 19

2.2 測試數(shù)據(jù)分類 19

2.3 測試數(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進行解析 25

2.5 使用Excel 27

2.5.1 經(jīng)典的DataTable 27

2.5.2 強關鍵字驅動的自動化用例 28

2.5.3 Apache POI介紹 29

2.5.4 單個工作表的解析 30

2.5.5 整個工作簿的解析 34

2.5.6 用例解析與執(zhí)行 35

2.5.7 Mock API類 38

2.5.8 Mock API適配器類 39

2.6 使用數(shù)據(jù)庫 40

2.6.1 JDBC連接數(shù)據(jù)庫 41

2.6.2 使用Apache DbUtils 44

2.6.3 從TestLink數(shù)據(jù)庫中讀取數(shù)據(jù) 46

2.7 使用CSV文件 47

2.7.1 CSV文件數(shù)據(jù)解析思路 48

2.7.2 實現(xiàn)泛型解析 48

2.7.3 對象類案例 49

2.7.4 提供數(shù)據(jù)源的外部訪問 50

2.7.5 CSV文件通過SQL方式查詢結果 50

第3章 構建Solvent 53

3.1 框架是什么 53

3.1.1 六萬立方米的混凝土大底板 53

3.1.2 測試框架及其目標 53

3.2 Solvent與JUnit 54

3.3 遲早,你需要一個基類 54

3.3.1 用例基類SolventTestCase 55

3.3.2 業(yè)務功能基類Solvent 57

3.4 基于Log4j的日志 60

3.4.1 Log4j簡介 60

3.4.2 一個簡單的例子 62

3.4.3 實現(xiàn)SolventLogger類 63

3.4.4 使用SolventLogger 64

3.5 使用TestWatcher截屏 65

3.5.1 功能分析 65

3.5.2 實現(xiàn)示例 65

3.6 經(jīng)改造的Apache計時器 66

3.6.1 Apache的計時器 66

3.6.2 Solvent增強的計時器 67

3.6.3 部署計時器 68

3.6.4 計時精度與延遲 69

3.7 使用Timeout進行超時判負 70

3.8 自定義檢查點CheckPoint 70

3.8.1 檢查點類CheckPoint 70

3.8.2 部署與使用 73

3.9 Configurator提供統(tǒng)一框架配置參數(shù) 75

3.9.1 Configurator類的實現(xiàn) 75

3.9.2 雙重參數(shù)文件的讀取 78

3.9.3 配置參數(shù)的使用 80

3.10 基于XML的運行時參數(shù)處理 81

3.10.1 來自XML的用例數(shù)據(jù)集 81

3.10.2 InputFileFinder獲取輸入文件 82

3.10.3 InputFileDigester進行解析 83

3.10.4 數(shù)據(jù)結構之SolventTestDataSetBean 85

3.10.5 數(shù)據(jù)結構之SolventTestDataSet 87

3.10.6 在SolventTestCase中完成解析 88

3.10.7 SolventTestCase提供統(tǒng)一數(shù)據(jù)獲取方法 89

3.10.8 測試用例參數(shù)化案例 90

第4章 構建SeMet 92

4.1 SeMet是什么 92

4.2 引入SeMet類 92

4.3 引入TLTestCase 98

4.4 引入SeMetWebDriverSession類 99

4.5 引入Webdrivers工廠類 100

4.6 小結 101

第5章 TestLink自動化測試 102

5.1 自動化測試策略 102

5.2 為什么是TestLink 103

5.3 TestLink簡介 105

5.4 TestLink安裝 105

5.4.1 XAMPP的安裝 106

5.4.2 TestLink部署 107

5.5 TestLink主要功能分析 108

5.5.1 基于文檔的測試 108

5.5.2 TestLink基本業(yè)務對象 109

5.5.3 模塊與功能點 109

5.6 TestLink頁面分析 110

5.6.1 頁面結構分析 110

5.6.2 Web組件分析 112

5.7 框架 113

5.7.1 Webdriver中有關(i)frame的處理方法 114

5.7.2 回到原點的frame處理方法 114

5.7.3 工具類FrameHelper 115

5.7.4 一級頁面的使用方法 116

5.7.5 二級以下頁面的使用方法 116

5.7.6 不同框架下使用組件的方法 117

5.8 左右選擇框 118

5.8.1 頁面分析及自動化實現(xiàn) 118

5.8.2 功能分析及自動化實現(xiàn) 120

5.9 浮動對話框 121

5.9.1 頁面分析及自動化實現(xiàn) 121

5.9.2 功能分析及自動化實現(xiàn) 123

5.9.3 復選框的簡單增強 125

5.10 樹 126

5.10.1 頁面分析及自動化實現(xiàn) 126

5.10.2 功能分析及自動化實現(xiàn) 128

5.11 表格 130

5.11.1 頁面分析及自動化實現(xiàn) 131

5.11.2 功能分析及自動化實現(xiàn) 132

5.11.3 TableSeMet子類 134

5.12 下拉選擇框 136

5.12.1 組件介紹 136

5.12.2 功能與測試點分析 137

5.12.3 SelectboxSeMet類 138

5.13 小結 140

第6章 頁面封裝—從登錄到測試項目管理 142

6.1 登錄——三段式頁面封裝法 142

6.2 測試項目對象TestProjectBean-使用方法鏈 144

6.3 創(chuàng)建測試項目類CreateProjectSeMet 146

6.3.1 頁面定位 146

6.3.2 頁面元素定位 146

6.3.3 元素獲取與簡單操作 146

6.3.4 高 級業(yè)務操作—隔離業(yè)務與具體實現(xiàn) 148

6.4 統(tǒng)一測試項目操作類ProjectMgrCRUSeMet 149

6.4.1 重構的CreateProjectSeMet類 150

6.4.2 零代碼的EditProjectSeMet類 150

6.5 測試項目管理TestProjectMgrSeMet 150

6.5.1 測試項目列表 151

6.5.2 查詢與創(chuàng)建 152

6.6 登錄后默認主頁面——使用枚舉類封裝框架數(shù)據(jù) 153

6.7 第 一個完整的端到端用例 154

6.7.1 測試場景 154

6.7.2 自給自足的測試用例 155

6.8 小結 156

第7章 頁面封裝—測試規(guī)約的自動化 158

7.1 導航欄 158

7.1.1 導航欄頁面分析 158

7.1.2 元素分析與自動化實現(xiàn) 159

7.1.3 測試上下文 160

7.2 關鍵字管理 160

7.2.1 頁面分析 161

7.2.2 自動化測試用例 161

7.2.3 關鍵字管理類的實現(xiàn) 162

7.2.4 文件導入關鍵字 164

7.3 測試規(guī)約 166

7.3.1 進入測試規(guī)約頁面 166

7.3.2 測試用例集操作 166

7.3.3 創(chuàng)建測試集 168

7.3.4 創(chuàng)建測試用例 169

7.4 完整的用例 174

7.5 小結 176

第8章 測試計劃 177

8.1 從主頁面到測試計劃管理 177

8.1.1 頁面定位 177

8.1.2 靜態(tài)跳轉方法 178

8.2 測試計劃管理 179

8.3 創(chuàng)建測試計劃 179

8.4 測試計劃對象 181

8.5 版本管理 182

8.5.1 從主頁面到版本管理 182

8.5.2 從版本管理類到版本管理對象 183

8.6 添加測試用例到測試計劃 186

8.6.1 發(fā)起添加測試用例 187

8.6.2 測試用例樹操作 187

8.6.3 添加用例到測試計劃 188

8.7 添加平臺到測試計劃 190

8.7.1 發(fā)起添加平臺 190

8.7.2 完成平臺添加 191

8.8 測試執(zhí)行 192

8.8.1 測試執(zhí)行的入口 192

8.8.2 測試用例集的設定 192

8.8.3 執(zhí)行結果錄入 194

8.9 小結 196

第 2部分 UI自動化框架橫向拓展

第9章 Web兼容性測試 198

9.1 瀏覽器簡史 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 容錯處理機 210

9.6 布局與繪制 210

9.7 兼容性問題案例 215

9.7.1 網(wǎng)銀中使用的jQuery版本問題 215

9.7.2 IE 10在響應式時間中CSS樣式布局混亂 215

9.7.3 CSS重構以及JS文件分割優(yōu)化 216

9.7.4 IE 6瀏覽器上頁面加載的性能問題(可導致IE 6崩潰) 217

9.7.5 兼容性Bug錯誤具體分析 223

9.8 移動端瀏覽器兼容性 226

第 10章 輕量級本地化測試解決方案 233

10.1 什么是本地化、國際化和全球化 233

10.2 本地化測試自動化的挑戰(zhàn) 233

10.3 解決的思路 234

10.4 伐謀:一碼走天下 234

10.4.1 TestLink的樣例分析 234

10.4.2 使用本地化中性資源進行自動化 235

10.5 伐兵:使用本地化資源 238

10.5.1 TestLink本地化資源文件分析 238

10.5.2 本地化支持的簡要流程 239

10.5.3 本地化案例 240

10.6 基于HSQL的數(shù)據(jù)字典 241

10.6.1 為什么使用HSQL 241

10.6.2 HSQLDB數(shù)據(jù)導入及維護 241

10.6.3 將HSQL集成進自動化測試框架 243

10.7 結合Java Annotation的解決方案 248

10.7.1 思路 248

10.7.2 定義Annotation 249

10.7.3 定義工具類,通過Java反射機制動態(tài)獲取本地化資源 249

10.8 部署 251

10.8.1 SolventTestCase 251

10.8.2 Solvent 251

10.8.3 框架類 251

10.8.4 測試用例 252

10.9 總結與展望 252

第3部分 Hybrid Automation—實現(xiàn)UI/API測試一體化

第 11章 歡迎來到接口測試的世界 254

11.1 集成測試與接口測試 254

11.1.1 集成測試 254

11.1.2 接口測試與測試接口 254

11.2 XML-RPC簡介 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簡析 259

11.4 使用TestLink Java API 260

11.5 測試用例自動化生成初探 263

11.5.1 重溫等價類劃分 263

11.5.2 組合策略與工具 265

11.5.3 數(shù)據(jù)集與組合算法 265

11.5.4 生成全組合用例 267

11.5.5 生成健壯性用例 271

11.6 小結 272

第 12章 Hybrid Automation混合自動 274

12.1 修改SeMet層的基礎類 274

12.1.1 在Webdrivers類中存儲TestLinkAPI實例 274

12.1.2 在TLTestCase中完成TestLinkAPI初始化 274

12.2 在測試用例中直接使用接口 276

12.3 將接口轉移到業(yè)務SeMet類中 278

12.4 用例無縫切換 280

第 13章 iTestLink業(yè)務與技術解耦 281

13.1 問題與挑戰(zhàn) 281

13.2 Webdriver帶來的啟示 281

13.3 實現(xiàn)iTestLink 282

13.3.1 定義TestLink業(yè)務接口 282

13.3.2 定義業(yè)務對象類 283

13.3.3 增加TLSession類獲取執(zhí)行方式 284

13.3.4 枚舉類TestLinkDriver的實現(xiàn) 285

13.3.5 新建TLTestCase 286

13.4 iTestLink的測試用例 286

13.5 改造APIMet支持iTestLink 288

13.5.1 引入TestLinkJavaAPIAdaptor 288

13.5.2 接口間TestProject對象轉換 290

13.5.3 接口層測試用例執(zhí)行 291

13.6 改造SeMet支持iTestLink 292

13.6.1 實現(xiàn)Service類 293

13.6.2 改造相關SeMet 294

13.6.3 實現(xiàn)TestLinkSeMetAdaptor 296

13.6.4 UI層測試用例執(zhí)行 297

13.7 小結 298

第 14章 代碼的管理和審查 299

14.1 簡介 299

14.2 代碼管理工具 299

14.2.1 GIT介紹 299

14.2.2 安裝過程 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 工作場景一 310

14.5 提交代碼 312

14.5.1 命令介紹 312

14.5.2 工作場景 314

14.6 合并分支 316

14.6.1 命令介紹 316

14.6.2 工作場景 317

14.6.3 分支合并沖突 319

14.7 最佳實踐 320

第 15章 持續(xù)集成 322

15.1 簡介 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 注意事項 325

15.2.6 系統(tǒng)配置 326

15.2.7 設置Job 330

15.2.8 成功連通 331

15.2.9 工作場景 333

15.3 執(zhí)行自動編譯和測試 334

15.4 合并代碼 335

15.5 常見問題 336

15.6 最佳實踐 337

第 16章 Webdriver入門簡介 339

16.1 Webdriver的基本結構 339

16.2 Webdriver的工作原理 339

16.3 在啟動瀏覽器的時候發(fā)生了什么 340

16.3.1 Firefox 340

16.3.2 Chrome 341

16.3.3 IE 341

16.4 Webdriver常用API簡介 342

16.4.1 Webdriver API結構淺析 342

16.4.2 啟動與關閉瀏覽器 344

16.4.3 提取文本getText 344

16.4.4 提取元素屬性getAttribute 345

16.4.5 模擬瀏覽器的前后跳轉forward和back 345

16.4.6 模擬鼠標右鍵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 彈出框的擴展 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 小結 3652100433B

框架設計相關推薦
  • 相關百科
  • 相關知識
  • 相關專欄