基于qtp的自動(dòng)化測試-畢業(yè)論文_第1頁
已閱讀1頁,還剩31頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  大 連 民 族 學(xué) 院 本 科 畢 業(yè) 設(shè) 計(jì)(論 文)</p><p>  基于QTP的自動(dòng)化測試</p><p>  學(xué) 院(系): 計(jì)算機(jī)科學(xué)與工程學(xué)院 </p><p>  專 業(yè): 軟件工程 </p><p>  學(xué) 生 姓 名:

2、 </p><p>  學(xué) 號(hào): </p><p>  指 導(dǎo) 教 師: </p><p>  評(píng) 閱 教 師: </p><p><b>  大連民族學(xué)院</b></p>

3、<p><b>  摘 要</b></p><p>  目前在軟件測試行業(yè)里,除了大家所熟悉的黑盒測試和白盒測試以外,還分為手工測試和自動(dòng)化測試。自動(dòng)化測試相對(duì)于手工測試有很多優(yōu)點(diǎn),它最主要的優(yōu)點(diǎn)就是省時(shí),省力,省財(cái)務(wù)開銷。自動(dòng)化測試工具中具有代表性的是QTP,QTP適用于軟件測試中的smoke測試以及回歸測試(regression test),QTP腳本具有相當(dāng)高的可移

4、植性和可重用性,“一本萬利”,即一本QTP測試腳本經(jīng)過簡單修改后可以應(yīng)用于多個(gè)測試軟件以及測試環(huán)境。</p><p>  本次畢業(yè)設(shè)計(jì),以QTP為自動(dòng)化測試工具,以“美圖秀秀”軟件為被測軟件,通過QTP的描述性編程方法,實(shí)現(xiàn)該軟件從安裝到卸載的功能測試和界面檢查測試,以及安裝完成后的軟件功能性測試和UI測試。最終產(chǎn)生可讀性好,易于跟蹤的QTP自動(dòng)化報(bào)告,用來分析軟件的缺陷。通過使用QTP對(duì)“美圖秀秀”軟件進(jìn)行測試

5、的實(shí)例,展示出了QTP自動(dòng)化測試在軟件測試行業(yè)中方便,快捷的優(yōu)越性。</p><p>  關(guān)鍵詞:自動(dòng)化測試;報(bào)告;描述性編程</p><p>  Automated testing based on QTP</p><p><b>  Abstract</b></p><p>  In the software tes

6、ting industry, with the exception that everyone is familiar distinguished with black box testing and white box testing, it also consist of manual testing and automated testing. The main advantage of automation is saving

7、time, effort, the provincial financial cost. In automated testing software, QTP is outstanding. QTP used in smoking testing and regression testing (regression test ) in the software testing. QTP script with a very high p

8、ortability and reusability, "a big profit</p><p>  In this graduation design, using QTP for the automated testing tools and using "beauties Xiu Xiu" software for the software under test, throu

9、gh QTP descriptive programming, implementation of the software from installation to uninstall which include the functional testing and inspection interface testing, and the software functionality testing and UI testing a

10、fter installation Upon completion. Eventually produce readable and easy to follow the QTP automated reporting, which used to analyze softwa</p><p>  Key Words:Automated testing;Report;Descriptive programming

11、</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  AbstractII</p><p><b>  1軟件測試簡介1</b></p><p>  1.1 軟件測試簡介1&l

12、t;/p><p>  2 自動(dòng)化測試簡介2</p><p>  2.1 自動(dòng)化測試的目的2</p><p>  2.3 自動(dòng)化測試流程圖3</p><p>  3 QTP自動(dòng)化測試4</p><p>  3.1 QTP自動(dòng)化測試簡介4</p><p>  3.2 QTP的工作模式5<

13、;/p><p>  3.4 QTP自動(dòng)化測試流程7</p><p>  3.4.1 準(zhǔn)備測試用例7</p><p>  3.4.2 配置QTP運(yùn)行環(huán)境7</p><p>  3.4.3 錄制或編寫自動(dòng)化測試腳本7</p><p>  3.4.4 檢查修改腳本7</p><p>  3.4

14、.5 運(yùn)行調(diào)試測試腳本7</p><p>  3.3.6 運(yùn)行維護(hù)腳本7</p><p>  3.4.7 QTP自動(dòng)化測試流程圖8</p><p>  3.5 QTP框架介紹9</p><p>  4 “美圖秀秀”的自動(dòng)化測試10</p><p>  4.1 測試規(guī)劃10</p><p&

15、gt;  4.2 測試用例開發(fā)10</p><p>  4.2.1 安裝測試用例10</p><p>  4.2.2 安裝完畢自動(dòng)啟動(dòng)軟件測試用例11</p><p>  4.2.3 桌面坐標(biāo)檢查測試用例11</p><p>  4.2.4 開始菜單檢查測試用例11</p><p>  4.2.5 啟動(dòng)軟件測

16、試用例11</p><p>  4.2.6 打開圖片測試用例12</p><p>  4.2.7 場景編輯測試用例12</p><p>  4.2.8 場景編輯框檢查測試用例12</p><p>  4.2.9 恢復(fù)原圖測試用例12</p><p>  4.2.10 飾品編輯測試用例13</p>

17、<p>  4.2.11 美容編輯測試用例13</p><p>  4.2.12 卸載測試用例13</p><p>  4.3 QTP腳本開發(fā)14</p><p>  4.4 測試報(bào)告17</p><p>  4.5 環(huán)境搭配18</p><p>  4.6 軟件需求18</p>

18、<p>  4.7 遇到的問題以及解決方案18</p><p>  4.7.1時(shí)間處理18</p><p>  4.7.2欲點(diǎn)擊的button是一張圖片19</p><p>  4.7.3 對(duì)象無法識(shí)別19</p><p>  4.7.4 報(bào)告中無法顯示Pass率19</p><p>  4.7.

19、5 運(yùn)行時(shí)界面效果19</p><p>  4.7.6 場景恢復(fù)20</p><p>  4.7.7 QTP單擊右鍵完成“Save Target As……”操作20</p><p>  4.7.8 QTP讀取外部Excel數(shù)據(jù)21</p><p>  4.7.9 報(bào)告優(yōu)化整理22</p><p><b&

