999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Python自動化

2018-01-17 15:47:45張焱
電子技術與軟件工程 2017年22期

張焱

隨著人工智能的發展,機器代替人工,已經是未來發展的一種趨勢,人工智能需要編程語言來實現,而Python語言在這方面有極大的優勢,本篇文章主要介紹Python語言在自動化方面的應用。

【關鍵詞】Python Selenium 自動化測試

1 概述

自動化測試是指軟件測試的自動化,軟件測試就是在預設條件下運行系統或應用程序,評估運行結果,預先條件應包括正常條件和異常條件。自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程。

在做自動化測試之前,首先應該知道什么場景適合做自動化測試,因為并不是所有項目都適合做自動化測試的,項目滿足以下條件才可以進行自動化測試:

1.1 需求穩定

為什么要求需求穩定呢?

在一個項目組中如果需求經常變動的話,程序代碼也要做相應的改動,一旦需求改動,測試人員所寫的測試用例也要做對應的修改,測試用例修改了,測試用例對應的自動化測試腳本也要進行調整,而對自動化腳本的維護修改,需要花費大量的人力物力,自動化的一個主要目的就是節省人力成本,把人解放出來做更多的事情,重復的事情交給自動化的代碼實現,但如果代碼需要經常維護,人力就不能更好的解放出來,這就和自動化的目的相違背。

當然并不是說一個項目的需求不穩定,就意味著完全不能自動化測試了,對于某些功能文檔的模塊,我們還可以進行自動化測試,變動頻繁的采用黑盒測試的方法,可以成為半自動化測試。這就要求結合具體的項目做具體的分析,選用對應的方法。

1.2 項目周期較長

自動化測試框架的選擇、設計、評審,腳本的編寫以及調試都需要一定的時間來完成,而這一過程基本可以理解為軟件開發的過程,這樣的一個周期是很長時間的,如果項目的周期很短,自動化測試的框架還沒確定好選取哪個,項目就要上線運行,那么就無法開展自動化測試。

1.3 編寫的自動化測試腳本復用度較高

經過一個相對較長的周期完成一個自動化測試腳本的編寫,但是這些腳本只在上線前可以做回歸測試使用,以后再無用武之地,這樣的腳本復用度是很低的,是不符合現代化要求的,既然花那么大的成本開發一套腳本,就要有很強的復用性,這就要求在其他相似的項目中,對自動化測試的腳本稍加改動,也能起到作用,這樣的腳本才能真正發揮它的價值,被廣泛地接受。

如果有些功能測試需要花費大量的時間才能完成,就要想辦法引入自動化測試,尤其是大數據量的測試,這些操作如果用人工測試的話,不僅花費時間精力,而且最后測出的結果還不一定準確,所以,遇到這樣的操作就要考慮引入自動化測試。

我們所寫的自動化腳本選擇python語言,那么多語言可以使用,為什么偏偏選用python語言。

首先Python是一種解釋型的、面向對象的、動態數據類型的高級程序設計編程語言。解釋型,也就意味著開發過程中沒有了編譯源碼這個環節;面向對象,則意味著Python支持面向對象的風格或代碼封裝在對象的編程技術。另外,其交互性意味著可以在一個Python提示符后,直接互動寫和執行程序。此外python語言還具有以下優點:

學起來簡單:Python相對于其他語言來說有較少的關鍵字,語法結構定義明確簡單,這可以讓一個零基礎的學習者在短時間內掌握該語言的語法并加以綜合的運用實踐。

看起來容易:該語言寫的代碼順序簡單清晰,可以順著自己的思路寫代碼,讓稍微懂一些語法的人都能很容易的讀懂代碼。

改起來方便:Python的源代碼不僅寫起來容易,而且還有一大優點就是維護起來很方便。

較強的互動模式:具有很強的互動模式的支持,用戶可以從任意終端輸入任何結果正確的語言,讓互動的測試和調試代碼片斷。

可擴展性:在使用的過程中可以添加低層次的模塊到Python解釋器中。這些模塊使得程序員可以添加或定制自己的工具,更有效,更方便。

具有廣泛的標準庫:Python有一個很大的優勢就是散裝庫是非常方便的、跨平臺上的linux系統,Windows系統和Macintosh系統兼容。

2 自動化測試的優勢

在人工智能越來越重要的今天,自動化的推廣顯得更加重要,同樣在軟件測試中推行自動化測試也是勢在必行的,自動化測試有以下幾方面優勢:

2.1大大節省回歸測試的效率

