Python自動(dòng)化-精品文檔_第1頁(yè)
Python自動(dòng)化-精品文檔_第2頁(yè)
Python自動(dòng)化-精品文檔_第3頁(yè)
Python自動(dòng)化-精品文檔_第4頁(yè)
Python自動(dòng)化-精品文檔_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余3頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、Python自動(dòng)化隨著人工智能的開(kāi)展,機(jī)器代替人工,已經(jīng)是未來(lái)開(kāi)展的一種趨勢(shì),人工智能需要編程語(yǔ)言來(lái)實(shí)現(xiàn),而Python語(yǔ)言在這方面有極大的優(yōu)勢(shì),本篇文章主要介紹Python語(yǔ)言在自動(dòng)化方面的應(yīng)用.1概述自動(dòng)化測(cè)試是指軟件測(cè)試的自動(dòng)化,軟件測(cè)試就是在預(yù)設(shè)條件下運(yùn)行系統(tǒng)或應(yīng)用程序,評(píng)估運(yùn)行結(jié)果,預(yù)先條件應(yīng)包括正常條件和異常條件.自動(dòng)化測(cè)試是把以人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過(guò)程.在做自動(dòng)化測(cè)試之前,首先應(yīng)該知道什么場(chǎng)景適合做自動(dòng)化測(cè)試,由于并不是所有工程都適合做自動(dòng)化測(cè)試的,工程滿足以下條件才可以進(jìn)行自動(dòng)化測(cè)試:1.1 需求穩(wěn)定為什么要求需求穩(wěn)定呢?在一個(gè)工程組中如果需求經(jīng)常變動(dòng)的話,程

2、序代碼也要做相應(yīng)的改動(dòng),一旦需求改動(dòng),測(cè)試人員所寫(xiě)的測(cè)試用例也要做對(duì)應(yīng)的修改,測(cè)試用例修改了,測(cè)試用例對(duì)應(yīng)的自動(dòng)化測(cè)試腳本也要進(jìn)行調(diào)整,而對(duì)自動(dòng)化腳本的維護(hù)修改,需要花費(fèi)大量的人力物力,自動(dòng)化的一個(gè)主要目的就是節(jié)省人力本錢(qián),把人解放出來(lái)做更多的事情,重復(fù)的事情交給自動(dòng)化的代碼實(shí)現(xiàn),但如果代碼需要經(jīng)常維護(hù),人力就不能更好的解放出來(lái),這就和自動(dòng)化的目的相違背.當(dāng)然并不是說(shuō)一個(gè)工程的需求不穩(wěn)定,就意味著完全不能自動(dòng)化測(cè)試了,對(duì)于某些功能文檔的模塊,我們還可以進(jìn)行自動(dòng)化測(cè)試,變動(dòng)頻繁的采用黑盒測(cè)試的方法,可以成為半自動(dòng)化測(cè)試.這就要求結(jié)合具體的工程做具體的分析,選用對(duì)應(yīng)的方法.1.2 工程周期較長(zhǎng)自動(dòng)

3、化測(cè)試框架的選擇、設(shè)計(jì)、評(píng)審,腳本的編寫(xiě)以及調(diào)試都需要一定的時(shí)間來(lái)完成,而這一過(guò)程根本可以理解為軟件開(kāi)發(fā)的過(guò)程,這樣的一個(gè)周期是很長(zhǎng)時(shí)間的,如果工程的周期很短,自動(dòng)化測(cè)試的框架還沒(méi)確定好選取哪個(gè),工程就要上線運(yùn)行,那么就無(wú)法開(kāi)展自動(dòng)化測(cè)試.1.3 編寫(xiě)的自動(dòng)化測(cè)試腳本復(fù)用度較高經(jīng)過(guò)一個(gè)相對(duì)較長(zhǎng)的周期完成一個(gè)自動(dòng)化測(cè)試腳本的編寫(xiě),但是這些腳本只在上線前可以做回歸測(cè)試使用,以后再無(wú)用武之地,這樣的腳本復(fù)用度是很低的,是不符合現(xiàn)代化要求的,既然花那么大的本錢(qián)開(kāi)發(fā)一套腳本,就要有很強(qiáng)的復(fù)用性,這就要求在其他相似的工程中,對(duì)自動(dòng)化測(cè)試的腳本稍加改動(dòng),也能起到作用,這樣的腳本才能真正發(fā)揮它的價(jià)值,被廣泛地