20、gt;  結(jié) 論24</b></p><p>  參 考 文 獻(xiàn)25</p><p><b>  致 謝26</b></p><p><b>  1軟件測試簡介</b></p><p>  1.1 軟件測試簡介</p><p>  一般人認(rèn)為,軟

21、件測試沒什么技術(shù)可言,只要懂得使用鼠標(biāo)就足夠了,這是對(duì)軟件測試的一種誤解。</p><p>  學(xué)習(xí)過軟件工程的同學(xué)幾乎普遍都對(duì)軟件測試存在一種歧視,擴(kuò)大一點(diǎn)范圍可以說幾乎所有學(xué)過代碼開發(fā)的人都對(duì)軟件測試這個(gè)行業(yè)存在偏見。當(dāng)然,這種現(xiàn)象大多數(shù)只發(fā)生在國內(nèi)。在國外,軟件測試已經(jīng)是一個(gè)興旺發(fā)達(dá)的行業(yè)。</p><p>  一般而言,軟件測試從項(xiàng)目確立時(shí)就開始了,前后要經(jīng)過以下一些主要環(huán)節(jié):&l

22、t;/p><p>  需求分析→測試計(jì)劃→測試設(shè)計(jì)→測試環(huán)境搭建→測試執(zhí)行→測試記錄→缺陷管理→軟件評(píng)估→RTM.</p><p>  在真正的項(xiàng)目中,編寫測試用例人員首先通過被測軟件和開發(fā)人員提供的一些文檔,編寫出效率最高的測試用例,測試人員從客戶那里得到被測軟件,按照測試用例檢查被測軟件,最后將測試結(jié)果反饋給開發(fā)人員。</p><p>  測試人員還有一個(gè)最重要的任

23、務(wù)就是跟蹤bug,一個(gè)bug的生命周期分為New,Open, Fixed和Closed 四種基本狀態(tài),另外還存在一種Reopen的狀態(tài),測試人員要從New狀態(tài)一直跟蹤到Closed狀態(tài)。</p><p>  在進(jìn)行有關(guān)問題闡述前,先明確下分工,一般而言,需求分析、測試用例編寫、測試環(huán)境搭建、測試執(zhí)行等屬于測試開發(fā)人員工作范疇,而測試執(zhí)行以及缺陷提交等屬于普通測試人員的工作范疇,測試負(fù)責(zé)人負(fù)責(zé)整個(gè)測試各個(gè)環(huán)節(jié)的跟蹤

24、、實(shí)施、管理等。</p><p>  基于不同的立場,存在著兩種完全不同的測試目的。從用戶的角度出發(fā),普遍希望通過軟件測試暴露軟件中隱藏的錯(cuò)誤和缺陷,以考慮是否可以接受該產(chǎn)品。而從軟件開發(fā)者的角度出發(fā),則希望測試成為表明軟件產(chǎn)品中不存在錯(cuò)誤的過程,驗(yàn)證該軟件已正確地實(shí)現(xiàn)了用戶的要求,確立人們對(duì)軟件質(zhì)量的信心。因此,他們會(huì)選擇那些導(dǎo)致程序失效概率小的測試用例,回避那些易于暴露程序錯(cuò)誤的測試用例。同時(shí),也不會(huì)著意去檢

25、測、排除程序中可能包含的副作用。</p><p>  測試的目標(biāo)是想以最少的時(shí)間和人力找出軟件中潛在的各種錯(cuò)誤和缺陷。如果成功地實(shí)施了測試,就能夠發(fā)現(xiàn)軟件中的錯(cuò)誤。測試的附帶收獲是,它能夠證明軟件的功能和性能與需求說明相符。此外,實(shí)施測試收集到的測試結(jié)果數(shù)據(jù)為可靠性分析提供了依據(jù)。</p><p><b>  2 自動(dòng)化測試簡介</b></p><

26、p>  2.1 自動(dòng)化測試的目的</p><p>  開發(fā)一個(gè)軟件要在最短的時(shí)間內(nèi)開發(fā)出需求分析中的軟件產(chǎn)品,以最快的速度能先于其它競爭對(duì)手占領(lǐng)軟件市場,從而獲取最大的利益,現(xiàn)在的軟件開發(fā)已經(jīng)將測試融入其中,所以測試的速度也是至關(guān)重要的。</p><p>  傳統(tǒng)的軟件測試是靠人的手動(dòng)來進(jìn)行測試,也是現(xiàn)在各個(gè)軟件測試公司的主流方法,稱之為Manual test。測試部門每天都要計(jì)算在

27、某個(gè)項(xiàng)目上charge多少個(gè)人。這樣的測試耗費(fèi)時(shí)間,耗費(fèi)人力,耗費(fèi)成本。自動(dòng)化測試的目的就是盡可能的減少在測試上的人力和財(cái)力的開銷,以最便捷省時(shí)省事的方法,完成同樣的任務(wù)。</p><p>  測試自動(dòng)化是使軟件測試人員跟上開發(fā)人員腳步的惟一方式。</p><p>  自動(dòng)化測試相對(duì)于手工測試的優(yōu)點(diǎn)</p><p>  優(yōu)化測試速度:可非常快速的運(yùn)行上萬條記錄。 &

28、lt;/p><p>  提高準(zhǔn)確性、穩(wěn)定性:可以不為外界因素干擾,準(zhǔn)確運(yùn)行測試用例。</p><p>  確定性:能真實(shí)快速搭建測試環(huán)境,測試數(shù)據(jù),重現(xiàn)缺陷。 </p><p>  提高工作效率:一邊運(yùn)行自動(dòng)化測試,一邊準(zhǔn)備測試報(bào)告。 </p><p>  測試環(huán)境搭建:可以結(jié)合多種編程語言及技術(shù)協(xié)助搭建測試環(huán)境,防止手工測試重復(fù)勞動(dòng),如批處理技

29、術(shù)。 </p><p>  提高技能:可提高測試人員技能,同時(shí)提高對(duì)測試的興趣,防止對(duì)手工測試感覺枯燥。 </p><p><b>  數(shù)據(jù)處理方面的優(yōu)點(diǎn)</b></p><p>  測試數(shù)據(jù):自動(dòng)化測試工具可以根據(jù)需要,準(zhǔn)備大量的測試數(shù)據(jù)。 </p><p>  數(shù)據(jù)處理:測試結(jié)果有時(shí)需要再進(jìn)行相應(yīng)的數(shù)據(jù)處理。 <

