基于web的自動(dòng)化測(cè)試框架_第1頁(yè)
基于web的自動(dòng)化測(cè)試框架_第2頁(yè)
基于web的自動(dòng)化測(cè)試框架_第3頁(yè)
基于web的自動(dòng)化測(cè)試框架_第4頁(yè)
基于web的自動(dòng)化測(cè)試框架_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于Web的自動(dòng)化測(cè)試框架的設(shè)計(jì)與實(shí)現(xiàn),1,Content,2,2020/10/20,軟件測(cè)試是保障和提高軟件質(zhì)量的重要手段。軟件開(kāi)發(fā)者和使用者必須對(duì)軟件進(jìn)行充分的測(cè)試,以確保其正常工作。統(tǒng)計(jì)表明,在典型的軟件開(kāi)發(fā)項(xiàng)目中,軟件測(cè)試工作量往往占軟件開(kāi)發(fā)總工作量的40%以上。因此提高軟件測(cè)試過(guò)程的效率至關(guān)重要。 為了提高測(cè)試效率,越來(lái)越多的測(cè)試工作引入了自動(dòng)化測(cè)試的思想和方法。實(shí)踐證明,軟件自動(dòng)化測(cè)試技術(shù)提高了軟件測(cè)試的速度和效率,節(jié)省了軟件測(cè)試成本,縮短了產(chǎn)品發(fā)布周期。同時(shí),自動(dòng)化測(cè)試技術(shù)也完成了許多手工測(cè)試無(wú)法實(shí)現(xiàn)的工作。所以,采用自動(dòng)化測(cè)試方法和相應(yīng)的測(cè)試框架成為了軟件開(kāi)發(fā)組織測(cè)試工作的重要

2、支撐手段。例如,采用自動(dòng)化測(cè)試工具能在測(cè)試活動(dòng)中減少一部分開(kāi)銷(xiāo),同時(shí),有些測(cè)試活動(dòng)是靠手工方式難以實(shí)現(xiàn)和度量的;自動(dòng)化測(cè)試框架能夠提高測(cè)試效率,快速定位測(cè)試軟件各版本中的功能、性能缺陷。,軟件質(zhì)量的保證測(cè)試,3,2020/10/20,Traditional Software Test,傳統(tǒng)的軟件測(cè)試流程: 一般是在軟件開(kāi)發(fā)過(guò)程中進(jìn)行少量的單元測(cè)試。然后在整個(gè)軟件開(kāi)發(fā)結(jié)束階段,集中進(jìn)行大量的測(cè)試,包括功能和性能的集成測(cè)試和系統(tǒng)測(cè)試。隨著軟件開(kāi)發(fā)的越來(lái)越復(fù)雜,傳統(tǒng)的軟件測(cè)試流程不可避免的給我們帶來(lái)以下問(wèn)題:,4,2020/10/20,通過(guò)對(duì)需求規(guī)格的理解來(lái)設(shè)計(jì)測(cè)試用例,在測(cè)試用例通過(guò)評(píng)審之后,由測(cè)

3、試人員根據(jù)測(cè)試用例中描述的規(guī)程一步步編寫(xiě)相應(yīng)的測(cè)試代碼并執(zhí)行,記錄程序執(zhí)行后的結(jié)果并提交測(cè)試報(bào)告,最后將實(shí)際結(jié)果與期望結(jié)果進(jìn)行比較。,自動(dòng)化測(cè)試是把以人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過(guò)程。自動(dòng)化軟件測(cè)試就是在預(yù)設(shè)條件下對(duì)已有的測(cè)試用例集進(jìn)行自動(dòng)測(cè)試,生成測(cè)試結(jié)果后自動(dòng)對(duì)結(jié)果進(jìn)行評(píng)估并產(chǎn)生測(cè)試報(bào)告。(預(yù)先條件應(yīng)包括正常條件和異常條件),為了進(jìn)一步節(jié)省測(cè)試中人力、時(shí)間或硬件資源,提高測(cè)試效率,便提出了自動(dòng)化生成測(cè)試用例的概念。自動(dòng)化測(cè)試用例是根據(jù)指定的需求表達(dá)規(guī)范或模型來(lái)自動(dòng)生成測(cè)試中所需的測(cè)試用例。這些規(guī)范或模型通常表現(xiàn)為UML圖或是通用格式文檔(XML、HTML)等。,5,2020/10

