當前位置:首頁 » 編程語言 » python測試框架

python測試框架

發布時間: 2022-07-16 15:15:18

python寫的測試框架怎麼使用

安裝

>pipinstall-Upytest#通過pip安裝

>py.test--version#查看pytest版本

Thisispytestversion2.7.2,importedfromC:Python27libsite-packagespytest.pyc

簡單的測試

讓我們創建第一個文件,對個簡單的功能進行測試。

好吧!其實, 我也不理解這段代碼的含義,但是執行它的可運行測試用例了。

pytest/

├──test_case/

│├── test_sample.py

│├──test_class.py

│├── __init__.py

│ └──test_case2/

│ ├── test_main.py

│ ├── test_time.py

│ └──__init__.py

└──runtests.py

執行runtest.py文件。

>python runtest.py

當然,你也可以打開runtests.py 文件運行它。

===================================================================

*最後,pytest是如果識別測試用例的呢?它默認使用檢查以test_ *.py 或*_test.py命名的文件名,在文件內部查找以test_打頭的方法或函數,並執行它們。

pytest還有許多需要討論的地方,做為這個系列的第一節,先介紹到這里。

⑵ Python自動化測試框架有哪些

自動化測試常用的Python框架有哪些?常用的框架有Robot Framework、Pytest、UnitTest/PyUnit、Behave、Lettuce。Pytest、Robot Framework和UnitTest主要用於功能與單元測試,Lettuce和Behave僅適用於行為驅動測試。
一、Robot Framework
Python測試框架之一,Robot Framework被用在測試驅動(test-driven)類型的開發與驗收中。雖然是由Python開發而來,但是它也可以在基於.Net的IronPython和基於java的Jython上運行。作為一個Python框架,Robot還能夠兼容諸如Windows、MacOS、以及linux等平台。
在使用Robot Framework(RF)之前,需要先安裝Python 2.7.14及以上的版本。推薦使用Python 3.6.4,以確保適當的注釋能夠被添加到代碼段中,並能夠跟蹤程序的更改。同時還需要安裝Python包管理器--pip。
二、Pytest
適用於多種軟體測試的Pytest,是另一個Python類型的自動化測試框架。憑借著其開源和易學的特點,該工具經常被QA(質量分析)團隊、開發團隊、個人團隊、以及各種開源項目所使用。鑒於Pytest具有「斷言重寫(assert rewriting)」之類的實用功能,許多大型互聯網應用,如Dropbox和Mozilla,都已經從下面將要提到的unittest(Pyunit)切換到了Pytest之上。
除了基本的Python知識,用戶並不需要更多的技術儲備。另外,用戶只需要有一台帶有命令行界面的測試設備,並且安裝好了Python包管理器、以及可用於開發的IDE工具。
三、UnitTest/PyUnit
UnitTest/PyUnit一種標准化的針對單元測試的Python類自動化測試框架。基類TestCase提供了各種斷言方法、以及所有清理和設置的常式。因此,TestCase子類中的每一種方法都是以「test」作為名詞前綴,以標識它們能夠被作為測試用例所運行。用戶可以使用load方法和TestSuite類來分組、並載入各種測試。
可以通過聯合使用,來構建自定義的測試運行器。正如我們使用Junit去測試Selenium那樣,UnitTest也會用到UnitTest-sml-reporting、並能生成各種XML類型的報告。由於UnitTest默認使用了Python,因此我們並不需要什麼先決條件。除了需要具備Python框架的基本知識,您也可以額外地安裝pip、以及用於開發的IDE工具。
四、Behave
行為驅動開發是一種基於敏捷軟體開發的方法。它能夠鼓勵開發人員、業務參與者和QA人員,三者之間的協作。Python測試框架Behave允許團隊避開各種復雜的情況,去執行BDD測試。從本質上說該框架與SpecFlow和Cucumber相似,常被用於執行自動化測試。用戶可以通過簡單易讀的語言來編寫測試用例,並能夠在其執行期間粘貼到代碼之中。而且,那些被設定的行為規范與步驟,也可以被重用到其他的測試方案中。
任何具備Python基礎知識的人都可以使用Behave。其他先決條件還包括:先安裝Python 2.7.14及以上的版本。通過Python包管理器或pip來與Behave協作。大多數開發人員會選擇Pycharm作為開發環境,當然您也可以選用其他的IDE工具。
五、Lettuce
Lettuce是另一種基於Cucumber和Python的行為驅動類自動化工具。Lettuce主要專注於那些具有行為驅動開發特徵的普通任務。它不但簡單易用,而且能夠使得整個測試過程更流暢、甚至更有趣。安裝帶有IDE的Python 2.7.14、及以上的版本。當然,您也可以使用Pycharm或任何其他IDE工具。同時,您還需要安裝Python包管理器。