30、;/p><p>  用例準(zhǔn)備:可以使用相關(guān)腳本技術(shù)準(zhǔn)備大量的測試用例。 </p><p>  2.3 自動(dòng)化測試流程圖</p><p>  自動(dòng)化測試有它自己的一個(gè)流程,下圖為自動(dòng)化測試流程圖,如圖2.1所示。</p><p>  圖2.1 自動(dòng)化測試流程圖</p><p>  3 QTP自動(dòng)化測試</p>

31、<p>  3.1 QTP自動(dòng)化測試簡介</p><p>  QTP,全稱為Quick Test Professional,是Mercury研發(fā)的一種自動(dòng)化測試工具,現(xiàn)在屬于HP公司,是一款先進(jìn)的自動(dòng)化測試解決方案,用于創(chuàng)建功能和回歸測試。它自動(dòng)捕獲、驗(yàn)證和重放用戶的交互行為。</p><p>  Quick Test Professional是為每一個(gè)重要軟件應(yīng)用和環(huán)境提供功能

32、和回歸測試自動(dòng)化的最佳解決方案。</p><p>  下圖為QTP自動(dòng)界面,如圖3.1所示。</p><p>  圖3.1 QTP自動(dòng)界面</p><p>  Quick Test Professional是新一代自動(dòng)化測試解決方案,采用了關(guān)鍵詞驅(qū)動(dòng)(Keyword-Driven)測試的理念,能完全簡化測試的創(chuàng)建和維護(hù)工作。Quick Test Profession

33、al關(guān)鍵詞驅(qū)動(dòng)方式獨(dú)有之處在于,測試自動(dòng)化專家可以通過一個(gè)整合的腳本和糾錯(cuò)環(huán)境,擁有對(duì)基礎(chǔ)測試腳本和對(duì)象屬性的完全訪問權(quán)限,這些腳本和糾錯(cuò)環(huán)境與關(guān)鍵詞視圖(Keyword View)可以互為同步。</p><p>  Quick Test Professional同時(shí)滿足了技術(shù)型和非技術(shù)型用戶的需求,讓各個(gè)公司有能力部署更高質(zhì)量的應(yīng)用,同時(shí)部署的速度更快,費(fèi)用更低,風(fēng)險(xiǎn)也更小。</p><p&

34、gt;  3.2 QTP的工作模式</p><p>  QTP分為兩種工作模式:</p><p>  第一種為關(guān)鍵字視圖模式(Keyword View),普通的錄制和回放有關(guān)鍵字視圖就足夠了,關(guān)鍵字視圖中有錄制過程中每一個(gè)點(diǎn)擊事件以及輸入事件,測試人員可以在關(guān)鍵字視圖下通過修改DataTable來設(shè)置檢查點(diǎn)。</p><p>  第二種為專家視圖(Expert Vi

35、ew),它有兩個(gè)作用:</p><p>  (1)專家視圖中包含了整個(gè)錄制過程中QTP所產(chǎn)生的每一個(gè)事件相對(duì)應(yīng)的腳本,QTP高級(jí)測試人員可以通過修改這些腳本代碼來控制QTP回放時(shí)的所有事件;</p><p>  (2)高級(jí)QTP測試人員可以在無需錄制的情況下,通過自己在專家視圖中編寫腳本代碼,來實(shí)現(xiàn)錄制能實(shí)現(xiàn)的功能,甚至可以實(shí)現(xiàn)通過錄制無法實(shí)現(xiàn)的功能,這種方法稱為描述性編程,使用描述性編程

36、的優(yōu)點(diǎn)有:</p><p> ?、贉p少Q(mào)TP腳本的大小,便于在郵件和服務(wù)器上發(fā)送;</p><p> ?、谠黾恿四_本的可移植性,可擴(kuò)展性,可維護(hù)性。</p><p>  QTP腳本使用VB語言編寫,很少的代碼量可完成很強(qiáng)大的功能,通過描述性編程,腳本開發(fā)人員可以隨意控制QTP測試腳本,在自己需要的地方增加檢查點(diǎn),在腳本出問題的時(shí)候便于維護(hù);由于沒有對(duì)象,在腳本移植上

37、變得方便容易,也使腳本的擴(kuò)展變得容易。</p><p>  對(duì)于QTP而言,其核心代碼是Visual Basic Script,因此,如果用戶熟悉vbScript,就可以自己添加和更新專家視圖中的語句,并通過編程方式增強(qiáng)測試腳本。</p><p>  初學(xué)者都會(huì)知道QTP是用來錄制回放的,當(dāng)然,錄制完就會(huì)有對(duì)象存在在對(duì)象庫中,這個(gè)對(duì)象對(duì)已經(jīng)錄制的實(shí)體有一個(gè)唯一的標(biāo)識(shí)。但是當(dāng)你遇到以下情況時(shí)

38、,就無法再應(yīng)用對(duì)象和對(duì)象庫了:</p><p>  (1)在某些頁面上動(dòng)態(tài)產(chǎn)生的對(duì)象;</p><p>  (2)當(dāng)要求腳本必須比較小的時(shí)候。</p><p>  那么此時(shí)就要應(yīng)用描述性編程了,這部分工作只能在專家視圖中進(jìn)行。</p><p><b>  以下是一個(gè)例子:</b></p><p>

39、  Browser("xxxx").Page("yyyy").Click</p><p>  將以上的代碼修改為描述性編程:</p><p>  假如現(xiàn)在只是打開的yyyy主頁</p><p>  Window("Text:=yyyy").Close</p><p>  簡而言之,描