在每一次上線前或者復測bug的時候都需要把整個系統的業務流程都跑一遍,這樣的測試我們就可以稱為回歸測試,回歸測試的測試用例是固定的,而且量很大,此時再進行人工的回歸測試,會花費很多的時間,而且人都在做重復的操作,難免是人力的極大浪費,此時引入自動化測試,可以大大的節省人力成本,提高工作效率。

2.2 可以高效率的執行繁瑣的重復性的測試

自動化測試相對于人工測試的一個明顯的優點就是執行效率高,測試人員在重復測試某個功能時會逐漸出現厭倦感,從而可能降低測試的效率,影響測試的效果,而自動化測試就不會有這方面的顧慮,代碼去執行測試,執行的過程都是按照預設好的步驟代碼去執行,最終測試人員只要看代碼即可。

2.3 能完成一些人工測試不能完成的測試

在測試數量較大且有隨機性特點的數據時, 人工測試就不好完成,此時使用自動化測試,隨機取一些沒有規律的數據,就可達到模擬真實用戶測試數據的目的。

2.4 自動化測試可以重復執行且具有一致性

自動化測試的腳本基本是固定的,在需要測試的時候,執行下一腳本即可執行測試,這樣可以反復執行多次,在需要的時候執行腳本即可完成測試。由于自動化測試的腳本是固定的,每次執行的內容和執行的結果的一致性是可以保證完全一樣的。

2.5 更好地利用人力資源endprint

將繁瑣的測試工作任務自動化,可以提高測試的準確性,也可以將測試技術人員解脫出來將更多精力投入到設計更好的測試用例中。有些測試項目模塊不適用于自動測試,將可以執行自動測試的測試執行自動化測試之后,讓其余測試人員專注于不能自動化測試的部分,從而提高手工測試的效率。圖1展示了在項目中自動化測試的流程。

3 實驗過程

3.1 環境配置

實驗所需環境Windows7 64位操作系統,python2+seleniun2,所用工具Pycharm45.0.2版本的火狐瀏覽器,以及火狐瀏覽器的插件Firebug、FirePathSeleniumBuilder。

3.2 技術分析

定位元素的確定可以通過百度的元素組成來查找,在編輯程序中輸入該命令的元素,便可執行該命令,若有多個元素便可用以上方法來查找,利用列表中元素的位置所代表的數字也可以精確地執行相關命令,這也體現了Python語言的準確性,為工作提供了方便。

Selenium 是web應用程序自動化測試工具集,包括IDE、Grid、RC(selenium 1.0)、WebDriver(selenium 2.0)等,是直接運行在瀏覽器中,模擬用戶在操作,具有很強的真實感。目前支持的瀏覽器包括IE系列、火狐瀏覽器、谷歌瀏覽器等。這個工具主要有以下功能:瀏覽器的兼容性測試--模擬應用程序在IE瀏覽器 、火狐瀏覽器、谷歌瀏覽器的運行情況,得出最終結果,查看哪個瀏覽器兼容性更好。測試整個系統的功能--創建回歸測試檢驗軟件功能是否達到用戶需求。支持自動錄制,錄制工具采用selenium IDE,錄制完可以自動生成代碼,節省人力成本,并且支持其他不同語言的測試腳本。Selenium 是專門為Web應用程序編寫的一個驗收回歸測試的工具。

使用 python語言寫自動化應用到了該語言的類和方法以及對數據類型列表、 元組、 字典、字符串的常用操作,以及常用的if 判斷語句for、while循環語句,其中用到了該語言的面向對象的特點(繼承、多態、封裝 )。

在用Pythonselenium實現自動化測試的工程中最重要部分就是定位頁面元素,常用的定位頁面元素有8種方法以及這八種方法的復數形式,如果是通過復數定位到的元素則會定位到一組元素,這八種方法包含:通過id查找元素、通過name查找元素、通過classname查找元素、通過tagname查找元素、通過link_text查找元素、通過partial_link_text查找元素、通過xpath查找元素、通過css選擇器查找元素,其中除了xpath和css選擇器外,其他都是可以在頁面中通過F12查看到的,而xpath和css是一種特殊的語法。

XPath即為XML路徑語言,它是一種用來確定XML(標準通用標記語言的子集)文檔中某部分的語言。XPath基于XML的樹狀結構,提供在數據結構樹中找尋節點的能力這種途徑給編輯語言帶來了極大的便利,也為把繁瑣復雜的程序簡單化提供了可能。

例如Python可以通過火狐瀏覽器自動打開網頁,通過編輯程序可以執行相關操作:

import webdriver 導入所需的框架,當然在導入前,需要進行安裝。webdriver.Firefox()自動打開火狐瀏覽器,這里就對火狐瀏覽器的版本有要求,版本必須低于火狐46,否則不能自動打開瀏覽器,selenium默認支持火狐瀏覽器,如果需要在IE瀏覽器或者谷歌瀏覽器則需要下載對應的驅動。下面展示了部分代碼:

driver.get("https://www.baidu.com/")在火狐瀏覽器中自動輸入百度的網址并打開

driver.find_element_by_id("kw").send_keys(u"2018高考")獲取百度搜索框并自動輸入2018高考,當然還可以輸入你需要搜索的任何內容

find_element_by_id("su").click()定位到百度一下按鈕并自動點擊該按鈕進行搜索

close()然后使用該方法自動關閉瀏覽器,否則運行次數多的時候,系統會卡掉。

find_element_by_xpath("http://*[@id='kw']")此行代碼是通過xpath方法獲取百度搜索框,其中//表示從任何位置開始匹配,*代表匹配任何的標簽,@id='kw'表示找到屬性名是id,值是kw的元素。

4 實驗結果

通過模擬人工操作,使用代碼的形式編寫程序實現對瀏覽器的常用操作,以及對頁面元素的操作,可以模擬常見的輸入、點擊、清除文本,輸入回車、空格、刪除字符以及瀏覽的最大化、截圖、指定瀏覽器頁面大小、關閉瀏覽器的操作。

5 結論

通過Python進行自動化測試大大節約了人力,通過Firebug和Fire Path可以得到有關按鍵的位置以及名稱,節省了大量的時間,為各種程序的設計者提供了方便,自動化編輯更是迎來了廣闊的發展空間與前景,對于我國科技的進步以及生產力的發展也起到了很大的推動作用。

參考文獻

[1]網址http://www.w3.org/1999/xhtml.

[2]蟲師.《selenium webdriver python (第二版)[M].北京:電子工業出版社,2013.

作者單位

新泰一中 山東省新泰市 271200endprint

主站蜘蛛池模板: 日本高清有码人妻| 538国产视频| 欧美在线综合视频| 综合色在线| 国产成人高清精品免费5388| 99久久精品国产综合婷婷| 成人在线不卡| 国产精品一老牛影视频| 在线播放国产99re| 97成人在线视频| 无码免费视频| 欧美一级特黄aaaaaa在线看片| 亚洲日本一本dvd高清| 在线观看国产精美视频| 在线精品欧美日韩| 亚洲男人的天堂久久香蕉网| 国产日韩精品一区在线不卡| 久久国产黑丝袜视频| 久久99精品久久久久纯品| 91精品国产自产在线老师啪l| 欧美成人一区午夜福利在线| 国产无吗一区二区三区在线欢| 波多野结衣二区| 好久久免费视频高清| 波多野结衣视频网站| 欧美一区福利| 亚洲精品国产精品乱码不卞| 先锋资源久久| 四虎影院国产| 一级爱做片免费观看久久| 99er这里只有精品| 亚洲性影院| 欧美亚洲国产精品第一页| 四虎在线高清无码| 国产爽妇精品| 在线色国产| 国产美女人喷水在线观看| 成人精品亚洲| 中文字幕久久精品波多野结| 亚洲综合经典在线一区二区| 99久久亚洲综合精品TS| 久久国产精品77777| 久久精品丝袜| 欧美亚洲日韩中文| 999精品视频在线| 91亚洲精品第一| 日本高清在线看免费观看| 国产制服丝袜无码视频| 国产欧美成人不卡视频| 黄色在线不卡| 老司机精品久久| 国产超碰一区二区三区| 精品1区2区3区| 亚洲无码免费黄色网址| 欧美福利在线| 欧美成人亚洲综合精品欧美激情| 婷婷六月天激情| 91网红精品在线观看| av一区二区三区高清久久| 欧美激情视频二区| 天天躁日日躁狠狠躁中文字幕| 国产午夜无码片在线观看网站| 国产原创自拍不卡第一页| 日本高清视频在线www色| 91久久国产综合精品| 欧美亚洲综合免费精品高清在线观看| 婷婷色丁香综合激情| 真实国产乱子伦高清| 热久久综合这里只有精品电影| 亚洲成人在线网| 欧洲精品视频在线观看| 又爽又大又黄a级毛片在线视频 | 999精品在线视频| 香蕉eeww99国产在线观看| 国产性精品| 呦女亚洲一区精品| 成人一区专区在线观看| 国产精品美女在线| 99ri精品视频在线观看播放| 久久久久88色偷偷| 欧美高清国产| 99视频免费观看|