4、接受.如果有些功能測(cè)試需要花費(fèi)大量的時(shí)間才能完成,就要想辦法引入自動(dòng)化測(cè)試,尤其是大數(shù)據(jù)量的測(cè)試,這些操作如果用人工測(cè)試的話,不僅花費(fèi)時(shí)間精力,而且最后測(cè)出的結(jié)果還不一定準(zhǔn)確,所以,遇到這樣的操作就要考慮引入自動(dòng)化測(cè)試.我們所寫(xiě)的自動(dòng)化腳本選擇python語(yǔ)言,那么多語(yǔ)言可以使用,為什么偏偏選用python語(yǔ)言.首先Python是一種解釋型的、面向?qū)ο蟮?、?dòng)態(tài)數(shù)據(jù)類(lèi)型的高?程序設(shè)計(jì)編程語(yǔ)言.解釋型,也就意味著開(kāi)發(fā)過(guò)程中沒(méi)有了編譯源碼這個(gè)環(huán)節(jié);面向?qū)ο?那么意味著Python支持面向?qū)ο蟮娘L(fēng)格或代碼封裝在對(duì)象的編程技術(shù).另外,其交互性意味著可以在一個(gè)Python提示符后,直接互動(dòng)寫(xiě)和執(zhí)行程序.此

5、外python語(yǔ)言還具有以下優(yōu)點(diǎn):看起來(lái)容易:該語(yǔ)言寫(xiě)的代碼順序簡(jiǎn)單清楚,可以順著自己的思路寫(xiě)代碼,讓稍微懂一些語(yǔ)法的人都能很容易的讀懂代碼.改起來(lái)方便:Python的源代碼不僅寫(xiě)起來(lái)容易,而且還有一大優(yōu)點(diǎn)就是維護(hù)起來(lái)很方便.較強(qiáng)的互動(dòng)模式:具有很強(qiáng)的互動(dòng)模式的支持,用戶(hù)可以從任意終端輸入任何結(jié)果正確的語(yǔ)言,讓互動(dòng)的測(cè)試和調(diào)試代碼片斷.可擴(kuò)展性:在使用的過(guò)程中可以添加低層次的模塊到Python解釋器中.這些模塊使得程序員可以添加或定制自己的工具,更有效,更方便.具有廣泛的標(biāo)準(zhǔn)庫(kù):Python有一個(gè)很大的優(yōu)勢(shì)就是散裝庫(kù)是非常方便的、跨平臺(tái)上的linux系統(tǒng),Windows系統(tǒng)和Macintosh

6、系統(tǒng)兼容.2自動(dòng)化測(cè)試的優(yōu)勢(shì)在人工智能越來(lái)越重要的今天,自動(dòng)化的推廣顯得更加重要,同樣在軟件測(cè)試中推行自動(dòng)化測(cè)試也是勢(shì)在必行的,自動(dòng)化測(cè)試有以下幾方面優(yōu)勢(shì):2.1 大大節(jié)省回歸測(cè)試的效率在每一次上線前或者復(fù)測(cè)bug的時(shí)候都需要把整個(gè)系統(tǒng)的業(yè)務(wù)流程都跑一遍,這樣的測(cè)試我們就可以稱(chēng)為回歸測(cè)試,回歸測(cè)試的測(cè)試用例是固定的,而且量很大,此時(shí)再進(jìn)行人工的回歸測(cè)試,會(huì)花費(fèi)很多的時(shí)間,而且人都在做重復(fù)的操作,難免是人力的極大浪費(fèi),此時(shí)引入自動(dòng)化測(cè)試,可以大大的節(jié)省人力本錢(qián),提升工作效率.2.2 可以高效率的執(zhí)行繁瑣的重復(fù)性的測(cè)試自動(dòng)化測(cè)試相對(duì)于人工測(cè)試的一個(gè)明顯的優(yōu)點(diǎn)就是執(zhí)行效率高,測(cè)試人員在重復(fù)測(cè)試某個(gè)功

7、能時(shí)會(huì)逐漸出現(xiàn)厭倦感,從而可能降低測(cè)試的效率,影響測(cè)試的效果,而自動(dòng)化測(cè)試就不會(huì)有這方面的顧慮,代碼去執(zhí)行測(cè)試,執(zhí)行的過(guò)程都是根據(jù)預(yù)設(shè)好的步驟代碼去執(zhí)行,最終測(cè)試人員只要看代碼即可.2.3 能完成一些人工測(cè)試不能完成的測(cè)試在測(cè)試數(shù)量較大且有隨機(jī)性特點(diǎn)的數(shù)據(jù)時(shí),人工測(cè)試就不好完成,此時(shí)使用自動(dòng)化測(cè)試,隨機(jī)取一些沒(méi)有規(guī)律的數(shù)據(jù),就可到達(dá)模擬真實(shí)用戶(hù)測(cè)試數(shù)據(jù)的目的.2.4 自動(dòng)化測(cè)試可以重復(fù)執(zhí)行且具有一致性自動(dòng)化測(cè)試的腳本根本是固定的,在需要測(cè)試的時(shí)候,執(zhí)行下一腳本即可執(zhí)行測(cè)試,這樣可以反復(fù)執(zhí)行屢次,在需要的時(shí)候執(zhí)行腳本即可完成測(cè)試.由于自動(dòng)化測(cè)試的腳本是固定的,每次執(zhí)行的內(nèi)容和執(zhí)行的結(jié)果的一致性是