40、述性編程就是將原來的對(duì)象用該對(duì)象應(yīng)該具有的屬性和對(duì)應(yīng)的屬性值來代替(即property:=value),來唯一標(biāo)識(shí)這個(gè)對(duì)象,這樣,即使刪除對(duì)象庫中對(duì)應(yīng)的對(duì)象腳本仍然可以運(yùn)行。</p><p>  當(dāng)在一個(gè)測試中多次使用描述性編程的時(shí)候,如以下示例:</p><p>  Window("Text:=aaa").WinButton("Caption:=bbb&qu

41、ot;).Click</p><p>  Window("Text:=aaa").WinButton("Caption:=ccc").Click</p><p>  Window("Text:=aaa").WinButton("Caption:=ddd").Click</p><p> 

42、 為了方便起見,我們可以將Window("aaa")賦值給一個(gè)值</p><p>  Set E = Window("Text:=aaa")</p><p>  E.WinButton("Caption:=bbb").Click</p><p>  E.WinButton("Caption:=cc

43、c").Click</p><p>  E.WinButton("Caption:=ddd").Click</p><p>  如果還想在簡化代碼,可以使用VBScript里的with語句來實(shí)現(xiàn)</p><p>  With Window("Text:=aaa")</p><p>  .Win

44、Button("Caption:=bbb").Click</p><p>  .WinButton("Caption:=ccc").Click</p><p>  .WinButton("Caption:=ddd").Click</p><p>  描述性編程的“后續(xù)強(qiáng)迫性”。</p><

45、;p>  當(dāng)使用描述性編程時(shí),需要注意一點(diǎn)就是,描述性編程的“后續(xù)強(qiáng)迫性”問題,什么是“后續(xù)強(qiáng)迫性”呢?就是說如果在測試對(duì)象層次結(jié)構(gòu)的某一點(diǎn)開始就是用了描述性編程,則該測試對(duì)象層次結(jié)構(gòu)下的后續(xù)測試對(duì)象都要使用描述性編程的方式來描述。</p><p>  由于應(yīng)用描述性編程要應(yīng)用VBscript語言,所以在這里要簡單的介紹一下VBscript:</p><p>  Visual Bas

46、ic,簡稱VB,是Microsoft公司推出的一種Windows應(yīng)用程序開發(fā)工具。是當(dāng)今世界上使用最廣泛的編程語言之一,它也被公認(rèn)為是編程效率最高的一種編程方法。無論是開發(fā)功能強(qiáng)大、性能可靠的商務(wù)軟件,還是編寫能處理實(shí)際問題的實(shí)用小程序,VB都是最快速、最簡便的方法。</p><p>  3.4 QTP自動(dòng)化測試流程</p><p>  3.4.1 準(zhǔn)備測試用例</p>&

47、lt;p>  軟件測試,離不開測試用例,測試用例對(duì)于軟件測試來說就如軟件開發(fā)中的需求分析一樣,開發(fā)中沒有需求分析說明書就無法知道將要做的是什么,完成什么功能,測試用例對(duì)于軟件測試的功能是一樣的,沒有測試用例就算有了測試軟件也無法進(jìn)行測試,而且測試用例要便于腳本的后期維護(hù)。 </p><p>  測試用例開發(fā)的標(biāo)準(zhǔn)是符合自動(dòng)化測試要求,檢查點(diǎn)覆蓋盡可能全面,測試步驟盡可能通順簡潔,方便測試人員進(jìn)行測試。本次畢

48、業(yè)設(shè)計(jì)由于是個(gè)人項(xiàng)目,無法按照公司的流程進(jìn)行開發(fā),因此在測試用例開發(fā)的流程上欠缺合理性。</p><p>  3.4.2 配置QTP運(yùn)行環(huán)境</p><p>  QTP支持不同的開發(fā)環(huán)境,在錄制(編寫腳本)之前,需要根據(jù)被測試的環(huán)境,選</p><p>  擇合適的插件,并進(jìn)行加載。在安裝QTP時(shí),會(huì)提示輸入許可序列號(hào),如果沒有買到HP授權(quán)的正版序列號(hào),QTP只能有

49、14天的試用期。</p><p>  3.4.3 錄制或編寫自動(dòng)化測試腳本</p><p>  不論是錄制還是測試員自己編寫自動(dòng)化測試腳本,都必須按照測試用例的步驟來進(jìn)</p><p>  行,開發(fā)中開發(fā)人員按照需求分析文檔來一個(gè)個(gè)的實(shí)現(xiàn)需求分析中的功能模塊,同樣的道理,測試人員要根據(jù)測試用例完成每一步測試用例相對(duì)應(yīng)的自動(dòng)化腳本的開發(fā)。</p><

50、;p>  3.4.4 檢查修改腳本</p><p>  錄制或編寫完自動(dòng)化測試腳本以后,不要急于運(yùn)行測試腳本,要先好好檢查腳本</p><p>  的完整性,語法錯(cuò)誤以及邏輯性。刪除冗余的腳本代碼,以最少的代碼來實(shí)現(xiàn)同樣的功能。</p><p>  3.4.5 運(yùn)行調(diào)試測試腳本</p><p>  檢查過腳本代碼后,運(yùn)行該測試腳本,不是

51、所有的腳本都能按照預(yù)期的期望正常運(yùn)</p><p>  并能產(chǎn)生正確的報(bào)告的。這就要求腳本開發(fā)人員在腳本出問題的時(shí)候?qū)δ_本進(jìn)行調(diào)試,直到腳本正常運(yùn)行。</p><p>  3.3.6 運(yùn)行維護(hù)腳本</p><p>  腳本調(diào)試后可以正常運(yùn)行,隨著代碼量的增加,這個(gè)時(shí)候就需要不斷的對(duì)腳本進(jìn)行</p><p>  后期維護(hù),以確保腳本的質(zhì)量和性能

52、。</p><p>  3.4.7 QTP自動(dòng)化測試流程圖</p><p>  QTP自動(dòng)化測試有它自己的測試流程圖,下圖為QTP自動(dòng)化測試流程圖,如圖3.2所示:</p><p><b>  NO</b></p><p><b>  YES</b></p><p>  圖3

53、.2 QTP自動(dòng)化測試流程圖</p><p>  3.5 QTP框架介紹</p><p>  Java中有MVC框架,struts框架等等,在QTP中,同樣有它自己的框架結(jié)構(gòu)。</p><p>  QTP框架基本分為三層,腳本層(業(yè)務(wù)組件開發(fā)),業(yè)務(wù)層(流程的開發(fā)和組織),數(shù)據(jù)層,層次之間相互分離是本框架組織總的方針,為開展功能自動(dòng)化測試提供一個(gè)高效、穩(wěn)定、容易的測