4、/20,Overview,自動(dòng)化測(cè)試框架,即是應(yīng)用于自動(dòng)化測(cè)試所用的框架。按照框架的定義,自動(dòng)化測(cè)試框架要么是提供可重用的基礎(chǔ)自動(dòng)化測(cè)試模塊,如:selenium 、watir等,它們主要提供最基礎(chǔ)的自動(dòng)化測(cè)試功能,比如打開(kāi)一個(gè)程序,模擬鼠標(biāo)和鍵盤(pán)來(lái)點(diǎn)擊或操作被測(cè)試對(duì)象,最后驗(yàn)證被測(cè)對(duì)象的屬性以判斷程序的正確性;要么是可以提供自動(dòng)化測(cè)試執(zhí)行和管理功能的架構(gòu)模塊,它們本身不提供基礎(chǔ)的自動(dòng)化測(cè)試支持,只是用于組織、管理和執(zhí)行那些獨(dú)立的自動(dòng)化測(cè)試用例,測(cè)試完成后統(tǒng)計(jì)測(cè)試結(jié)果,通常這類(lèi)框架一般都會(huì)集成一個(gè)基礎(chǔ)自動(dòng)化測(cè)試模塊。 自動(dòng)化測(cè)試框架可以減少測(cè)試腳本實(shí)現(xiàn)和維護(hù)的成本,使測(cè)試人員把精力集中在測(cè)試用

5、例的設(shè)計(jì)上。,6,2020/10/20,Overview,1) 測(cè)試框架與被測(cè)應(yīng)用程序獨(dú)立 雖然測(cè)試的應(yīng)用程序不一樣,但被測(cè)應(yīng)用程序之間卻會(huì)有相同的地方,測(cè)試框架應(yīng)聚焦在不同測(cè)試應(yīng)用程序中共同的部分,把與具體應(yīng)用程序有關(guān)的部分從框架中移除。 2) 測(cè)試框架應(yīng)易于擴(kuò)展、維護(hù) 測(cè)試框架應(yīng)被高度模塊化,這樣可以提高框架的維護(hù)性。各個(gè)模塊之間相互獨(dú)立,對(duì)模塊內(nèi)部的修改不應(yīng)該影響其他模塊。 3) 測(cè)試腳本所使用的測(cè)試語(yǔ)言應(yīng)該是與框架獨(dú)立的 不同的測(cè)試框架可能在不同的應(yīng)用領(lǐng)域有不同的表現(xiàn),當(dāng)需要從一個(gè)測(cè)試框架遷移到另外一個(gè)測(cè)試框架時(shí),要保證不需重寫(xiě)已有的測(cè)試腳本。 4) 測(cè)試框架不應(yīng)該讓框架的復(fù)雜性影響到

6、測(cè)試人員 對(duì)于一般的測(cè)試人員來(lái)說(shuō),測(cè)試框架的使用要簡(jiǎn)單、測(cè)試語(yǔ)言要易于理解,這樣可以使他們專(zhuān)注于業(yè)務(wù)相關(guān)內(nèi)容的編寫(xiě)。,7,2020/10/20,Overview,a) 數(shù)據(jù)驅(qū)動(dòng)測(cè)試框架(The Data-Driven Testing Framework) 將測(cè)試數(shù)據(jù)與測(cè)試腳本分離,數(shù)據(jù)驅(qū)動(dòng)最適合測(cè)試的業(yè)務(wù)邏輯固定不變的應(yīng)用程序,只有測(cè)試數(shù)據(jù)會(huì)變化。數(shù)據(jù)驅(qū)動(dòng)提高了測(cè)試邏輯的使用效率和可維護(hù)性。 b) 測(cè)試腳本模塊化框架(The Test Script Modularity Framework) 模塊驅(qū)動(dòng)測(cè)試使用獨(dú)立的小腳本來(lái)對(duì)應(yīng)待測(cè)試的模塊、零件和子功能。這些不同層級(jí)的小腳本按照一定規(guī)則組合成更

