如何搭建自己的自動(dòng)化測(cè)試框架
這段時(shí)間一直在為公司內(nèi)部開(kāi)發(fā)自動(dòng)化測(cè)試框架
,簡(jiǎn)稱GTF,因?yàn)檫@個(gè)框架現(xiàn)在還屬于開(kāi)發(fā)階段,很多事都是言之過(guò)早。我會(huì)持續(xù)將我在架構(gòu)過(guò)程中的想法寫下來(lái)。供自己和大家一起分享。
這些想法,并不屬于我一個(gè)人,我工作中的同事們給了我很大的幫助。
今天這一篇主要說(shuō)明架構(gòu)方面的考慮。
在現(xiàn)有的提供自動(dòng)化測(cè)試解決方案的產(chǎn)品很多,包括:Robot,,WinRunner等等。我只接觸過(guò)這些,公司里也進(jìn)行過(guò)很大的嘗試,但是結(jié)果往往總是不竟如人意。
這中間,排除那些人員方面的原因,也總結(jié)這些自動(dòng)化工具
,在使用過(guò)程中的不方便的地方:
1. 定位控件不方便。標(biāo)準(zhǔn)控件還好,非標(biāo)準(zhǔn)控件就只能靠很多非正常方法去獲取。而且,控件的識(shí)別往往和界面布局相關(guān)。
3. 代碼維護(hù)不方便。由于在編寫過(guò)程中,大量的和界面相關(guān)的代碼,導(dǎo)致*在需求變更的時(shí)候,代碼的維護(hù),成為軟件測(cè)試人員的負(fù)擔(dān)。
針對(duì)這些情況,我們經(jīng)過(guò)討論,何不自己做一個(gè)軟件測(cè)試框架。當(dāng)然了,這是基于我們的豐富的知識(shí)積累的決策。大家不需要關(guān)心這個(gè)決策的情況。不過(guò),可以多關(guān)注一些我們?cè)谧龅倪^(guò)程中的分析結(jié)果。
通過(guò)分析流行的軟件測(cè)試框架,有多種方式:
*、最典型的就是消息驅(qū)動(dòng),自動(dòng)化工具通過(guò)腳本錄制和編寫,保存為測(cè)試腳本。在回放的過(guò)程中,將這些腳本轉(zhuǎn)換成為Windows消息,發(fā)送給我們應(yīng)用程序的窗體和各種控件。
這種方式的好處在于,自動(dòng)化工具和應(yīng)用程序之間能夠做到完全的隔離。但是,由于使用了Windows消息,它也擁有了一個(gè)非常致命的缺點(diǎn)。那就是消息隊(duì)列的異步性與程序的順序性之間的矛盾。很多消息發(fā)送給了應(yīng)用程序,但是應(yīng)用程序的處理可能已經(jīng)和消息隊(duì)列錯(cuò)位了。有一些關(guān)于代碼的時(shí)間片等待,就是因?yàn)檫@個(gè)問(wèn)題。
另外,就是由于完全的隔離,對(duì)于操縱控件數(shù)據(jù)的能力大大降低。畢竟,擁有大量數(shù)據(jù)的控件都不是標(biāo)準(zhǔn)控件。
第二、嵌入式
。就是這類工具。它有支持不同語(yǔ)言的版本。大概思路,就是在程序編譯的時(shí)候,注入自己的控件代理。腳本的回放,直接可以通過(guò)代理,操縱到應(yīng)用程序。
可惜的是,這類軟件開(kāi)發(fā)的時(shí)候,更多的是考慮平臺(tái)的兼容性。對(duì)于特有平臺(tái)上的支持不是十分完美。特別是對(duì)自定義控件(比如Delphi中,除了VCL的標(biāo)準(zhǔn)控件)支持也沒(méi)有做到*。不過(guò),我這里必須承認(rèn),TC的內(nèi)部實(shí)現(xiàn)機(jī)制可能十分強(qiáng)大,我不能窺探所有。如果有人清晰,可以指點(diǎn)一二。
針對(duì)上面的兩種,我們想到的第三種方式:一體式。這種方式中,通過(guò)給程序在打包的過(guò)程中,添加額外的框架代碼,使得程序自動(dòng)提供控件的訪問(wèn)方式。自動(dòng)化的模塊也會(huì)作為軟件測(cè)試程序的一部分運(yùn)行。
應(yīng)用程序在執(zhí)行腳本的時(shí)候,自動(dòng)通過(guò)腳本
,控制各控件界面的顯示和關(guān)閉。它應(yīng)該是第二種方式的變種。但是由于是自己實(shí)現(xiàn)的,所以在對(duì)各類自定義控件支持的都非常好。
針對(duì)一開(kāi)始提出的幾個(gè)自動(dòng)化測(cè)試的難題,我們提出了,自動(dòng)封裝窗體上所有控件的概念(這些概念后面會(huì)詳細(xì)介紹),對(duì)于軟件測(cè)試人員,只要關(guān)心真正的業(yè)務(wù)操作流程。而業(yè)務(wù)流程中涉及到的控件,已經(jīng)為他們自動(dòng)提供好。這樣,腳本也自然只成了業(yè)務(wù)流程的腳本。其復(fù)雜度也就大大降下來(lái)了。
如果要推薦2個(gè)工具的話,我就推薦澤眾軟件公司的
自動(dòng)化測(cè)試工具和測(cè)試管理工具
,用這2個(gè)軟件合作可以很好的進(jìn)行自動(dòng)化測(cè)試與對(duì)測(cè)試用例進(jìn)行管理。
自動(dòng)化測(cè)試開(kāi)發(fā)崗位要求
1、熟悉CAN、GPIB、RS232、以太網(wǎng)等編程及協(xié)議。2、熟悉NI的等集成開(kāi)發(fā)環(huán)境,熟悉DAQmx編程等優(yōu)先。
3、熟悉基本硬件電路,可自行搭建與硬件測(cè)試相關(guān)的硬件環(huán)境。
4、掌握至少一種開(kāi)源測(cè)試框架(Junit、Pytest等。
5、掌握Android系統(tǒng)的自動(dòng)化測(cè)試工具M(jìn)onkey、Robotium、UI Automator等。
南京軟件測(cè)試培訓(xùn)機(jī)構(gòu)哪家好
南京軟件測(cè)試培訓(xùn)機(jī)構(gòu)推薦選擇【達(dá)內(nèi)教育】,該機(jī)構(gòu)線上線下交互學(xué)習(xí),對(duì)標(biāo)企業(yè)人才標(biāo)準(zhǔn),制定專業(yè)學(xué)習(xí)計(jì)劃,囊括主流熱點(diǎn)技術(shù)。感興趣的話點(diǎn)擊此處,免費(fèi)學(xué)習(xí)一下在選擇培訓(xùn)【軟件測(cè)試培訓(xùn)機(jī)構(gòu)】時(shí)需要考慮學(xué)??诒R粋€(gè)學(xué)校怎么樣,從校內(nèi)學(xué)生的口中就可以得到真實(shí)口碑,建議直接去實(shí)地問(wèn)校內(nèi)學(xué)生,獲取最真實(shí)的評(píng)價(jià)。課程再好也是老師來(lái)教,這時(shí)候就要了解學(xué)校的老師水平如何,看看有沒(méi)有大企業(yè)的任職經(jīng)驗(yàn)和多年的測(cè)試經(jīng)驗(yàn)。課程內(nèi)容的專業(yè)性和實(shí)用性決定了學(xué)生未來(lái)的就業(yè),課程內(nèi)容要看機(jī)構(gòu)考證或職稱課程含金量情況如何,學(xué)習(xí)內(nèi)容是否立足于提升學(xué)員的技能和緊貼企業(yè)的實(shí)際用人需求,內(nèi)容設(shè)置上是否有深度和廣度,尤其是在核心的、關(guān)鍵的知識(shí)點(diǎn)上是否有足夠的時(shí)間講解,需要學(xué)生細(xì)細(xì)比較學(xué)習(xí)內(nèi)容和時(shí)間設(shè)置的科學(xué)性。
想了解更多有關(guān)軟件測(cè)試的相關(guān)信息,推薦咨詢【達(dá)內(nèi)教育】。達(dá)內(nèi)教育集團(tuán)歷時(shí)一年,耗資千萬(wàn),重磅推出“因材施教、分級(jí)培優(yōu)”創(chuàng)新教學(xué)模式,同一課程方向,面向不同受眾群體,提供就業(yè)、培優(yōu)、才高三個(gè)級(jí)別教學(xué)課程,達(dá)內(nèi)“因材施教、分級(jí)培優(yōu)“差異化教學(xué)模式,讓每一位來(lái)達(dá)內(nèi)學(xué)習(xí)的學(xué)員都能找到適合自己的課程。達(dá)內(nèi)IT培訓(xùn)機(jī)構(gòu),試聽(tīng)名額限時(shí)搶購(gòu)。
請(qǐng)問(wèn)做自動(dòng)化測(cè)試工具類的開(kāi)發(fā)需要掌握哪些方面的技能?
您好1、首先你得先定位自己需要開(kāi)放自動(dòng)化測(cè)試工具為哪類,例如:自動(dòng)化測(cè)試用例管理工具,自動(dòng)化測(cè)試框架類、界面自動(dòng)化測(cè)試工具等
2、根據(jù)你所需的自動(dòng)化測(cè)試工具類,對(duì)應(yīng)相應(yīng)的技能
1)基本技能;編程知識(shí)(其實(shí)哪一種語(yǔ)言都能進(jìn)行自動(dòng)化測(cè)試工具開(kāi)發(fā),不過(guò)我推薦:想掌握一些軟件開(kāi)發(fā)方面高級(jí)一些的思想,可以學(xué)學(xué)java的OO,一般而言,自動(dòng)化測(cè)試需要開(kāi)發(fā)效率比較高,則可以應(yīng)用一些腳本方面的語(yǔ)言,例如:tcl、python等。所以,首先,先掌握基本的編程語(yǔ)法以及編程思想
另外的一個(gè)基本技能:你需要簡(jiǎn)單的去了解一下自動(dòng)化測(cè)試以及其中的一些應(yīng)用模式,而且需要對(duì)測(cè)試流程以及基本的測(cè)試方法進(jìn)行學(xué)習(xí),就像你做軟件工程一樣,你也需要適應(yīng)一定的軟件流程,例如:瀑布式、RUP式。
3)之后,對(duì)應(yīng)不同的工具學(xué)習(xí)不同的東西,例如:你開(kāi)發(fā)一個(gè)簡(jiǎn)易的界面自動(dòng)化測(cè)試工具,WIN32、web以及java都是用不同的語(yǔ)言,像win32的話,就需要去掌握MS的一些基本知識(shí),例如:句柄的概念、MSAA接口概念等。java的swing界面的話,就得去看java底層的事件機(jī)制,web的話,就去好好了解一下web中的html節(jié)點(diǎn)元素,還有js等?;蛘吣阆胱鲆粋€(gè)手機(jī)自動(dòng)化測(cè)試工具,andriod,則需要對(duì)android的開(kāi)發(fā)進(jìn)行一些了解了。這就叫應(yīng)用不同的技能滿足不同的需求階段。當(dāng)然,還有各種不同的自動(dòng)化測(cè)試工具,例如:測(cè)試管理以及連接類、CLI命令行控制類,日志生成類等 ,這都是在平時(shí)工作中進(jìn)行總結(jié)出來(lái)的一些經(jīng)驗(yàn),總之,先打好基礎(chǔ)。如果,有什么問(wèn)題或者想法的話,可以發(fā)郵件于我:test_sunny@hotmail.com(散步的SUN),ok,祝你學(xué)習(xí)愉快~歡迎來(lái)到自動(dòng)化測(cè)試的小世界
軟件測(cè)試包含哪些知識(shí)?
軟件測(cè)試相關(guān)免費(fèi)下載?
鏈接: 提取碼:ipyx ?
軟件測(cè)試(英語(yǔ):Software Testing),描述一種用來(lái)促進(jìn)鑒定軟件的正確性、完整性、安全性和質(zhì)量的過(guò)程。換句話說(shuō),軟件測(cè)試是一種實(shí)際輸出與預(yù)期輸出之間的審核或者比較過(guò)程。軟件測(cè)試的經(jīng)典定義是:在規(guī)定的條件下對(duì)程序進(jìn)行操作,以發(fā)現(xiàn)程序錯(cuò)誤,衡量軟件質(zhì)量,并對(duì)其是否能滿足設(shè)計(jì)要求進(jìn)行評(píng)估的過(guò)程。
Python自動(dòng)化測(cè)試框架有哪些?
分享一些可用的Python自動(dòng)化測(cè)試框架。自動(dòng)化測(cè)試常用的Python框架有哪些?常用的框架有Robot Framework、Pytest、UnitTest/PyUnit、Behave、Lettuce。Pytest、Robot Framework和UnitTest主要用于功能與單元測(cè)試,Lettuce和Behave僅適用于行為驅(qū)動(dòng)測(cè)試。
一、Robot Framework
Python測(cè)試框架之一,Robot Framework被用在測(cè)試驅(qū)動(dòng)(test-driven)類型的開(kāi)發(fā)與驗(yàn)收中。雖然是由Python開(kāi)發(fā)而來(lái),但是它也可以在基于.Net的和基于Java的Jython上運(yùn)行。作為一個(gè)Python框架,Robot還能夠兼容諸如Windows、MacOS、以及Linux等平臺(tái)。
在使用Robot Framework(RF)之前,需要先安裝Python 2.7.14及以上的版本。推薦使用Python 3.6.4,以確保適當(dāng)?shù)淖⑨屇軌虮惶砑拥酱a段中,并能夠跟蹤程序的更改。同時(shí)還需要安裝Python包管理器--pip。
二、Pytest
適用于多種軟件測(cè)試的Pytest,是另一個(gè)Python類型的自動(dòng)化測(cè)試框架。憑借著其開(kāi)源和易學(xué)的特點(diǎn),該工具經(jīng)常被QA(質(zhì)量分析)團(tuán)隊(duì)、開(kāi)發(fā)團(tuán)隊(duì)、個(gè)人團(tuán)隊(duì)、以及各種開(kāi)源項(xiàng)目所使用。鑒于Pytest具有“斷言重寫(assert rewriting)”之類的實(shí)用功能,許多大型互聯(lián)網(wǎng)應(yīng)用,如Dropbox和Mozilla,都已經(jīng)從下面將要提到的unittest(Pyunit)切換到了Pytest之上。
除了基本的Python知識(shí),用戶并不需要更多的技術(shù)儲(chǔ)備。另外,用戶只需要有一臺(tái)帶有命令行界面的測(cè)試設(shè)備,并且安裝好了Python包管理器、以及可用于開(kāi)發(fā)的IDE工具。
三、UnitTest/PyUnit
UnitTest/PyUnit一種標(biāo)準(zhǔn)化的針對(duì)單元測(cè)試的Python類自動(dòng)化測(cè)試框架?;怲estCase提供了各種斷言方法、以及所有清理和設(shè)置的例程。因此,TestCase子類中的每一種方法都是以“test”作為名詞前綴,以標(biāo)識(shí)它們能夠被作為測(cè)試用例所運(yùn)行。用戶可以使用load方法和TestSuite類來(lái)分組、并加載各種測(cè)試。
可以通過(guò)聯(lián)合使用,來(lái)構(gòu)建自定義的測(cè)試運(yùn)行器。正如我們使用Junit去測(cè)試Selenium那樣,UnitTest也會(huì)用到UnitTest-sml-reporting、并能生成各種XML類型的報(bào)告。由于UnitTest默認(rèn)使用了Python,因此我們并不需要什么先決條件。除了需要具備Python框架的基本知識(shí),您也可以額外地安裝pip、以及用于開(kāi)發(fā)的IDE工具。
四、Behave
行為驅(qū)動(dòng)開(kāi)發(fā)是一種基于敏捷軟件開(kāi)發(fā)的方法。它能夠鼓勵(lì)開(kāi)發(fā)人員、業(yè)務(wù)參與者和QA人員,三者之間的協(xié)作。Python測(cè)試框架Behave允許團(tuán)隊(duì)避開(kāi)各種復(fù)雜的情況,去執(zhí)行BDD測(cè)試。從本質(zhì)上說(shuō)該框架與SpecFlow和Cucumber相似,常被用于執(zhí)行自動(dòng)化測(cè)試。用戶可以通過(guò)簡(jiǎn)單易讀的語(yǔ)言來(lái)編寫測(cè)試用例,并能夠在其執(zhí)行期間粘貼到代碼之中。而且,那些被設(shè)定的行為規(guī)范與步驟,也可以被重用到其他的測(cè)試方案中。
任何具備Python基礎(chǔ)知識(shí)的人都可以使用Behave。其他先決條件還包括:先安裝Python 2.7.14及以上的版本。通過(guò)Python包管理器或pip來(lái)與Behave協(xié)作。大多數(shù)開(kāi)發(fā)人員會(huì)選擇Pycharm作為開(kāi)發(fā)環(huán)境,當(dāng)然您也可以選用其他的IDE工具。
五、Lettuce
Lettuce是另一種基于Cucumber和Python的行為驅(qū)動(dòng)類自動(dòng)化工具。Lettuce主要專注于那些具有行為驅(qū)動(dòng)開(kāi)發(fā)特征的普通任務(wù)。它不但簡(jiǎn)單易用,而且能夠使得整個(gè)測(cè)試過(guò)程更流暢、甚至更有趣。安裝帶有IDE的Python 2.7.14、及以上的版本。當(dāng)然,您也可以使用Pycharm或任何其他IDE工具。同時(shí),您還需要安裝Python包管理器。
自動(dòng)化測(cè)試的Python框架,Pytest、Robot Framework和UnitTest可主要用于功能與單元測(cè)試,而Lettuce和Behave僅適用于行為驅(qū)動(dòng)測(cè)試。對(duì)于功能測(cè)試而言,Pytest是的。如果您是基于Python自動(dòng)化測(cè)試的新手,Robot Framework是的入門工具。雖然其功能有所受限,但是它非常容易上手。對(duì)于基于Python的BDD測(cè)試而言,Lettuce和Behave同樣優(yōu)秀。不過(guò),如果你已經(jīng)有了一定的Pytest經(jīng)驗(yàn),那么請(qǐng)使用Pytest-bdd。
軟件測(cè)試需要學(xué)什么?
軟件測(cè)試屬于IT行業(yè)中容易入門的崗位,代碼量較少。0基礎(chǔ)進(jìn)入IT行業(yè),完全是ok的,IT行業(yè)分好幾種有開(kāi)發(fā),測(cè)試,UI,自動(dòng)化,測(cè)開(kāi),運(yùn)維等這些崗位。在這些崗位里面測(cè)試相對(duì)來(lái)說(shuō)還是比較容易上手學(xué)會(huì)的。
課程內(nèi)容主要有:
搭建Windows測(cè)試環(huán)境,JAVA編程,軟件測(cè)試基礎(chǔ),數(shù)據(jù)庫(kù)技術(shù),用戶界面技術(shù),高效設(shè)計(jì)測(cè)試用例,階段項(xiàng)目實(shí)訓(xùn),搭建 Linux 測(cè)試環(huán)境,白盒測(cè)試,WEB技術(shù),高效使用自動(dòng)測(cè)試工具,軟件質(zhì)量保證,流行測(cè)試基礎(chǔ),企業(yè)級(jí)項(xiàng)目實(shí)訓(xùn)用例等!
學(xué)完可以從事:
功能測(cè)試工程師,性能測(cè)試工程師,安全測(cè)試工程師,白盒測(cè)試工程師,自動(dòng)化測(cè)試工程師,接口測(cè)試工程師,測(cè)試開(kāi)發(fā)工程師等。
互聯(lián)網(wǎng)行業(yè)目前還是最熱門的行業(yè)之一,學(xué)習(xí)IT技能之后足夠優(yōu)秀是有機(jī)會(huì)進(jìn)入騰訊、阿里、網(wǎng)易等互聯(lián)網(wǎng)大廠高薪就業(yè)的,發(fā)展前景非常好,普通人也可以學(xué)習(xí)。
想要系統(tǒng)學(xué)習(xí),你可以考察對(duì)比一下開(kāi)設(shè)有相關(guān)專業(yè)的熱門學(xué)校,好的學(xué)校擁有根據(jù)當(dāng)下企業(yè)需求自主研發(fā)課程的能力,能夠在校期間取得大?;虮究茖W(xué)歷,中博軟件、南京課工場(chǎng)、南京北大青鳥等開(kāi)設(shè)相關(guān)專業(yè)的學(xué)校都是不錯(cuò)的,建議實(shí)地考察對(duì)比一下。
祝你學(xué)有所成,望采納。
python自動(dòng)化測(cè)試框架有哪些
*種:Robot Framework作為最重要的python測(cè)試框架之一,Robot Framework主要被用在測(cè)試驅(qū)動(dòng)類型的開(kāi)發(fā)與驗(yàn)收中。雖然由python開(kāi)發(fā)而來(lái),但是它也可以在基于.net的和基于Java的Jython上運(yùn)行。同時(shí),作為一個(gè)python框架,Robot還能夠兼容諸如Windows、MacOS、Linux等平臺(tái)。
在使用Robot Framework之前,需要先安裝python2.7.14及以上版本,在這里推薦大家使用python3.6.4,以確保適當(dāng)?shù)淖⒔饽軌虮惶砑拥酱a段中,并能夠跟蹤程序的更改,同時(shí),您還需要安裝python包管理器--pip。
第二種:Pytest
適用于多種軟件測(cè)試的Pytest,是另一個(gè)python類型的自動(dòng)化測(cè)試框架。憑借著開(kāi)源和易學(xué)的特點(diǎn),該工具經(jīng)常被QA團(tuán)體、開(kāi)發(fā)團(tuán)體、個(gè)人團(tuán)體以及各種開(kāi)源項(xiàng)目所使用。鑒于Pytest具有斷言重寫之類的實(shí)用功能,許多大型互聯(lián)網(wǎng)應(yīng)用,如Dropbox、Mozilla,都已經(jīng)從下面將要提到的unittest切換到了Pytest之上。
除了基本的python知識(shí),用戶并不需要更多的技術(shù)儲(chǔ)備。另外,用戶只需要有一臺(tái)帶有命令行界面的測(cè)試設(shè)備,并且安裝好了python包管理器以及可用于開(kāi)發(fā)的IDE工具。
第三種:UnitTest/PyUnit
受到Junit啟發(fā)的UnitTest/PyUnit,也是一種標(biāo)準(zhǔn)化的針對(duì)單元測(cè)試的python類自動(dòng)化測(cè)試框架。它的基類TestCase提供了各種斷言方法、以及所有清理和設(shè)置的例程。因此,TestCase子類中的每一種方法都是以test作為名詞點(diǎn)綴,以標(biāo)識(shí)它們能夠被作為測(cè)試用例所運(yùn)行。用戶可以使用load方法和TestSuite類來(lái)分組、并加載各種測(cè)試。當(dāng)然,也可以通過(guò)聯(lián)合使用,來(lái)構(gòu)建自定義的測(cè)試運(yùn)行器。正如我們使用Junit去測(cè)試Selenium那樣,UnitTest也會(huì)用到unittest-sml-reporting,并能生成各種XML類型的報(bào)告。
第四種:Behave
行為驅(qū)動(dòng)開(kāi)發(fā)是一種基于敏捷軟件開(kāi)發(fā)的方法。它能夠鼓勵(lì)開(kāi)發(fā)人員、業(yè)務(wù)參與者和QA人員,三者之間的協(xié)作。python測(cè)試框架Behave允許團(tuán)隊(duì)避開(kāi)各種復(fù)雜的情況,去執(zhí)行BDD測(cè)試。從本質(zhì)上說(shuō)該框架與SpecFlow和Cucumber相似,常被用于執(zhí)行自動(dòng)化測(cè)試。用戶可以通過(guò)簡(jiǎn)單易讀的語(yǔ)言來(lái)編寫測(cè)試用例,并能夠在其執(zhí)行期間粘貼到代碼之中。而且,那些被設(shè)定的行為規(guī)范與步驟,也可以被重用到其他的測(cè)試方案中。
第五種:Lettuce
Lettuce是另一種基于Cucumber和python的行為驅(qū)動(dòng)類自動(dòng)化工具。Lettuce主要專注于那些具有行為驅(qū)動(dòng)開(kāi)發(fā)特性的普通任務(wù)。它不但簡(jiǎn)單易用,而且能夠使得整個(gè)測(cè)試過(guò)程更流暢、甚至更有趣。
您需要安裝帶有IDE的python2.7.14及以上版本。當(dāng)然,您也可以使用pycharm或任何其他IDE工具。同時(shí),您還需要安裝python包管理器。
史上最全-Appium自動(dòng)化測(cè)試框架
“appium是一個(gè)開(kāi)源的移動(dòng)端自動(dòng)化測(cè)試框架,可以測(cè)試原生的、混合的以及移動(dòng)端的web項(xiàng)目,appium是跨平臺(tái)的,可以運(yùn)行在osx、windows以及l(fā)inux桌面系統(tǒng)上,用來(lái)測(cè)試ios、android應(yīng)用
”
Selenium
2004年,的員工Jason Huggins編寫了一個(gè)名為的測(cè)試工具
后來(lái)多人修改架構(gòu)為獨(dú)立服務(wù)模式,開(kāi)發(fā)并推出了Selenium RC和Selenium-IDE
“
Selenium是一個(gè)用于Web應(yīng)用程序測(cè)試的工具,Selenium測(cè)試直接運(yùn)行在瀏覽器中,就像真正的用戶在操作一樣
”
這個(gè)工具的主要功能包括:
測(cè)試與瀏覽器的兼容性
測(cè)試你的應(yīng)用程序看是否能夠很好的工作在不同瀏覽器和操作系統(tǒng)之上
測(cè)試系統(tǒng)功能
創(chuàng)建回歸測(cè)試檢驗(yàn)軟件功能和用戶需求
“
框架底層使用模擬真實(shí)用戶對(duì)瀏覽器進(jìn)行操作
”
1.x版本的Selenium需要啟動(dòng)一個(gè)Server,將操作Web元素的API調(diào)用轉(zhuǎn)化為一段段,然后在瀏覽器中注入這段
但是這樣會(huì)有缺點(diǎn)
速度慢
依賴于瀏覽器對(duì)注入的的正確解釋
于是有了2.x版本的Selenium版本
2.x版本的Selenium整合了webdriver和原來(lái)的Selenium,把多個(gè)瀏覽器原生的API封裝成一套更加面向?qū)ο蟮腟elenium webdriver API
這樣做的好處是速度提高,且調(diào)用的穩(wěn)定性交給了瀏覽器
2.x的Selenium也可以叫Webdriver
Appium
為什么講appium前,提到selenium呢?
Appium是基于webdriver協(xié)議添加了對(duì)移動(dòng)設(shè)備自動(dòng)化api擴(kuò)展而成的,這樣做的好處是避免重復(fù)造輪子
appium的框架是什么樣的?
appium使用client-server架構(gòu),appium-client以腳本的形式,支持多種語(yǔ)言
appium-server需要安裝appium-server程序,用來(lái)監(jiān)聽(tīng)端口上來(lái)自appium-client的命令
“
appium-server已經(jīng)很久沒(méi)更新過(guò)版本了, 目前可以用appium-desktop代替
”
是谷歌推出的一款用Java編寫的UI測(cè)試框架,可以使用框架提供的API來(lái)對(duì)安卓系統(tǒng)進(jìn)行一系列的自動(dòng)化測(cè)試操作
Bootstrap是Appium在初始化的時(shí)推送到Android手機(jī)上的一個(gè)測(cè)試腳本,該腳本的*一個(gè)測(cè)試方法所做的事情是在手機(jī)端開(kāi)啟一個(gè)(通信模塊),用來(lái)監(jiān)聽(tīng)Appium從PC端過(guò)來(lái)的命令發(fā)送給來(lái)執(zhí)行處理
工作原理
“
appium-server啟動(dòng)并監(jiān)聽(tīng)在某個(gè)端口,接收測(cè)試腳本發(fā)來(lái)的命令請(qǐng)求,再將請(qǐng)求發(fā)送給中間件Bootstrap.jar, 中間件Bootstrap.jar會(huì)把a(bǔ)ppium的命令轉(zhuǎn)換成的命令 ,發(fā)送給,對(duì)android系統(tǒng)進(jìn)行操作
”
安裝
更多內(nèi)容,在 汽車網(wǎng)絡(luò)診斷通信 上可以看到