54、試實(shí)現(xiàn)。</p><p>  實(shí)現(xiàn)QTP自動(dòng)化測試框架實(shí)際上要由以下幾個(gè)部分組成:</p><p>  (1)一組錄制好的qtp腳本(QTP的Action);</p><p>  (2)一個(gè)可以組織用例的Excel文檔;</p><p>  (3)一個(gè)VBScripts腳本。</p><p>  首先,在QTP里建立多

55、個(gè)Action,這些Action于測試用例中的步驟一一對(duì)應(yīng),Action里的語句只有調(diào)用vbScript文件和調(diào)用該vbScript文件內(nèi)函數(shù)的語句即可。</p><p>  其次,把固定的字符串以及按鈕參數(shù)化,這些參數(shù)將被保存在QTP的Datatable中,供vbScript調(diào)用。</p><p>  再次,為實(shí)現(xiàn)真正意義上的自動(dòng)化測試,我們需要一個(gè)VBScripts腳本,它的作用是通過

56、執(zhí)行這個(gè)VBScripts腳本來驅(qū)動(dòng)QTP程序啟動(dòng),然后自動(dòng)運(yùn)行我們所需要執(zhí)行的qtp腳本。</p><p>  完成以上內(nèi)容,一個(gè)基本的自動(dòng)化測試架構(gòu)就組合完成了。當(dāng)然,以上的內(nèi)容只是一個(gè)簡單的說明,在這其中,實(shí)際上是需要我們進(jìn)行腳本的調(diào)整和運(yùn)用一些編程技術(shù)才能實(shí)現(xiàn)這個(gè)框架,例如,我們?nèi)绾巫孮TP腳本來讀取Excel中的用例值?如何通過vbscripts腳本來啟動(dòng)QTP程序?等等。</p><

57、;p>  而對(duì)于以上的框架實(shí)際上還有調(diào)整的余地,我們很多時(shí)候聽到的框架優(yōu)化,原則上就是要把這個(gè)框架更細(xì)化,例如,測試用例中需要有附件的配置、需要有公共函數(shù)的使用、測試執(zhí)行后要有結(jié)果存儲(chǔ)的路徑等等一系列內(nèi)容,這樣,這個(gè)框架才能夠被共享和復(fù)用,而不是每次測試都要重新考慮用例設(shè)計(jì)或者重新生成用例集,而這些是慢慢將這個(gè)框架進(jìn)行豐滿所要做的工作。</p><p>  4 “美圖秀秀”的自動(dòng)化測試</p>

58、<p><b>  4.1 測試規(guī)劃</b></p><p>  以“美圖秀秀”為被測軟件,QTP為測試工具,實(shí)現(xiàn)一個(gè)軟件從安裝,應(yīng)用到卸載的整個(gè)過程的function testing 以及UI testing。</p><p><b>  主要測試點(diǎn)有:</b></p><p><b>  安裝&l

59、t;/b></p><p><b>  快捷方式檢查:</b></p><p><b>  功能測試:</b></p><p><b>  (1)啟動(dòng)軟件</b></p><p><b>  (2)選擇圖片</b></p><p&

60、gt;<b>  (3)編輯圖片</b></p><p>  (4)保存編輯后圖片</p><p><b>  (5)關(guān)閉軟件</b></p><p><b>  (6)IE檢查</b></p><p><b>  UI 測試:</b></p>

61、<p>  (1)檢查應(yīng)該出現(xiàn)的字符串以及各種Button。</p><p><b>  卸載</b></p><p>  4.2 測試用例開發(fā)</p><p>  正常的測試是由專門寫測試用例的人員將測試用例寫好后,放到QC上,測試人員再從QC上導(dǎo)下來進(jìn)行測試,在本次畢業(yè)設(shè)計(jì)中,由于是獨(dú)立完成畢業(yè)設(shè)計(jì),所以測試用例也是自己編寫的

62、,測試用例寫的原則就是盡可能的覆蓋更多的檢查點(diǎn)。</p><p>  本次畢業(yè)設(shè)計(jì)的測試用例根據(jù)測試規(guī)劃而開發(fā),測試用例涵蓋了軟件的安裝檢查;界面檢查;功能性檢查,如啟動(dòng),編輯,關(guān)閉等;卸載檢查等。</p><p>  4.2.1 安裝測試用例</p><p><b>  Steps:</b></p><p>  (1)

63、DbClick XiuXiu_Soft.exe;</p><p>  (2)Click "立即安裝美圖秀秀 >" from "美圖秀秀 2.2.0 安裝";</p><p>  (3)Click "下一步(N)>" from "美圖秀秀 2.2.0 安裝";</p><p>

64、  (4)Unselect "’安裝百度搜霸' and click"下一步(N)>";</p><p>  (5)Click "安裝(I)";</p><p>  (6)Unselect "設(shè)置 美圖秀秀上網(wǎng)主頁 為IE 首頁";</p><p>  (7)Click "完

65、成(F)".</p><p>  Expected Result:</p><p>  Verify software can be installed successfully.</p><p>  4.2.2 安裝完畢自動(dòng)啟動(dòng)軟件測試用例</p><p><b>  Steps:</b></p>

66、<p>  (1)Flow above steps.</p><p>  Expected Result:</p><p>  Verify the "美圖秀秀 2.2.0" can automaticlly launched successfully.</p><p>  Verify the "http://xiuxi

67、u.meitu.com/success.html" webpage launched.</p><p>  4.2.3 桌面坐標(biāo)檢查測試用例</p><p><b>  Steps:</b></p><p>  (1)Check shortcuts on desktop.</p><p>  Expected

68、Result:</p><p>  Verify the shortcut “美圖秀秀” displays on desktop.</p><p>  Verify the shortcut “520上網(wǎng)主頁” displays on desktop.</p><p>  4.2.4 開始菜單檢查測試用例</p><p><b> 

69、 Steps:</b></p><p>  (1)Start menu links.</p><p>  Expected Result:</p><p>  Verify "美圖" folder is displayed.</p><p>  Verify "美圖秀秀" folder is