7、大級(jí)別的測(cè)試,就能實(shí)現(xiàn)一個(gè)特定功能的測(cè)試用例。模塊驅(qū)動(dòng)測(cè)試引入了抽象和封裝的原則,目的是提升自動(dòng)化測(cè)試的可維護(hù)性和可擴(kuò)展性。,8,2020/10/20,Overview,c) 測(cè)試庫(kù)構(gòu)架框架(The Test Library Architecture Framework) 就是模塊化思想的升華,其為應(yīng)用程序的測(cè)試創(chuàng)造了庫(kù)文件(可以是APIs、DLLs等),這些庫(kù)文件為一系列函數(shù)的集合。其與模塊化思想不同的是,其拓展了接口思想,即可以通過(guò)接口去傳遞參數(shù),可以說(shuō)是一個(gè)帶有接口的交互型模塊。 d) 關(guān)鍵字驅(qū)動(dòng)測(cè)試框架(The Keyword-Driven Testing Framework) 關(guān)鍵字

8、驅(qū)動(dòng)(表驅(qū)動(dòng))是對(duì)數(shù)據(jù)驅(qū)動(dòng)的邏輯擴(kuò)展,它提供了一系列數(shù)據(jù)表和關(guān)鍵字,這些數(shù)據(jù)表和關(guān)鍵字獨(dú)立于執(zhí)行它們的測(cè)試自動(dòng)化工具并可以用來(lái)驅(qū)動(dòng)待測(cè)應(yīng)用程序和數(shù)據(jù)的測(cè)試腳本代碼。從關(guān)鍵字驅(qū)動(dòng)的思想可以看出,該種測(cè)試框架不僅實(shí)現(xiàn)了將數(shù)據(jù)和腳本相分離,而且實(shí)現(xiàn)了數(shù)據(jù)和測(cè)試邏輯的分離,大大提高了腳本的復(fù)用度和維護(hù)性,從而更大限度地實(shí)現(xiàn)了測(cè)試工具的自動(dòng)化。,9,2020/10/20,Web自動(dòng)化測(cè)試框架,分布式計(jì)算將網(wǎng)絡(luò)服務(wù)帶到世界的每一個(gè)角落,這些服務(wù)又大都部署在web應(yīng)用系統(tǒng)中。如何保障高質(zhì)量的web服務(wù)是個(gè)非常重要的問(wèn)題。對(duì)于一個(gè)復(fù)雜的web應(yīng)用系統(tǒng)需要測(cè)試的方面太多了,特別是那些開(kāi)發(fā)周期很長(zhǎng)的系統(tǒng),如果只依

9、賴于手工來(lái)完成測(cè)試,顯然測(cè)試成本將非常高且易出錯(cuò),通過(guò)使用自動(dòng)化測(cè)試工具,能夠極大的降低web系統(tǒng)維護(hù)的成本。但是存在一個(gè)問(wèn)題:如何才能提高測(cè)試腳本的可復(fù)用性和移植性?,10,2020/10/20,Grinder,OpenSTA,Siege,JMeter,Pylot,Watir,Selenium,Common Test Automation Framework On Web,11,2020/10/20,Selenium是一個(gè)開(kāi)源的和便攜式的自動(dòng)化軟件測(cè)試工具,用于測(cè)試Web應(yīng)用程序有能力在不同的瀏覽器和操作系統(tǒng)運(yùn)行。Selenium真的不是一個(gè)單一的工具,而是一套工具,幫助測(cè)試者更有效地基于W

10、eb的應(yīng)用程序的自動(dòng)化。,Selenium,Apache JMeter是Apache組織開(kāi)發(fā)的基于Java的壓力測(cè)試工具。用于對(duì)軟件做壓力測(cè)試,它最初被設(shè)計(jì)用于Web應(yīng)用測(cè)試,但后來(lái)擴(kuò)展到其他測(cè)試領(lǐng)域。JMeter 可以用于對(duì)服務(wù)器、網(wǎng)絡(luò)或?qū)ο竽M巨大的負(fù)載,測(cè)試來(lái)自不同壓力類(lèi)別下它們的強(qiáng)度和分析整體性能。,JMeter,Selenium & JMeter,12,2020/10/20,1)測(cè)試瀏覽器的兼容性:測(cè)試應(yīng)用程序能否兼容工作在不同瀏覽器和操作系統(tǒng)之上。 2)測(cè)試系統(tǒng)功能:錄制用例自動(dòng)生成測(cè)試腳本,用于回歸功能測(cè)試或者系統(tǒng)用例說(shuō)明。,Function,The Detials of Sel

