pythonweb自動化測試
❶ 有沒有自學python自動化測試的人,一起交流學習
自動化測試概念
自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程。通常,在設計了測試用例並通過評審之後,由測試人員根據測試用例中描述的規程一步步執行測試,得到實際結果與期望結果的比較。在此過程中,為了節省人力、時間或硬體資源,提高測試效率,便引入了自動化測試的概念。
自動化測試的學習步驟
關於自動化測試,按語言目前主要可以分為兩種:一種是基於Python的自動化,一種是基於java的自動化,具體用哪種語言,可以根據自己的實際情況而定,歸根結底都是為了解決問題而存在的。
1、自動化測試的薪資
先來說一下,大家最關心的問題,也是測試的薪資
第一階段:手工測試工程師
年薪8-10W
主要技能:測試分析+用例設計+測試執行
↓
第二階段:自動化測試工程師
年薪15-25W
主要技能:測試腳本研發能力
↓
第三階段:全棧自動化測試工程師
年薪30-50W
主要技能:所有類型所需自動化測試技術
↓
第四階段:測試開發工程師
年薪50-80W
主要技能:測試框架及測試工具的需求、設計及研發能力
2、自動化測試的學習步驟
1、做好手工測試(熟悉測試基礎)
2、學習編程語言(Python/Java)
3、學習Web基礎
4、學習自動化測試工具
5、學習自動化測試框架
6、實現自動化測試用例
7、開發自動化測試工具
8、開發自動化測試框架
二、自動化測試如何開始?
1、測試方向:推薦Web自動化
關於"從哪個領域開始自動化測試"這個問題,我推薦從Web UI自動化開始學起,原因主要是:web UI自動化便於入門、便於理解。
2、測試工具:推薦selenium
選擇好了自動化測試方向,緊接著就是選擇測試工具。這里推薦Selenium,最主要原因在於:開源,用的人非常多。
Selenium通過web driver模擬人為控制瀏覽器進行自動化操作,目的主要是為了測試自動化web應用程序。
其實自動化就是電腦模擬人的操作,人如何做就讓電腦如何做,其重點在於如何定位頁面元素?如何對元素進行操作?
3、腳本語言:推薦Python
選好了測試工具,接下來是選擇一門合適的腳本語言。
這里建議選擇Python,原因:學習難度小,開發周期短。對目前國內大多數測試人員來說,編碼經驗不足,python是個很好的入門語言。膠水語言,能與C++, Java, COM, and .NET,Object-C 整合。
測試部門要做單元測試,介面測試,因為人員比例的關系,不可能讓測試人員同時掌握多門語言,python可以對C/C++, Java, Object-C進行介面封裝後,實現單元測試。語法簡約,清晰,減少後期維護的難度。
當然,如果你有Java基礎,也可以選擇Java。
四、自動化核心技術點
確定了Python+Selenium方向後,接下來就是實戰。(我會通過不定期直播的形式給大傢具體講解,參與方式:見文末,直播前會在群里發鏈接)
自動化一般需要四步操作:獲取元素,操作元素,獲取返回結果,斷言(返回結果與期望結果是否一致),最後自動出測試報告。
Selenium提供8種元素定位的方法:id,name,class name,link text,xpath,css selector,tag name ,partial link tex
❷ web自動化測試,使用node.js 與python哪個語言更合適
Node.js是現在WEBAPP快速開發的標配。python的WEB框架還有模板很多。這個取決於你習慣什麼方式開發。
如果熟悉 python使用node.js沒有壓力,可以完美融合。 如果對python不熟悉,node.js可以給你驚喜。
不過就我個人而言python很熟練,python給我的自由度與支撐力度遠遠大於node.js。 node.js是一些喜歡javascript的極客做的js的後台執行程序。 支持力度顯然遠遠比不上有10幾年WEB開發歷史的python。
node.js有一個最大的好處是前端與後端的融合比較好。都是JS開發的。有利於前端人員快速開發後台伺服器。
再加上node.js大量爆發的各種工具。所以node.js很有前途。 相對python的架構不溫不火。
從開發速度來看。兩者差不多。從系統維護性上。 python要好很多。
從最高性能上看,python也要好很多。 著名的某團隊聊天軟體就是node.js架構。
但是限於javascript語言本身的性能以及執行方式,支持力度。 後台開發還是不建議用node.js,除非你有足夠的理由 。比如快速開發,比如缺少足夠 的後台開發人員,或者是團隊成員整體偏前端等。
node.js真的很適合初學者。 特別是正在學習javascript人。 不過node.js想做好就不容易,特別是團隊規模超過10個人時,代碼很難維護。
v8引擎很強大,大多數測試結果顯示node.js比python性能高。這個感覺挺無語。 js在v8上的優化效果的的確確比python解釋器要強。這是事實。 不過python如果你用得很熟練的情況下,有很多技巧可以將這些差距縮小,以至於超過,完全沒有壓力。
比如我這邊做一個伺服器,通常性能要求很高的情況下,不會使用python做前端,而是使用java+cache做後台伺服器前端。 這樣性能就遠遠超過其它的WEB後端伺服器了。
python在後處理,批處理,數據處理,快速開發很強大。 WEB方面就當是玩具吧。 算是一種快速 開發的補償。 做做膠水,連接不同系統的介面還是可以的。
❸ 如何用python做自動化測試
目前大家對Python都有一個共識,就是他對測試非常有用,自動化測試里Python用途也很廣,但是Python到底怎麼進行自動化測試呢?今天就簡單的向大家介紹一下怎麼使用Python進行自動化測試,本文只是自己的一點點分享,若有錯誤,請大家多多批評指正。這里主要介紹的是一些Python測試的框架1、單元測試a、unittest:Python自帶的單元測試框架b、pyunit:Junit的Python版本2、使用Pyhon進行WindowsGUI測試這部分的功能主要就是和大家平時使用的QTP類似。在Windows下我們可以使用pywinauto這個開源的框架:/p/pywinauto/來個小例子:app.Notepad.MenuSelect("Help->AboutNotepad")app.AboutNotepad.OK.Click()app.Notepad.Edit.TypeKeys("pywinautoWorks!",with_spaces=True)呵呵,強大吧3、使用Python進行Web自動化測試使用Python進行Web自動化測試的工具有很多,這里就向大家推薦一下我比較熟悉的Selenium(WebDriver)吧。c、Pymeter
❹ Python做軟體自動化測試的入門提問
做自動化首先得選擇用什麼樣的測試工具,python只是用來編寫測試腳本用
目前支持python腳本的測試工具也有一些,web測試:selenium,性能測試:LR也支持,功能:QTP目前也支持,但這些工具傳統上都是只支持C/C++、VBS的,擴展支持python後效果怎樣不是很清楚了。另外,在安卓平台結合MonkeyRunner 測試手機軟體效果是很好的。
除此之外,python也可用於C/C++的單元測試。
❺ python能夠做軟體的自動化測試嗎
可以,Python是可以做自動化測試的。
目前,Python自動化測試開始逐漸替代傳統的軟體測試,吸取了功能、性能、介面、自動化等專項測試領域的優勢,以後將在多個領域漸漸成為國內大部分質量控制、質量管理的首選,而且已經有很多公司使用Python自動化測試框架。
❻ Python有什麼成熟的Web自動化測試工具
我曾經實現過web測試的自動化庫,主要說一下模擬瀏覽器部分:
對於IE,mshtml組件+一些windows API足夠了,因為IE瀏覽器本身就是構建在這個組件之上,用這個跟真實的瀏覽器行為非常一致
對於Firefox,我們的方式是寫一個plug in用來跟firefox通訊,然後通過javascript完成全部操作,再輔以windows api的滑鼠/鍵盤/外層窗口 操作
其它瀏覽器未涉及
但是根據我的經驗,這種UI自動化測試是費力不討好的事情:
難以做到高可靠性,因為特殊情況很多,特別是在windows上
實踐經驗,這種測試能測出來的bug並不多,還要花時間在寫/維護/測試自動化測試腳本上面。寫出的腳本可重用性也很一般,經常要寫新的case,否則固定化的測試案例毫無意義。 而且對測試人員的技術能力要求直線上升。 真正UI上的bug反而多是測試人員人工做ad hoc時發現的
所以傾向於把測試重心放在底層介面以及集成部分的測試,好自動化而且收益可觀+
❼ 學習自動化測試,是學java好還是python好呢
語言歷史:
Python:簡單易懂。Python誕生於1991年,這門語言的初衷就是為了讓程序員可以用更少的代碼,寫出一樣的程序,達到事半功倍的效果。Python化繁為簡,給程序員減輕了不少壓力,以至於業界衍生出:人生苦短,我學Python。
Java:地位穩定。Java誕生於1995年,是一門有class為單位,高度面向對象的高級編程語言,因為Java語言穩定,很多公司在做商業級別項目時,都會選擇Java語言。
語言優點:
Python:易於學習、語法簡潔。Python對比其他語言來說,更容易一些,因為Python語言簡潔明了,很多外行人也能讀懂它的代碼,Python語言不需要很豐富的詞彙,簡單明了直奔主題,只需要少量的代碼就能創建出功能。
Java:架構獨特、速度快。Java是一門面向對象的編程語言,吸收了C++語言的各種優點同時擯棄了缺點,Java是可以跨平台的,應用十分廣泛,速度快的同時又十分穩定。
語言發展:
Python:快速崛起。Python發展快速,這是一個不爭的事實,Python主要優勢就是在任何方面都很強大,尤其是數據分析、機器學習、人工智慧領域,Python是人工智慧時代的第一語言。
Java:無法取代。Java是非常高級的編程語言,全球百分之八十以上的伺服器後台用的編程語言都是Java,至今還沒有語言可以替代它。
語言應用:
Python:人工智慧的首選。Python主要應用於數據分析、人工智慧、游戲開發、機器學習、腳本開發、網路爬蟲等領域,是大數據、人工智慧時代的主力軍。
Java:壟斷企業級應用的開發。Java主要應用就是伺服器開發、web開發以及安卓開發,壟斷了企業級應用的開發。
❽ 如何搭建python+selenium自動化測試框架
selenium是一個web的自動化測試工具,不少學習功能自動化的同學開始首選selenium,相因為它相比QTP有諸多有點:
*免費,也不用再為破解QTP而大傷腦筋
*小巧,對於不同的語言它只是一個包而已,而QTP需要下載安裝1個多G的程序。
*這也是最重要的一點,不管你以前更熟悉C、java、ruby、python、或都是C#,你都可以通過selenium完成自動化測試,而QTP只支持VBS
*支持多平台:windows、linux、MAC,支持多瀏覽器:ie、ff、safari、opera、chrome
*支持分布式測試用例的執行,可以把測試用例分布到不同的測試機器的執行,相當於分發機的功能。
關於selenium的基礎知識與java平台的結合,我之前寫過一個《菜鳥學習自動化測試》系列,最近學python,所以想嘗試一下selenium的在python平台如何搭建;還好這方法的文章很容易,在此將搭建步驟整理分享。
搭建平台windows
准備工具如下:
-------------------------------------------------------------
下載python
-------------------------------------------------------------
如果你是新學python,哪果你沒有要用的包是必須依賴於pyhton2.x 的,那麼請毫不猶豫的選擇python3.5吧!
window安裝步驟:
1、下載python安裝。
又報了個錯:
Chromeversionmustbe>=27.0.1453.0 (Driverinfo:chromedriver=2.0,platform=WindowsNT5.1SP3x86)
說我chrome的版本沒有大於27.0.1453.0,這個好辦,更新到最新版本即可。
安裝IEdriver
在新版本的webdriver中,只有安裝了iedriver使用ie進行測試工作。
iedriver的下載地址在這里,記得根據自己機器的操作系統版本來下載相應的driver。
暫時還沒嘗試,應該和chrome的安裝方式類似。
記得配置IE的保護模式
如果要使用webdriver啟動IE的話,那麼就需要配置IE的保護模式了。
把IE里的保護模式都選上或都勾掉就可以了。
❾ 用python idle編寫web的自動化測試,要怎麼樣才能支持Chrome
通常是python使用PYQT,然後使用內嵌的WEBKIT,可以通過API和JS控制這個瀏覽器。 也基本夠用了。
瀏覽器插件可以用JS代替。至於IE瀏覽器,只能用C++寫BHO插件。 FIREFOX使用它自帶的規范開發。相對容易些。其它的瀏覽器大多使用JS驅動就可以。比如CHROME。