70、 displayed.</p><p>  Verify "美圖看看" folder is displayed.</p><p>  Verify blew links are displayed:</p><p><b>  "美圖秀秀".</b></p><p><b&g

71、t;  "卸載美圖秀秀"</b></p><p><b>  "美圖看看"</b></p><p><b>  “卸載美圖看看"</b></p><p>  4.2.5 啟動(dòng)軟件測試用例</p><p><b>  Steps:

72、</b></p><p>  (1)Lanuch "美圖秀秀" from desktop/startmenu;</p><p>  (2)Click "X" button.</p><p>  Expected Result:</p><p>  Verify the "美圖秀秀

73、2.2.0" can launched without any error.</p><p>  Verify the "美圖秀秀 2.2.0" can exited without any error.</p><p>  4.2.6 打開圖片測試用例</p><p><b>  Steps:</b><

74、/p><p>  (1)Lanuch "美圖秀秀" from desktop/startmenu;</p><p>  (2)Click "打開一張圖片" from dialog "美圖秀秀";</p><p>  (3)Click “Cancel” button.</p><p> 

75、 Expected Result:</p><p>  Verify the "打開一張圖片" dialog can be opened.</p><p>  Verify the dialog can be closed after click "退出" button.</p><p>  4.2.7 場景編輯測試用例<

76、;/p><p><b>  Steps:</b></p><p>  (1)Click “場景” from "美圖秀秀";</p><p>  (2)Click “取消” Button on “場景 編輯框” dialog.</p><p>  Expected Result:</p>&l

77、t;p>  Verify “場景 編輯框” dialog can be opened.</p><p>  Verify the dialog can be closed after click “取消” Button.</p><p>  4.2.8 場景編輯框檢查測試用例</p><p><b>  Steps:</b></p&

78、gt;<p>  (1)Click “場景” from "美圖秀秀".</p><p>  Expected Result:</p><p>  Verify "預(yù)覽" button exists.</p><p>  Verify "編輯" button exists.</p>

79、<p>  Verify "保存" button exists.</p><p>  Verify "復(fù)制到QQ" button exists.</p><p>  Verify "修改閃圖大小" button exists.</p><p>  4.2.9 恢復(fù)原圖測試用例</p>

80、<p><b>  Steps:</b></p><p>  (1)Click "原圖" from "美圖秀秀";</p><p>  (2)Click “閃圖” Button.</p><p>  Expected Result:</p><p>  Verify

81、the "閃圖 編輯框" dialog is closed successfully.</p><p>  4.2.10 飾品編輯測試用例</p><p><b>  Steps:</b></p><p>  (1)Click "飾品" on the "美圖秀秀".</p>

82、<p>  Expected Result:</p><p>  Verify "非主流印" button exists.</p><p>  Verify "裝飾品" button exists.</p><p>  Verify "可愛心" button exists.</p>

83、<p>  Verify "會(huì)話氣泡" button exists.</p><p>  Verify "可愛動(dòng)物" button exists.</p><p>  Verify "卡通人物" button exists.</p><p>  Verify "動(dòng)態(tài)文字"

84、button exists.</p><p>  Verify "繽紛節(jié)日" button exists.</p><p>  Verify "開心惡搞" button exists.</p><p>  Verify "遮擋物" button exists.</p><p>  V

85、erify "淘寶" button exists.</p><p>  Verify "其他飾品" button exists.</p><p>  4.2.11 美容編輯測試用例</p><p><b>  Steps:</b></p><p>  (1)Click "

86、首頁" on "美圖秀秀";</p><p>  (2)Click "美容" button on "美圖秀秀".</p><p>  Expected Result:</p><p>  Verify the "美圖秀秀溫馨提示" dialog should displays.

87、</p><p>  4.2.12 卸載測試用例</p><p><b>  Steps:</b></p><p>  (1). Select "卸載美圖秀秀";</p><p>  (2). Click "Yes" button from "美圖秀秀2.2.0 卸載&q

88、uot; dialog;</p><p>  (3). Click "Yes" button from "美圖秀秀2.2.0 卸載" dialog;</p><p>  (4). Click "OK" button from "美圖秀秀2.2.0 卸載" dialog;</p><p>

89、  Expected Result:</p><p>  Verify the software can be uninstall successfully.</p><p><b>  Verify</b></p><p>  “http://xiuxiu.meitu.com/uninstall.html?ver=2.2.0.1000&

90、;from=Soft&hd=a2e118b4e2fc95f5c455d5c70e55f7b9“ webpage launchs.</p><p>  下圖為測試用例截圖,如圖4.1所示:</p><p>  圖4.1 測試用例截圖</p><p>  4.3 QTP腳本開發(fā)</p><p>  測試腳本主要在專家視圖中應(yīng)用VB語言進(jìn)行

91、編寫,最終可編輯成vbs腳本文件,所有的vbs腳本文件集合起來產(chǎn)生一個(gè)VBScript腳本。</p><p>  以測試用例的檢查點(diǎn)進(jìn)行Action分割,即每一條測試用例對(duì)應(yīng)一個(gè)Action,這樣做的好處是一個(gè)Action的pass與failed直接對(duì)應(yīng)一條測試用例的執(zhí)行結(jié)果,如Install Action的功能只是安裝。Action之間相互獨(dú)立,各個(gè)Action之間的耦合性盡量降低。</p>&l

92、t;p>  根據(jù)Action的分類,一個(gè)Action對(duì)應(yīng)一個(gè)vbs腳本,在vbs腳本中以vb語言為基礎(chǔ),利用vb函數(shù)以及系統(tǒng)內(nèi)部函數(shù)調(diào)用,以及對(duì)注冊表、桌面路徑、開始菜單路徑檢查和調(diào)用,完成軟件的安裝、快捷方式檢查、功能測試、UI測試以及卸載等測試,通過ReporterManager產(chǎn)生測試報(bào)告返回測試Excel格式的結(jié)果。</p><p>  應(yīng)用QTP框架原理,實(shí)現(xiàn)Action與vbscript 相分離