11、enium,Version,13,2020/10/20,Selenium 引入了Remote Control Server 這樣一個(gè)代理 Server,JavaScript 腳本注入和與 Server 通訊都通過(guò)這個(gè)代理 Server 來(lái)進(jìn)行。之所以引入這個(gè)代理 Remote Control Server 是因?yàn)椤巴床呗浴钡南拗?,通過(guò)這個(gè)代理服務(wù)器來(lái)“欺騙”遠(yuǎn)程 Server,達(dá)到使其以為是從同一個(gè)地方 load 代碼以正確返回請(qǐng)求數(shù)據(jù)的效果。流程說(shuō)明: 1.客戶端建立與 selenium-RC server 的連接。 2.Selenium RC Server 啟動(dòng)一個(gè)瀏覽器,并注入 JS

12、代碼 3.將 Selenese 代碼傳到客戶端的 Selenium-Core 中。 4.Selenium-Core 翻譯并解析執(zhí)行用戶錄制的操作。 5.讓代理 Server 進(jìn)行通訊 6.Remote Control Server 負(fù)責(zé)跟遠(yuǎn)程 Web 應(yīng)用服務(wù)器進(jìn)行通訊。 7.操作完成,顯示結(jié)果,并執(zhí)行下一指令。,Implement Theory,The Theory of Selenium,14,2020/10/20,可以看見(jiàn)測(cè)試人員的工作如紫色箭頭所示,而自動(dòng)化工作如藍(lán)色箭頭所示。它能自動(dòng)識(shí)別測(cè)試用例,并讀取配置文件以測(cè)試套件運(yùn)行不同的測(cè)試用例。它還可以被合并到項(xiàng)目持續(xù)集成軟件中,定期地持

13、續(xù)進(jìn)行基于 Web 的功能性測(cè)試,并將報(bào)告以郵件形式通知管理人員。具體說(shuō)明如下: 1.由測(cè)試人員錄制腳本并導(dǎo)出 JUnit。 2.測(cè)試人員修改配置文件,將測(cè)試用例包含在測(cè)試套件中。 3.合并在持續(xù)集成軟件后,框架會(huì)定期檢測(cè)配置的測(cè)試套件 4.逐個(gè)加載測(cè)試用例。 5.以測(cè)試套件為單位其執(zhí)行所有測(cè)試用例。 6.執(zhí)行完成后將測(cè)試套件的結(jié)果報(bào)告以郵件形式通知管理人員,Effects,The Work Process,15,2020/10/20,JMeter使用了不同技術(shù)和協(xié)議,是一款可以進(jìn)行配置和執(zhí)行負(fù)載測(cè)試、性能測(cè)試和壓力測(cè)試的工具。它能夠模擬不同類(lèi)型的請(qǐng)求、訪問(wèn)各種類(lèi)型的數(shù)據(jù)庫(kù)、采用不同的協(xié)議,如

14、FTP, HTTP, HTTPS,LDAP等。 負(fù)載測(cè)試: 這類(lèi)測(cè)試使系統(tǒng)或者應(yīng)用程序在預(yù)先設(shè)計(jì)好的極端場(chǎng)景下測(cè)試運(yùn)行。這類(lèi)測(cè)試用來(lái)評(píng)估系統(tǒng)或者程序在極端條件下的行為。 性能測(cè)試: 這種測(cè)試被用來(lái)檢測(cè)系統(tǒng)的性能表現(xiàn),包括特定情況下,系統(tǒng)的響應(yīng)能力和穩(wěn)定性。 壓力測(cè)試: 這類(lèi)測(cè)試通過(guò)載入更多的外部資源,并使系統(tǒng)組件超越其所設(shè)定的能力范圍,試圖使系統(tǒng)掛掉。,Introduction,The Detials of JMeter,Testing Type,JMeter是一款Java桌面應(yīng)用程序,它的用戶界面采用Swing Java API實(shí)現(xiàn)?;谶@兩點(diǎn),JMeter是一個(gè)跨平臺(tái)工具,能夠運(yùn)行在任何安