⑶ 如何搭建python自動化測試框架

Auty文件夾結構介紹
1. actions文件夾:包含了和業務相關的包含可復用方法的腳本文件,根據業務的不同可以在actions文件夾下創建不同的業務文件夾;
2. constants文件夾:包含了常量初始化的python腳本文件,根據業務劃分可以再創建子文件夾或多個常量文件;
3. data文件夾:包含了測試用的數據;
4. lib文件夾:包含了支持框架運行的python文件;
5. log文件夾:包含了運行測試過程中生成的日誌文件;
6. results文件夾:包含了測試結果文件;
7. scripts文件夾:包含了scripts文件夾和selections文件夾;
1)scripts文件夾下包含了測試腳本(可根據業務劃分成多個子目錄);
2)selections文件夾下包含了suite文件(包含了需要執行的腳本路徑集合);
8. utils文件夾:包含了和業務邏輯無關的包含可復用方法的腳本文件;
Auty文件結構介紹
1. Auty文件夾下:
1)__init__.py文件:包結構所必需文件(以下所有涉及可調用腳本的文件夾下均需有此文件);
2)config.txt文件:Auty框架配置說明文件;
3)recovery.py文件:垃圾代碼回收文件(用來回收執行測試過程中因故障未能自動刪除的自動生成的代碼);
4)requirements文件:包含了框架所需要安裝的python庫信息;
5)setup.py文件:執行腳本以安裝requirements文件中所包含的python庫;
6)start.py文件:執行腳本以啟動介面自動化測試;
2. lib文件夾下:
1)exe_deco.py文件:包含修飾腳本運行時方法的文件;
2)execute_selection.py文件:包含運行suite集合下腳本方法的文件;
3)generate_html.py文件:包含根據生成的csv格式測試結果文件生成html類型測試結果文件方法的文件;
4)generate_result.py文件:包含生成csv格式測試結果方法的文件;
5)read_selection.py文件:包含讀取可執行的腳本列表方法的文件;
6)recovery_code.py文件:包含垃圾代碼回收方法的文件;
7)write_log.py文件:包含生成日誌文件方法的文件;
3. scripts文件夾下:
1)create_selection.py文件:包含創建suite文件(all_scripts_selection.txt)方法的文件;
Auty使用步驟
1. 運行Auty/setup.py文件;
2. 編寫介面測試python腳本並放到Auty/scripts/scripts目錄(或子目錄)下;
3. 運行Auty/scripts/create_selection.py文件生成Auty/scripts/all_scripts_selection.txt文件;
4. 修改Auty/scripts/all_scripts_selection.txt文件自定義test_selection.txt文件(名字隨意起)並放到Auty/scripts/selections文件夾下;
5. 運行Auty/start.py文件開始介面自動化測試;
6. 在Auty/results文件夾下生成的測試結果文件中查看測試結果。
Auty編寫過程
這個框架里scripts、utils、actions、contants四個文件夾中的內容是根據實際工作內容可以隨意替換的,其他為Auty介面自動化測試框架必需的組成部分

⑷ python單元測試框架 有哪些

python單元測試框架 有哪些
同在軟體測試崗位。由於同樣初學python,所以沒有太多的實踐經驗。

使用python的單元測試框架,可以建立測試類,構造測試集。
測試類中包含了common的測試方法定義,包括測試開始前建立測試環境的setUp方法和測試完成後清理還原環境的tearDown方法,最好按照約定規則(以test開頭)來命名所有的測試方法。
測試集允許你根據測試策略組合不同的測試用例並實施。

⑸ 怎麼搭建 python 的介面自動化測試框架