93、。便于腳本維護(hù)。</p><p>  安裝測試腳本主要是啟動(dòng)安裝軟件,然后判斷被測軟件安裝程序是否能夠正常啟動(dòng)下圖為啟動(dòng)安裝程序代碼界面,如圖4.2所示:</p><p>  圖4.2 啟動(dòng)安裝程序代碼界面</p><p>  安裝過程檢查腳本主要檢查安裝過程中各個(gè)界面是否正常出現(xiàn),界面上的文字和按鈕顯示是否正常。下圖為安裝過程檢查代碼界面,如圖4.3所示:<

94、/p><p>  圖4.3 安裝過程檢查代碼界面</p><p>  開始菜單檢查腳本是檢查軟件在開始菜單中的鏈接是否存在,下圖為開始菜單檢查界面,如圖4.4所示:</p><p>  圖4.4 開始菜單檢查界面</p><p><b>  4.4 測試報(bào)告</b></p><p>  QTP產(chǎn)生的報(bào)

95、告要求清晰明朗,通過、未通過和Pass率等各種信息都要求在報(bào)告中顯示出來,下圖為報(bào)告的Summary Sheet,如圖4.5所示:</p><p>  圖4.5 報(bào)告的Summary Sheet</p><p>  上圖報(bào)告顯示的是測試用例執(zhí)行的總體結(jié)果,下圖顯示的報(bào)告的詳細(xì)信息,如圖4.6所示:</p><p>  圖4.6 報(bào)告的Detail Sheet<

96、/p><p><b>  4.5 環(huán)境搭配</b></p><p>  OS: Windows xp/vista。</p><p><b>  語言: 簡體中文。</b></p><p><b>  網(wǎng)絡(luò)連接正確。</b></p><p><b>

97、  4.6 軟件需求</b></p><p><b>  (1)美圖秀秀。</b></p><p><b>  (2)QTP。</b></p><p>  (3)其它軟件需求: </p><p>  office 2003或 office 2007。</p><p&g

98、t;  4.7 遇到的問題以及解決方案</p><p><b>  4.7.1時(shí)間處理</b></p><p>  由于計(jì)算機(jī)配置不同,在自動(dòng)運(yùn)行軟件及其功能時(shí),目標(biāo)窗口出現(xiàn)的時(shí)間不同,這就需要腳本在執(zhí)行完一個(gè)判斷后,在判斷下一個(gè)目標(biāo)出現(xiàn)之前,必須有時(shí)間上的判斷,否則當(dāng)在QTP默認(rèn)時(shí)間內(nèi)沒有出現(xiàn)目標(biāo),測試將會(huì)報(bào)錯(cuò)。</p><p><b&

99、gt;  時(shí)間處理方法有:</b></p><p>  (1)死等法:    wait(10)。    wait方法可設(shè)定指定的等待時(shí)間,時(shí)間單位為秒,但這個(gè)時(shí)間只能是固定的,即必須等到這個(gè)時(shí)間才能繼續(xù)執(zhí)行。缺點(diǎn):有時(shí)候會(huì)浪費(fèi)時(shí)間,有時(shí)候因時(shí)間把握不準(zhǔn)確而少設(shè)定了時(shí)間。 (2)waitproperty &#

100、160;  windows("XXX").dialog("XXXXXXXX").waitProperty "visible",true,50000    方法中的visible是屬性,true是屬性的值,50000為最長等待時(shí)間,單位為毫秒。即在最長等待時(shí)間內(nèi)任意時(shí)刻visible的值為true了,腳本繼續(xù)向下執(zhí)行,直到等到

101、最大等待時(shí)間,然后給出warning。注意:如果超出最大等待時(shí)間,QTP報(bào)告中的結(jié)果是warning,而不是fail。 (3)Exist(10)    windows("XXX").dialog("XXXXXXXX").Exist(10)    方法中的10的時(shí)間單位為秒。   

102、 該方法與waitproperty方法類似,個(gè)人認(rèn)為比waitproperty方</p><p>  4.7.2欲點(diǎn)擊的button是一張圖片</p><p><b>  解決方法:</b></p><p>  Tools->Virtual Objects->New Virtual Objects</p><p

103、>  在Virtual Objects Wizard窗口選擇下一步,接下來的窗口選擇一個(gè)虛擬對(duì)象的類別,然后點(diǎn)擊下一步,接下來的窗口中點(diǎn)擊 “Mark Object”來確定虛擬對(duì)象。完成。</p><p>  4.7.3 對(duì)象無法識(shí)別</p><p><b>  解決方案:</b></p><p>  (1)模擬錄制和低級(jí)錄制</p

104、><p>  QTP錄制分為三種模式,一為普通模式錄制,二為模擬錄制,三為低級(jí)錄制。</p><p>  模擬錄制是將普通錄制無法識(shí)別的對(duì)象,錄制為模擬對(duì)象,模擬對(duì)象一般是一個(gè)窗口,即將不能識(shí)別的對(duì)象所在窗口識(shí)別為模擬對(duì)象,以此來判別該對(duì)象是否存在。</p><p>  低級(jí)錄制是記錄鼠標(biāo)對(duì)點(diǎn)的操作,即只記錄鼠標(biāo)在目標(biāo)窗口進(jìn)行的點(diǎn)擊以及拖動(dòng)等動(dòng)作。低級(jí)錄制在項(xiàng)目中不建議

105、使用,因此在本工程中并未用到,在此只是做一個(gè)簡介。</p><p><b>  (2)坐標(biāo)識(shí)別:</b></p><p>  坐標(biāo)識(shí)別與模擬錄制有些相似,只是沒有模擬錄制所產(chǎn)生的對(duì)象庫。個(gè)人使用坐標(biāo)識(shí)別的步驟為:</p><p>  通過建立虛擬對(duì)象的步驟定位目標(biāo)點(diǎn)在當(dāng)前窗口的坐標(biāo)值,然后點(diǎn)擊坐標(biāo)點(diǎn),例如確定坐標(biāo)后,可通過以下語句實(shí)現(xiàn)點(diǎn)擊:&l

106、t;/p><p>  Dialog(“text:=jevon”).Click 23,23</p><p>  4.7.4 報(bào)告中無法顯示Pass率</p><p>  在實(shí)際項(xiàng)目中,客戶關(guān)注的不僅僅是這一本測試用例哪條通過了,哪條沒有通過,他們還很關(guān)注Pass率是多少,為了能在最終的測試報(bào)告中體現(xiàn)出Pass率,通過兩天的時(shí)間對(duì)ReporterManager的研究和修改,