15、裝了Java虛擬機(jī)的操作系統(tǒng)(Windows, Linux, Mac)的設(shè)備上。它的框架支持并發(fā)和多線程或者線程組的執(zhí)行。這對(duì)于配置負(fù)載測(cè)試和壓力測(cè)試非常有用。它是可擴(kuò)展的,提供了大量的可用插件。,16,2020/10/20,1,線程組,3,定時(shí)器,5,監(jiān)聽(tīng)器,2,采樣器,4,邏輯控制器,6,斷言,代表一定數(shù)量的并發(fā)用戶,它可以用來(lái)模擬并發(fā)用戶發(fā)送請(qǐng)求。,負(fù)責(zé)定義請(qǐng)求(線程)之間的延遲間隔,模擬對(duì)服務(wù)器的連續(xù)請(qǐng)求。,負(fù)責(zé)收集測(cè)試結(jié)果,同時(shí)也被告知了結(jié)果顯示的方式。,模擬發(fā)送請(qǐng)求到不同類(lèi)型的服務(wù)器。它們是每一個(gè)測(cè)試計(jì)劃的基本要素,一切都圍繞這些采樣器而工作。,邏輯控制器允許你配置一個(gè)線程組內(nèi)不同

16、采樣器的執(zhí)行順序。,用于來(lái)判斷請(qǐng)求響應(yīng)的結(jié)果是否如用戶所期望,是否正確。,Component,17,2020/10/20,Simple Demo,場(chǎng)景描述: 自己建立一個(gè)服務(wù)器端,接受參數(shù):name和age,并將這些數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中; http:/localhost:8080/Server/SaveUserServlet?name=xxx&age=xxx 我們通過(guò)JMeter對(duì)其進(jìn)行壓力測(cè)試; 目標(biāo):開(kāi)1000個(gè)線程,每個(gè)線程循環(huán)1次,全部操作在3秒內(nèi)完成; 圖形操作:,18,2020/10/20,基于Selenium和JMeter的框架設(shè)計(jì),19,2020/10/20,The Featur

17、e of new Skeleton,基于web的自動(dòng)化測(cè)試框架常常會(huì)提供優(yōu)秀的接口,能夠方便地調(diào)用它們?cè)趙eb應(yīng)用上作模塊測(cè)試,性能測(cè)試,和負(fù)載測(cè)試等。 由于Selenium和JMeter運(yùn)行在不同的層次上,Selenium工作在用戶層上,而JMeter工作在協(xié)議層上。為了便于在兩種測(cè)試框架之間運(yùn)行不同的測(cè)試以及分配測(cè)試程序和測(cè)試數(shù)據(jù),這篇文章提出了一個(gè)綜合了Selenium和JMeter的自動(dòng)化測(cè)試框架。 通過(guò)實(shí)現(xiàn)這個(gè)新的自動(dòng)化測(cè)試框架,能夠靈活地對(duì)web應(yīng)用做各種類(lèi)型的測(cè)試,并且測(cè)試的重用性,可擴(kuò)展性,綜合性和精確性都有很好的表現(xiàn)。使用這個(gè)框架,能夠有效的提高自動(dòng)化測(cè)試的擴(kuò)張性和可重用性,

18、結(jié)果顯示新的框架能提高軟件生產(chǎn)的質(zhì)量并提高效率。,20,2020/10/20,The Design and Implement,采用Selenium測(cè)試工具的測(cè)試自動(dòng)化框架用來(lái)解決web應(yīng)用在瀏覽器上的兼容性; JMeter被引用是為了提供測(cè)試者一個(gè)工具去模擬瀏覽器發(fā)送不同請(qǐng)求方法給web應(yīng)用服務(wù)器。使用這個(gè)新的測(cè)試自動(dòng)化框架,測(cè)試者可以配置測(cè)試類(lèi)型,通過(guò)修改測(cè)試配型轉(zhuǎn)換各種不同的測(cè)試,而不需要改變相關(guān)的測(cè)試用例單元。,Fig 1.The architecture of test framework,21,2020/10/20,The Design and Implement,a.集成自動(dòng)化測(cè)