1.框架搭建
1.1 將struts2中的jar文件導入到項目中
commons-fileupload-1.2.1.jar,commons-io-1.3.2.jar,freemarker-2.3.15.jar,ognl-2.7.3.jar
struts2-core-2.1.8.1.jar,xwork-core-2.1.6.jar
1.2 將struts.xml文件拷貝到項目的src目錄下
1.3 修改web.xml文件
添加:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2.action中方法的調用方式
2.1 自動方法調用(只能調用execute)
2.2 指定方法調用(通過設置action標簽中的method屬性)
2.3 動態方法調用(在調用時,在action後加!方法名稱,如:login!deletUser)
注意:<constant name="struts.enable.DynamicMethodInvocation" value="true" />
2.4 通配符調用
3. action接收客戶端參數的方式
3.1 直接在action中定義參數變數,並生成set和get方法
3.2 定義接收參數的類
注意:都要為action的成員變數提供get和set方法
3.3 讓action實現ModelDriven介面,並實現裡面的getModel方法
4.獲取request,session,application的方式
4.1 用ActionContext獲取,實際上獲取到的都是Map對象
4.2 用ServletActionContext獲取,獲取到的是基於Servlet API的對象

⑹ python已經自動化了,大家一般用什麼測試框架

首先我們需要明白自動化測試框架更傾向於一種設計思想 ,這種思想指導工具的使用或者自研開發,並且不是只能使用僅僅一種框架,結合被測系統本身特性一般是選擇多種測試框架的組合,來滿足測試和設計需求(開發、維護角度)。
錄制回放測試框架

錄制回放測試框架所採用的原理是通過錄制應用程序產生的線性腳本進行回放從而達到自動化測試的目的。

優點:對測試人員測試開發能力要求最低,通過錄制就可以得到所需腳本。

缺點:一般不具有邏輯判斷的能力 ,可維護性差 ,效率低。

適應場景:不推薦,傳統的UI自動化測試逐步弱化。關於U自動化,一定要清楚 被測系統是否滿足開展自動化的條件,在被測系統變動頻繁的項目中,開展UI自動化無疑是挖了一個很大的坑,其後期維護工作足以讓大心疲憊,被迫放棄自動化測試。
測試庫構架框架(The Test Library Architecture Framework )

測試庫構架框架的核心思想可以概括為系統功能操作和業務邏輯的解耦。將所有的針對測試系統支持的功能操作封裝在測試庫中,測試腳本調用測試庫的同時傳遞外部的測試數據,測試庫的編寫由自動化測試發工程編寫(可以不懂業務),負責控制項的變更和維護, 測試腳本的編寫可由對業務比較掌握的自動化測試開發工程編寫,負責業務邏輯、測試數據的變更和維護。

優點:被測試系統無論是哪層發生變化(代碼層或業務層等),只需要相應的人員進行變更維護即可。

缺點:變更引起的維護工作同時附加在自動化測試開發工程師與業務測試人員身上,維護代碼建級大。

適應場景:基於各種自動化開展方式(基於工具如Jemet或不基於工具的自研研發+持續集成)一般都會應用該框架。
數據驅動的自動化測試框架( The Data-Driven Testing Framework )

數據驅動的核心思想可以概括為數據(測試數據、配置數據)與代碼解耦。該種框架的原理是採用了數據驅動腳本進行測試,數據驅動腳本是將數據輸入存儲在獨立的數據文件中,腳本只存代碼,運行時腳本的輸入直接從文件中讀取,如此相同的腳本(代碼模版)可以運行於不同的測試用例中,實現了代碼與數據的分離。

優點:對於業務人員由面向代碼的開發轉換為面向配置的設計(參數組合設計), 降低了開發難度與開發成本,同時提高了測試用例的易擴展性,可以快速擴展相似測試,實現了自動化代碼不隨用例的增長而增

缺點:測試腳本的維護由自動化測試開發工程師負責,要求懂自動化編程和業務邏輯,初始測試腳本設計成本較大,具有一定局限性 (針對相同的測試內容並具有相同的測試邏輯).

適用場景:更適應於測試內容測試邏相重復度高,被測對象對測試用例易擴展性、可復用性要求較高的場景。
關鍵字或表驅動的自動化測試框架(The Keyword-Driven or Table-Driven Testing Framework )

關鍵字驅動是對數據驅動的邏相擴展,它的核心思想可以概括為數據代碼流程(邏輯)解耦,同時完成了代碼與測試描述(針對被測對象的測試描述)的映射。該框架的原理是基於數據驅動的基礎上,完成了對被測對象的拆分、抽象、 封裝使之映射成個個「關鍵詞」 (測試描述),編寫測試用例時,僅需要對關鍵詞進行組合 ,即可完成不同場景的測試用例開發。

優點:對於業務手工測試人員,由面向代碼或配置的開發轉化為面向自然語言(測試描述)的開發,最大程度的降低了開發難度與維護成本,同時提高了測試用例的易擴展性、易組織性,實現了自動化代碼不隨用例的增長而增多。