107、現(xiàn)在可以在QTP報(bào)告的summary sheet里面直觀的看到這一次運(yùn)行完以后的Pass率。</p><p>  4.7.5 運(yùn)行時(shí)界面效果</p><p>  為了不讓QTP在運(yùn)行時(shí)占據(jù)桌面視覺空間,特意將QTP在運(yùn)行開始時(shí)將其最小化,運(yùn)行結(jié)束后再最大化,具體實(shí)現(xiàn)方法如下:</p><p><b>  最小化QTP窗口:</b></p&

108、gt;<p>  Dim objQTPWin</p><p>  Set objQTPWin = GetObject(“”,”QuickTest.Application”)</p><p>  objQTPWin.WindowState = “Minimized”</p><p><b>  最大化QTP窗口:</b></p

109、><p>  ObjQTPWin.windowState = “Restored”</p><p>  SetObjQTPWin = Nothing</p><p>  4.7.6 場景恢復(fù)</p><p>  軟件開發(fā)中常常使用Try……Catch來捕捉代碼出現(xiàn)的異常,從而避免異常給整個(gè)工程帶來的威脅。在運(yùn)用描述性編程的QTP中,由于被測試軟件

110、還不是很成熟,存在相當(dāng)多的缺陷,這些缺陷都是未知的,這就更需要QTP有這樣的方法來避免突發(fā)情況。</p><p>  在實(shí)際項(xiàng)目中,根據(jù)實(shí)際情況做了一個(gè)場景恢復(fù),內(nèi)容如下:</p><p>  (1)Resources->Recovery Scenario Manger;</p><p>  (2)”Recovery Scenario Manger” 對(duì)話框-

111、>New Scenario (“New Scenario” 是在字符串 “Scenario”后面的一個(gè)button);</p><p>  (3)”Recovery Scenario Wizard”->“下一步”, 選擇 error course 并點(diǎn)擊“下一步”;</p><p>  (4)選擇 test run error characterized 并點(diǎn)擊“下一步”;&l

112、t;/p><p>  (5)在 “Recovery Operations”界面, 選擇任意選項(xiàng)然后點(diǎn)擊“下一步”;</p><p>  (6)選擇一個(gè)操作形式 (在本項(xiàng)目中,選擇了“Function call”);</p><p>  (7)如果選擇的是“Function call”, 可以通過“Function Library” 來加載已經(jīng)寫好的函數(shù),點(diǎn)擊“下一步”;

113、</p><p>  (8)如果想再添加一個(gè)場景恢復(fù), 取消 “Add another recovery operation” 選項(xiàng)的選擇并且點(diǎn)擊“下一步”;</p><p>  (9)場景恢復(fù)設(shè)置完成后,選擇場景恢復(fù)所期望的執(zhí)行效果并點(diǎn)擊“下一步”;</p><p>  (10)給完成的場景恢復(fù)命名,然后點(diǎn)擊“下一步”;</p><p>&

114、lt;b>  (11)完成。</b></p><p>  這樣,一旦腳本運(yùn)行中出現(xiàn)未知異常,腳本就會(huì)調(diào)用我的預(yù)先定義好的函數(shù),然后自動(dòng)跳到下一個(gè)action繼續(xù)執(zhí)行腳本,避免出錯(cuò)并且節(jié)省時(shí)間。</p><p>  另一種方式是利用vb自帶的錯(cuò)誤處理機(jī)制:</p><p>  在可能出現(xiàn)問題的語句前邊加上:on error resume next,一

115、旦語句出錯(cuò),將跳過該錯(cuò)誤語句繼續(xù)執(zhí)行,在停止該語句效應(yīng)范圍處使用on error goto 0或者err.clear來實(shí)現(xiàn)結(jié)束 “on error resume next”。</p><p>  4.7.7 QTP單擊右鍵完成“Save Target As……”操作</p><p>  Setting.WebPackage("ReplayType") = 2&l

116、t;/p><p>  Browser("Jevon_新浪博客").Page("Jevon_新浪博客").Link("text:=Jevon").Click 0,0,micRightBtn</p><p>  Setting.WebPackage("ReplayType") = 1</p><p&

117、gt;  Set WshShell = CreateObject("WScript.Shell")</p><p>  For i = 1 To 4                    '&quo

118、t;Save target as....."在第四個(gè)位置</p><p>  WshShell.sendKeys "{DOWN}"</p><p><b>  Next</b></p><p>  WshShell.sendKeys "{ENTER}"</p><p> 

119、 Set WshShell = nothing</p><p><b>  附錄:</b></p><p>  replaytype1 - Runs mouse operations using browser events.</p><p>  2 - Runs mouse operations using the mouse. 

120、 </p><p>  你的應(yīng)用應(yīng)該選擇鼠標(biāo)模式。</p><p>  0,0是個(gè)人用法上的習(xí)慣,就是這個(gè)對(duì)象的左上角的第一個(gè)像素位置</p><p>  4.7.8 QTP讀取外部Excel數(shù)據(jù)</p><p>  Dim filepath,rowcount,i</p><p>  filepath = p

121、athfinder.Locate("C:\Users\Jevon\Desktop\TopView.xls")  'Excel path</p><p>  DataTable.AddSheet("resultSheet")           &#

122、160;    'add new sheet to datatable</p><p>  'import outside sheet  data into new sheet in the datatable</p><p>  DataTable.ImportSheet filepath,"Test_Summary&qu

123、ot;,"resultSheet"            </p><p>  rowcount = DataTable.GetSheet("resultSheet").GetRowCount     &#

124、160;         </p><p>  Dim counts,passrate,bound       'define the pass count,passrateand all case count</p>&l

125、t;p>  counts = 0</p><p>  reDim arraydata(rowcount)</p><p>  bound = rowcount-9</p><p>  'msgbox bound</p><p>  For i= 10 to rowcount &#

126、160;               'the tenth row is the first test case result</p><p>  Datatable.SetCurrentRow(i)</p><p>  arraydata(i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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)論