8、可以保證完全一樣的.2.5 更好地利用人力資源將繁瑣的測(cè)試工作任務(wù)自動(dòng)化,可以提升測(cè)試的準(zhǔn)確性,也可以將測(cè)試技術(shù)人員解脫出來(lái)將更多精力投入到設(shè)計(jì)更好的測(cè)試用例中O有些測(cè)試工程模塊不適用于自動(dòng)測(cè)試,將可以執(zhí)行自動(dòng)測(cè)試的測(cè)試執(zhí)行自動(dòng)化測(cè)試之后,讓其余測(cè)試人員專(zhuān)注于不能自動(dòng)化測(cè)試的局部,從而提升手工測(cè)試的效率.圖1展示了在工程中自動(dòng)化測(cè)試的流程.3實(shí)驗(yàn)過(guò)程3.1 環(huán)境配置實(shí)驗(yàn)所需環(huán)境Windows764位操作系統(tǒng),python2+seleniun2,所用工具Pycharm45.0.2版本的火狐瀏覽器,以及火狐瀏覽器的插件Firebug、FirePathSeleniumBuilderc3.2 技術(shù)分析

9、Selenium是web應(yīng)用程序自動(dòng)化測(cè)試工具集,包括IDE、Grid、RC(selenium1.0)、WebDriver(selenium2.0)等,是直接運(yùn)行在瀏覽器中,模擬用戶(hù)在操作,具有很強(qiáng)的真實(shí)感.目前支持的瀏覽器包括IE系列、火狐瀏覽器、谷歌瀏覽器等.這個(gè)工具主要有以下功能:瀏覽器的兼容性測(cè)試-模擬應(yīng)用程序在IE瀏覽器、火狐瀏覽器、谷歌瀏覽器的運(yùn)行情況,得出最終結(jié)果,查看哪個(gè)瀏覽器兼容性更好.測(cè)試整個(gè)系統(tǒng)的功能-創(chuàng)立回歸測(cè)試檢驗(yàn)軟件功能是否到達(dá)用戶(hù)需求.支持自動(dòng)錄制,錄制工具采用seleniumIDE,錄制完可以自動(dòng)生成代碼,節(jié)省人力本錢(qián),并且支持其他不同語(yǔ)言的測(cè)試腳本.Selen

10、ium是專(zhuān)門(mén)為Web應(yīng)用程序編寫(xiě)的一個(gè)驗(yàn)收回歸測(cè)試的工具.使用python語(yǔ)言寫(xiě)自動(dòng)化應(yīng)用到了該語(yǔ)言的類(lèi)和方法以及對(duì)數(shù)據(jù)類(lèi)型列表、元組、字典、字符串的常用操作,以及常用的if判斷語(yǔ)句for、while循環(huán)語(yǔ)句,其中用到了該語(yǔ)言的面向?qū)ο蟮奶攸c(diǎn)(繼承、多態(tài)、封裝).在用Pythonselenium實(shí)現(xiàn)自動(dòng)化測(cè)試的工程中最重要局部就是定位頁(yè)面元素,常用的定位頁(yè)面元素有8種方法以及這八種方法的復(fù)數(shù)形式,如果是通過(guò)復(fù)數(shù)定位到的元素那么會(huì)定位到一組元素,這八種方法包含:通過(guò)id查找元素、通過(guò)nameS找元素、通過(guò)classname查找元素、通過(guò)tagname查找元素、通過(guò)link_text查找元素、通過(guò)

11、partial_link_text查找元素、通過(guò)xpath查找元素、通過(guò)css選擇器查找元素,其中除了xpath和css選擇器外,其他都是可以在頁(yè)面中通過(guò)F12查看到的,而xpath和css是一?N特殊的語(yǔ)法.importwebdriver導(dǎo)入所需的框架,當(dāng)然在導(dǎo)入前,需要進(jìn)行安裝.webdriver.Firefox()自動(dòng)翻開(kāi)火狐瀏覽器,這里就對(duì)火狐瀏覽器的版本有要求,版本必須低于火狐46,否那么不能自動(dòng)翻開(kāi)瀏覽器,selenium默認(rèn)支持火狐瀏覽器,如果需要在IE瀏覽器或者谷歌瀏覽器那么需要下載對(duì)應(yīng)的驅(qū)動(dòng).下面展示了局部代碼:driver.get("s:/")在火狐瀏覽器中自動(dòng)輸入百度的網(wǎng)址并翻開(kāi)driver.find_element_by_id("kw"),send_keys(u"2021高考")獲取百度搜索框并自動(dòng)輸入2021高考,當(dāng)然還可以輸入你需要搜索的任何內(nèi)容find_element_by_id("su"),click()定位到百度一下按鈕并自動(dòng)點(diǎn)擊該按鈕進(jìn)行搜索close()然后使用該方法自動(dòng)關(guān)閉瀏覽器,否那么運(yùn)行次數(shù)多的時(shí)候,系統(tǒng)會(huì)卡掉.find_element_by_xpath("/*id='kw'")此行代碼是通

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論