缺點:對測試人員的測試開發能力以及業務了解程度要求很高。

適用場景:被測對象包含復雜業務流程(邏輯),當然復雜的能做簡單的更ok。
了解 更多可以看著這篇文章,希望對你有所幫助,歡迎關注、點贊支持。
https://www.toutiao.com/i6616242076721873416/

⑺ python做介面測試時有哪些框架呢

1、日誌類,用於測試時日誌記錄
pyapilog.py
1 # -*-coding:utf-8 -*-
2 # !/usr/bin/python
3 __author__ = 'dongjie'
4 __data__ = '2015-05-20'
5
6 import logging
7 import datetime
8 import os
9 import setting
10 logLevel = {
11 1 : logging.NOTSET,
12 2 : logging.DEBUG,
13 3 : logging.INFO,
14 4 : logging.WARNING,
15 5 : logging.ERROR,
16 6 : logging.CRITICAL
17 }
18 setFile = os.path.join(setting.root_dir, 'setting.ini')
19 loggers = {}
20
21
22 # 定義日誌方法,從配置文件讀取日誌等級,且定義日誌輸出路徑
23 def pyapilog(**kwargs):
24 global loggers
25 log_level = setting.logLevel
26 log_path = setting.logFile
27 if os.path.exists(log_path):
28 log_file = os.path.join(log_path, datetime.datetime.now().strftime('%Y-%m-%d') + '.log')
29 else:
30 os.mkdir(r'%s' % log_path)
31 log_file = os.path.join(log_path, datetime.datetime.now().strftime('%Y-%m-%d') + '.log')
32 logger = logging.getLogger()
33 logger.setLevel(logLevel[log_level])
34 if not logger.handlers:
35 # 創建一個handler,用於寫入日誌文件
36 fh = logging.FileHandler(log_file)
37 fh.setLevel(logLevel[log_level])
38 # 再創建一個handler,用於輸出到控制台
39 ch = logging.StreamHandler()
40 ch.setLevel(logging.ERROR)
41 # 定義handler的輸出格式
42 formatter = logging.Formatter('%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s')
43 fh.setFormatter(formatter)
44 ch.setFormatter(formatter)
45 # 給logger添加handler
46 logger.addHandler(fh)
47 logger.addHandler(ch)
48 loggers.update(dict(name=logger))
49 return logger

⑻ 當前PYTHON常用的測試框架有哪些

從GitHub中整理出的15個最受歡迎的Python開源框架。這些框架包括事件I/O,OLAP,Web開發,高性能網路通信,測試,爬蟲等。 Django: Python Web應用開發框架 Django 應該是最出名的Python框架,GAE甚至Erlang都有框架受它影響。

⑼ 如何搭建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的自動化測試框架有哪些

好象python的瀏覽器測試框架,原來只有一個,還是仿ruby的框架做的。似乎在IE上可以比較好的應用。很老的框架。對JS支持不好。

不過python寫個測試框架真是非常容易的事情,隨手就來。 基於瀏覽器測試也容易做。因為你可以使用pyqt,這個庫里有一個基於webkit的瀏覽器。基本上,想做什麼都可以了。

最近聽說有幾個新的BDD的框架正在做。也不知道怎麼樣。

其實對於python這種語言來說,框架的成本太低。所以最好不要做框架。它有一個基本的編程原則則DRY。do not repeat yourself。不要再造輪子的意思。

直接使用現有的python的testsuite結合進程,線程模型,還有QT輕松就組裝出一個測試模塊。

熱點內容
腳本微信取關 發布:2025-02-01 19:35:01 瀏覽:150
如何用雲伺服器部署svn 發布:2025-02-01 19:33:20 瀏覽:988
緩存迅雷 發布:2025-02-01 19:31:53 瀏覽:975
linux與unixshell編程指南 發布:2025-02-01 19:25:03 瀏覽:939
護膚品資料庫 發布:2025-02-01 19:25:02 瀏覽:648
python接受json數據 發布:2025-02-01 19:24:24 瀏覽:943
修改網站資料庫 發布:2025-02-01 19:02:16 瀏覽:423
果粉不換安卓怎麼辦 發布:2025-02-01 18:57:21 瀏覽:796
網頁卡需要什麼配置 發布:2025-02-01 18:50:30 瀏覽:136
編程玩家 發布:2025-02-01 18:22:36 瀏覽:823