19、試框架的組成結(jié)構(gòu),22,2020/10/20,模型指的是包含來(lái)自于XML的對(duì)象模型(實(shí)體)。如 動(dòng)作(Action),斷言(Assertion),元素(Element),應(yīng)用數(shù)據(jù)(ApplicationData),用例(Cases),工具設(shè)置(ToolsSetting)。,The Design and Implement,23,2020/10/20,轉(zhuǎn)換器用來(lái)將測(cè)試者準(zhǔn)備好的測(cè)試用例轉(zhuǎn)換到一個(gè)能夠被特定測(cè)試工具識(shí)別的測(cè)試用例工具。整個(gè)過(guò)程分為兩步:第一步將測(cè)試用例歸納到與不同測(cè)試類(lèi)型相關(guān)的動(dòng)作集,比如前端(UI),后端(backend),負(fù)載測(cè)試(loading test);第二步將每一個(gè)動(dòng)作

20、集歸納到特定的命令或腳本工具,這些命令或腳本工具依賴于所采用的實(shí)際的測(cè)試工具。 轉(zhuǎn)換層步驟流程如下: 1)通過(guò)TranslatorName()函數(shù)獲得一個(gè)特定測(cè)試類(lèi)型的轉(zhuǎn)換器名。 2)通過(guò)特定轉(zhuǎn)化器getTranslatorInstance()和translate()函數(shù)將測(cè)試用例轉(zhuǎn) 換到測(cè)試用例域。 3)通過(guò)getToolTranslatorName()函數(shù)獲得特定測(cè)試類(lèi)型的的轉(zhuǎn)換器名。 4)通過(guò)轉(zhuǎn)換器getToolTranslatorInstance()和translate()函數(shù)從測(cè)試用例域獲取測(cè)試用例工具。,The Design and Implement,24,2020/10/20,

21、The Design and Implement,執(zhí)行器(ActionWorker)的功能是調(diào)用相應(yīng)的工具執(zhí)行相關(guān)的動(dòng)作。執(zhí)行器層步驟流程如下: 1)通過(guò)getActionWorkerName()函數(shù)獲得一個(gè)執(zhí)行器(actionworker) 2)通過(guò)getActionWorkerInstance()獲得執(zhí)行器實(shí)例(actionworkerinstance) 3)最后一步通過(guò)doAction()執(zhí)行。,25,2020/10/20,The Design and Implement,這部分能夠確定測(cè)試用例是否成功。這部分手機(jī)測(cè)試結(jié)果和預(yù)期結(jié)果。然后對(duì)這兩種結(jié)果作比較。 主要步驟如下: 1)通過(guò)ge

22、tTestResultCollectorName()和個(gè)體TestResultCollectorInstance()實(shí)例化一個(gè)測(cè)試結(jié)果收集器collectTestResult(). 2)通過(guò)collectExpectedResult()收集運(yùn)行測(cè)試實(shí)例時(shí)的預(yù)期結(jié)果。 3)通過(guò)getComparatorName()和getComparatorInstance()實(shí)例化一個(gè)比較器實(shí)例。 4)通過(guò)compare()函數(shù)對(duì)測(cè)試結(jié)果和預(yù)期結(jié)果作比較并得到比較結(jié)果。,26,2020/10/20,Whole Procedure,1)通過(guò)使用xmlObjectConvertor()將測(cè)試用例轉(zhuǎn)換到測(cè)試用例(TestCase)實(shí)體,將測(cè)試用例的測(cè)試步驟轉(zhuǎn)換到測(cè)試用例動(dòng)作(TestCaseAction)實(shí)體,將測(cè)試用例中的斷言轉(zhuǎn)換到斷言(Assertion)實(shí)體,將應(yīng)用背景XML轉(zhuǎn)換到應(yīng)用數(shù)據(jù)(ApplicationData)實(shí)體。 2)聯(lián)合應(yīng)用數(shù)據(jù)和測(cè)試用例。 3)通過(guò)使用translate()函數(shù)將用例(TestCase)轉(zhuǎn)換到TestToolCase. 4)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論