pythonbdd
❶ Android 手機自動化測試工具有哪幾種
Feb 23 2012更新: 還有Sikuli (http://sikuli.org),基於優秀的圖像對比庫opencv的測試工具,測試腳本使用python編寫,非常強大。如果你的app沒有源碼,可以選擇它;或者你想做系統測試(跨app的測試),也可以選擇它。其它的還是用下面說的那些個吧。
我通過其核心包sikuli-script.jar實現了android的sikuli化,暫時不打算開源。其實原理挺簡單的,認真看過sikuli源碼的應該都能寫出來。
看lz的意思應該只是想問應用層的,我來說點應用層的
先說說開源的吧:
Robotium
Monkeyrunner
Robolectric
CTS
還有個新興的測試工具,以前在GitHub看到,現在找不到了,好像是BDD類型的語法;現在還不成熟。
另外基於web的測試也有基於Selenium Webdriver 的 Android WebDriver:
有兩種:
基於Remote Server的:官方提供了java介面的,但是Python版的官方裡面卻沒有。我非常喜歡Python,所以自己實現了並且開源到了GitHub:https://github.com/truebit/AndroidWebDriver4Python 有問題大家可以提到上面
基於Instrumentation的:已經在Android SDK r14裡面可以安裝了
不開源的就多了,不過我見過的一般是以下幾種思路:
1. 基於Android Java Instrumentation框架:
基於Robotium,比如bitbar的產品:http://bitbar.com/procts
基於Instrumentation,那就海了去了,很多公司自家寫的工具都基於這個;另外Robotium就是基於這個的
2. 基於Android lib層的各種命令,比如sendevent,getevent, monkey, service這些,然後用各種語言封裝
MonkeyRunner還是很有前景的,Google自己弄的。現在最新的dev版本已經有支持UI的id操作的EasyMonkey了。可以git clone git://http://android.kernel.org/platform/sdk.git看看
編輯於 2012-02-23 7 條評論 • 作者保留權利
贊同23反對,不會顯示你的姓名
乙醇,打雜的......
落小雪、蔣金龍、Reeta L 等人贊同
appium是最近我關注的一個不錯的移動端自動化測試工具,支持android和ios。
放上兩段視頻。第一段是講解appium的原理及quick start;第二段講解了appium的源碼結構和具體實現。有興趣可以看一下,相信應該有收獲。
1,appium 原理與quick start
乙醇的appium視頻教程之appium入門及原理剖析
http://v.youku.com/v_show/id_XNjQzMjI4NDcy.html?firsttime=2212
2,appium源碼解析
乙醇的appium源碼解讀
http://v.youku.com/v_show/id_XNjQzODIwMzA4.html?firsttime=0
發布於 2013-12-07 5 條評論 • 作者保留權利
贊同25反對,不會顯示你的姓名
知乎用戶,Coding/Reading/Hiking/Running
知乎用戶、曹媛媛、石存灃 等人贊同
1、Monkey是Android SDK自帶的測試工具,在測試過程中會向系統發送偽隨機的用戶事件流,如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對正在開發的應用程序進行壓力測試,也有日誌輸出。實際上該工具只能做程序做一些壓力測試,由於測試事件和數據都是隨機的,不能自定義,所以有很大的局限性。
2、MonkeyRunner也是Android SDK提供的測試工具。嚴格意義上來說MonkeyRunner其實是一個Api工具包,比Monkey強大,可以編寫測試腳本來自定義數據、事件。缺點是腳本用Python來寫,對測試人員來說要求較高,有比較大的學習成本。
3、Instrumentation是早期Google提供的Android自動化測試工具類,雖然在那時候JUnit也可以對Android進行測試,但是Instrumentation允許你對應用程序做更為復雜的測試,甚至是框架層面的。通過Instrumentation你可以模擬按鍵按下、抬起、屏幕點擊、滾動等事件。Instrumentation是通過將主程序和測試程序運行在同一個進程來實現這些功能,你可以把Instrumentation看成一個類似Activity或者Service並且不帶界面的組件,在程序運行期間監控你的主程序。缺點是對測試人員來說編寫代碼能力要求較高,需要對Android相關知識有一定了解,還需要配置AndroidManifest.xml文件,不能跨多個App。
4、UiAutomator也是Android提供的自動化測試框架,基本上支持所有的Android事件操作,對比Instrumentation它不需要測試人員了解代碼實現細節(可以用UiAutomatorviewer抓去App頁面上的控制項屬性而不看源碼)。基於Java,測試代碼結構簡單、編寫容易、學習成本,一次編譯,所有設備或模擬器都能運行測試,能跨App(比如:很多App有選擇相冊、打開相機拍照,這就是跨App測試)。缺點是只支持SDK 16(Android 4.1)及以上,不支持Hybird App、WebApp。
5、Espresso是Google的開源自動化測試框架。相對於Robotium和UIAutomator,它的特點是規模更小、更簡潔,API更加精確,編寫測試代碼簡單,容易快速上手。因為是基於Instrumentation的,所以不能跨App。配合Android Studio來編寫測試的簡單例子
6、Selendroid:也是基於Instrumentation的測試框架,可以測試Native App、Hybird App、Web App,但是網上資料較少,社區活躍度也不大。
7、Robotium也是基於Instrumentation的測試框架,目前國內外用的比較多,資料比較多,社區也比較活躍。缺點是對測試人員來說要有一定的Java基礎,了解Android基本組件,不能跨App。
8、Athrun是淘寶出的一個移動測試框架/平台,同時支持iOS和Android。Android部分也是基於Instrumentation,在Android原有的類基礎上進行了擴展,提供一整套面向對象的API。這里有詳細介紹。
9、Appium是最近比較熱門的框架,社區也很活躍。這個框架應該是是功能最強大的,
它的優點:
它的哲理是:
它的設計理念:
相關限制:
總結:
在iOS部分是封裝了UIAutomation;Android 4.2以上是用UiAutomator,Android 2.3 ~ 4.1用的是 Instrumentation,也就說Appium同時封裝了UiAutomator和Instrumentation。所以Appium擁有了以上幾大框架的所有優點:跨App,支持Native App、Hybird App、Web App,還支持N種語言來編寫你的測試腳本。
如果你在Windows使用Appium,你沒法使用預編譯專用於OS X的.app文件,因為Appium依賴OS X專用的庫來支持iOS測試,所以在Windows平台你不能測試iOS Apps。這意味著你只能通過在Mac上來運行iOS測試。
Client/Server架構,運行的時候Server端會監聽Client端發過來的命令,翻譯這些命令發送給移動設備或模擬器,然後移動設備或模擬器做出響應的反應。正是因為這種架構,所以Client可以使用Appium client libraries多種語言的測試腳本,而且Server端完全可以部署在伺服器上,甚至雲伺服器。
Session,每個Client連接到Server以後都會有一個Session ID,而且Client發送命令到Server端都需要這個Session ID,因為這個seesion id代表了你所打開的瀏覽器或者是移動設備的模擬器。所以你甚至可以打開N個Session,同時測試不同的設備或模擬器。
Desired Capabilities,其實就是一個鍵值對,設置一些測試的相關信息來告訴Server端,我們需要測試iOS、還是Android,或者換是WebApp等信息。
Appium Server是Node.js寫的,所以可以直接用NPM來進行安裝。
Appium Clients,Mac OS和Win下提供GUI,不需要裝Node.js,方便測試人員操作。
用Appium自動化測試不需要重新編譯App;
支持很多語言來編寫測試腳本,Java、Javascript、php、Python、C#、Ruby等主流語言;
不需要為了自動化測試來重造輪子,因為擴展了WebDriver。(WebDriver是測試WebApps的一種簡單、快速的自動化測試框架,所以有Web自動化測試經驗的測試人員可以直接上手);
移動端自動化測試應該是開源的;
開源;
支持Native App、Hybird App、Web App;
支持Android、iOS、Firefox OS;
Server也是跨平台的,你可以使用Mac OS X、Windows或者Linux;
顯示全部
編輯於 2015-03-20 1 條評論 • 作者保留權利
贊同4反對,不會顯示你的姓名
知乎用戶,hello rabbit
郝思遠、man Nor、徐佳琦 等人贊同
當前有很大的趨勢是轉向移動應用平台,Android 是最廣泛使用的移動操作系統,2014 年大約占 80% 以上的市場。在開發 Android 應用的時候要進行測試,現在市場上有大量的測試工具。
本文提到的開源 Android 軟體測試工具包括:Android Test Kit, AndroidJUnit4, Appium, calabash-android, Monkey, MonkeyTalk, NativeDriver, Robolectric, RoboSpock, Robotium, UIAutomator, Selendroid。
Android Test Kit
Android Test Kit 是一組 Google 開源測試工具,用於 Android 平台,包含 Espresso API 可用於編寫簡潔可靠的 Android UI 測試。
OSChina URL: Android Test Kit首頁、文檔和下載
相關資源
* Android application testing with the Android test framework – Tutorial
* Espresso for Android is here!
AndroidJUnit4
AndroidJUnit4 是一個讓 JUnit 4 可以直接運行在 Android 設備上的開源命令行工具。
OSChina URL: AndroidJUnit4首頁、文檔和下載
Appium
Appium 是一個開源、跨平台的自動化測試工具,用於測試原生和輕量移動應用,支持 iOS, Android 和 FirefoxOS 平台。Appium 驅動蘋果的 UIAutomation 庫和 Android 的 UiAutomator 框架,使用 Selenium 的 WebDriver JSON 協議。
Appinm 的 iOS 支持是基於 Dan Cuellar's 的 iOS Auto. Appium 同時綁定了 Selendroid 用於老的 Android 平台測試。
OSChina URL: Appium首頁、文檔和下載
相關資源
* Appium Tutorial
* Android UI testing with Appium
Calabash-android
calabash-android 是一個基於 Cucumber 的 Android 的功能自動化測試框架。Calabash 允許你寫和執行,是開源的自動化移動應用測試工具,支持 Android 和 iOS 原生應用。Calabash 的庫允許原生和混合應用的交互測試,交互包括大量的終端用戶活動。Calabash 可以媲美 Selenium WebDriver。但是, 需要注意的是 web 應用和桌面環境的交互跟觸摸屏應用的交互是不同的。Calabash 專為觸摸屏設備的原生應用提供 APIs。
OSChina URL: calabash-android首頁、文檔和下載
相關資源
* A better way to test Android applications using Calabash
* Calabash Android: query language basics
Monkey
Monkey 是 Google 開發的 UI/應用測試工具,也是命令行工具,主要針對壓力測試。你可以在任意的模擬器示例或者設備上運行。Monkey 發送一個用戶事件的 pseudo-random 流給系統,作為你開發應用的壓力測試。
OSChina URL: UI/Application Exerciser Monkey
MonkeyTalk
MonkeyTalk 是世界上最強大的移動應用測試工具。MonkeyTalk 自動為 iOS 和 Android 應用進行真實的,功能性交互測試。MonkeyTalk 提供簡單的 "smoke tests",復雜數據驅動的測試套件。
MonkeyTalk 支持原生,移動和混合應用,真實設備或者模擬器。MonkeyTalk 使得場景捕獲非常容易,可以記錄高級別,可讀的測試腳本。同樣的命令可以用在 iOS 和 Android 應用上。你可以記錄一個平台的一個測試,並且可以在另外一個平台回放。MonkeyTalk 支持移動觸摸和基於手勢交互為主的移動體驗。點擊,拖拽,移動,甚至是手指繪制也可以被記錄和回放。
OSChina URL: MonkeyTalk首頁、文檔和下載
相關資源
* Using MonkeyTalk in AndroidStudio
NativeDriver
NativeDriver 是 WebDriver API 的實現,是原生應用 UI 驅動,而不是 web 應用。
OSChina URL: NativeDriver首頁、文檔和下載
Robolectric
Robolectric 是一款Android單元測試框架,使用 Android SDK jar,所以你可以使用測試驅動開發 Android 應用。測試只需幾秒就可以在工作站的 JVM 運行。Robolectric 處理視圖縮放,資源載入和大量 Android 設備原生的 C 代碼實現。
Robolectric 允許你做大部分真實設備上可以做的事情,可以在工作站中運行,也可以在常規的 JVM 持續集成環境運行,不需要通過模擬器。
OSChina URL: Robolectric首頁、文檔和下載
Additional resources
* Better Android Testing with Robolectric 2.0
Using Robolectric for Android testing – Tutorial
RoboSpock
RoboSpock 是一個開源的 Android 測試框架。提供簡單的編寫 BDD 行為驅動開發規范的方法,使用Groovy 語音,支持 Google Guice 庫。RoboSpock 合並了 Robolectric 和 Spock 的功能。
OSChina URL: RoboSpock首頁、文檔和下載
相關資源
* RoboSpock – Behavior Driven Development (BDD) for Android
Robotium
Robotium 是一款國外的Android自動化測試框架,主要針對Android平台的應用進行黑盒自動化測試,它提供了模擬各種手勢操作(點擊、長 按、滑動等)、查找和斷言機制的API,能夠對各種控制項進行操作。
Robotium結合Android官方提供的測試框架達到對應用程序進行自動化的測 試。另外,Robotium 4.0版本已經支持對WebView的操作。Robotium 對Activity,Dialog,Toast,Menu 都是支持的。
OSChina URL: Robotium首頁、文檔和下載
相關資源
* Robotium – Testing Android User Interface
* Android user interface testing with Robotium – Tutorial
UIAutomator
uiautomator 測試框架提高用戶界面(UI)的測試效率,通過自動創建功能 UI 測試示例,可以在一個或者多個設備上運行你的應用。
OSChina URL: uiautomator首頁、文檔和下載
相關資源
* Automatic Android Testing with UiAutomator
Selendroid
Selendroid 是一個 Android 原生應用的 UI 自動化測試框架。測試使用 Selenium 2 客戶端 API 編寫。Selendroid 可以在模擬器和實際設備上使用,也可以集成網格節點作為縮放和並行測試。
OSChina URL: Selendroid首頁、文檔和下載
相關資源
* Mobile Test Automation with Selendroid
* Road to setup Selendroid and create first test script of android application
* Up and running with: Selendroid
一些停止維護的 Android 測試工具
一些幾乎沒有繼續維護的開源 Android 測試工具項目(至少是最近幾個月都沒有更新的項目)。
Emmagee
Emmagee 是監控指定被測應用在使用過程中佔用機器的CPU、內存、流量資源的性能測試小工具。Emmagee 同時還提供非常酷的一些特性,比如定製間隔來收集數據,使用浮動窗口呈現實時進程狀態等。
OSChina URL: Emmagee首頁、文檔和下載
Sirocco
Scirocco(scirocco-webdriver) 是開源的應用自動化測試工具,可以從 Eclipse 訪問必要的測試設備。Scirocco 提供自動化的 Android 應用測試功能,代替手工測試。Scirocco 支持谷歌的 NativeDriver,把 AndroidDriver 作為主要的測試庫。Scirocco 包括三個部分:NativeDriver,AndroidDriver,scirocco 插件(一個 Eclipse 插件;可以自動執行 scenario 測試和製作測試報告截圖)。
OSChina URL: Scirocco首頁、文檔和下載
via softwaretestingmagazine
❷ Python自動化測試框架有哪些
分享一些可用的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框架,Pytest、Robot Framework和UnitTest可主要用於功能與單元測試,而Lettuce和Behave僅適用於行為驅動測試。對於功能測試而言,Pytest是的。如果您是基於Python自動化測試的新手,Robot Framework是的入門工具。雖然其功能有所受限,但是它非常容易上手。對於基於Python的BDD測試而言,Lettuce和Behave同樣優秀。不過,如果你已經有了一定的Pytest經驗,那麼請使用Pytest-bdd。
❸ Python問題
1,可以根據特殊符號分割字元串,復雜點的可以用正則表達式
>>>a='0916.exe'
>>>b=a.split('.') #按點好分割字元串
>>>b[0]
0916
>>>b[1]
exe
2,基本原理同第一題
>>>a='i love you'
>>>b=a.split(' ') #按空格分割字元串
>>>for x in b:
print(x)
i
love
you
3
a=10
for b in range(a):
....l=[]
........for c in range(a):
........l.append(str(a))
....print(' '.join(l))
4
這個問題我不是很明白,什麼是特定范圍,是指的WINDOWS中的CMD窗口中列印出的一行居中或者LINUX中終端居中,如果是我所說的意思的話,比較復雜,要調用特殊的函數獲得終端行的大小,然後計算後輸出
5
command是你要分析的字元串,len是大寫字母的數量
len=0
for s in command:
....if 65<=ord(s)<=90:
........len+=1
註:我不知道怎麼在網路知道里打出空格,....就代表空格
❹ python 字元串如何取部分字元串,進行重新排列組合
按照你的要求編寫的Python程序如下(這是4個字元取2個字元,如果要取3個字元,請把repeat參數的值由2改成3)
import itertools
print([''.join(i) for i in itertools.proct("abcd",repeat=2)])
運行結果
['aa', 'ab', 'ac', 'ad', 'ba', 'bb', 'bc', 'bd', 'ca', 'cb', 'cc', 'cd', 'da', 'db', 'dc', 'dd']
❺ python高手煉成要多久
我的總結主要集中在四個基本題目上:函數式編程,性能,測試,編碼規范。如果一個程序員能將這四個方面的內容知識都吸收消化,那他/她不管怎樣都會有巨大的收獲。
函數式編程
命令式的編程風格已經成為事實上的標准。命令式編程的程序是由一些描述狀態轉變的語句組成。雖然有時候這種編程方式十分的有效,但有時也不盡如此(比如復雜性)——而且,相對於聲明式編程方式,它可能會顯得不是很直觀。
如果你不明白我究竟是在說什麼,這很正常。這里有一些文章能讓你腦袋開竅。但你要注意,這些文章有點像《駭客帝國》里的紅色葯丸——一旦你嘗試過了函數式編程,你就永遠不會回頭了。
http://www.amk.ca/python/writing/functional
http://www.secnetix.de/olli/Python/lambda_functions.hawk
http://docs.python.org/howto/functional.html
性能
你會看到有如此多的討論都在批評這些「腳本語言」(Python,Ruby)是如何的性能低下,可是你卻經常的容易忽略這樣的事實:是程序員使用的演算法導致了程序這樣拙劣的表現。
這里有一些非常好的文章,能讓你知道Python的運行時性能表現的細節詳情,你會發現,通過這些精煉而且有趣的語言,你也能寫出高性能的應用程 序。而且,當你的老闆質疑Python的性能時,你別忘了告訴他,這世界上第二大的搜索引擎就是用Python寫成的——它叫做Youtube(參考 Python摘錄)
http://jaynes.colorado.e/PythonIdioms.html
http://wiki.python.org/moin/PythonSpeed/PerformanceTips
測試
如今在計算機科學界,測試可能是一個最讓人不知所措的主題了。有些程序員能真正的理解它,十分重視TDD(測試驅動開發)和它的後繼者BDD(行為 驅動開發)。而另外一些根本不接受,認為這是浪費時間。那麼,我現在將告訴你:如果你不曾開始使用TDD/BDD,那你錯過了很多最好的東西!
這並不只是說引入了一種技術,可以替換你的公司里那種通過愚蠢的手工點擊測試應用程序的原始發布管理制度,更重要的是,它是一種能夠讓你深入理解你 自己的業務領域的工具——真正的你需要的、你想要的攻克問題、處理問題的方式。如果你還沒有這樣做,請試一下。下面的這些文章將會給你一些提示:
http://www.oreillynet.com/lpt/a/5463
http://www.oreillynet.com/lpt/a/5584
http://wiki.cacr.caltech.e/danse/index.php/Unit_testing_and_Integration_testing
http://docs.python.org/library/unittest.html
編碼規范
並非所有的代碼生來平等。有些代碼可以被另外的任何一個好的程序員讀懂和修改。但有些卻只能被讀,而且只能被代碼的原始作者修改——而且這也只是在他或她寫出了這代碼的幾小時內可以。為什麼會這樣?因為沒有經過代碼測試(上面說的)和缺乏正確的編程規范。
下面的文章給你描述了一個最小的應該遵守的規范合集。如果按照這些指導原則,你將能編寫出更簡潔和漂亮的代碼。作為附加效應,你的程序會變得可讀性更好,更容易的被你和任何其他人修改。
http://www.python.org/dev/peps/pep-0008/
http://www.fantascienza.net/leonardo/ar/python_best_practices.html
❻ Python BDD自動化測試框架有哪些
好象python的瀏覽器測試框架,原來只有一個,還是仿ruby的框架做的。似乎在IE上可以比較好的應用。很老的框架。對JS支持不好。
不過python寫個測試框架真是非常容易的事情,隨手就來。 基於瀏覽器測試也容易做。因為你可以使用pyqt,這個庫里有一個基於webkit的瀏覽器。基本上,想做什麼都可以了。
最近聽說有幾個新的BDD的框架正在做。也不知道怎麼樣。
其實對於python這種語言來說,框架的成本太低。所以最好不要做框架。它有一個基本的編程原則則DRY。do not repeat yourself。不要再造輪子的意思。
直接使用現有的python的testsuite結合進程,線程模型,還有QT輕松就組裝出一個測試模塊。
❼ 怎麼快速測試app應用的bug
一、跨平台開發移動應用測試框架
Appium:無需SDK和編譯即可測試
一款開源且擴平台的自動化測試工具,適用於測試原生或混合型移動App,支持iOS、Android和FirefoxOS平台。通過它,開發者可以利用測試代碼完全訪問後端API和資料庫。Appium是基於無需SDK和編譯就可以對原生應用進行測試的理念而設計的。
該框架不僅能完美支持iOS、Android應用,還可直接在PHP、Python、Ruby、C#、 Clojure、Java、Objective-C、JavaScript及Perl等語言中編寫測試腳本。
Calabash:全方位測試利器
一款適用於iOS和Android平台的跨平台應用測試框架,支持Cucumber,開源且免費,隸屬於Xamarin公司。通過Calabash,開發者可以對應用進行多方位測試,比如截屏、手勢識別、實際功能代碼等。
二、iOS應用開發移動應用測試框架
KIF:專為iOS設計的移動應用測試框架
全稱Keep It Functional,來自Square,是一款專為iOS設計的移動應用測試框架。由於KIF是使用Objective-C語言編寫的,因此,對於iOS開發者而言,用起來要更得心應手,可以稱得上是一款非常值得收藏的iOS測試利器。
Gitorious:截屏+Python腳本,測試細致入微基於Git版本控制系統的Web項目託管平台,使用Ruby on Rails開發。而其移動測試框架(MTF)也是深受開發者歡迎,Gitorious移動測試框架是一款充分利用Sikuli自動化工具的iOS測試框架。
Frank:模擬用戶黑盒測試
一款深受開發者喜愛的iOS應用測試框架,該框架可以模擬用戶操作對應用程序進行黑盒測試,並使用Cucumber作為自然語言來編寫測試用例。此外,Frank還會對應用測試操作進行記錄,以幫助開發者進行測試回顧。
FlipTest:再也不用為決定不同版本的好壞發愁專為iOS設計的移動應用A/B測試框架,通過它,開發者可以無需重新向App Store提交應用或重構代碼,只需添加一行代碼,即可直接在iOS應用上進行A/B測試。
Kiwi:專業iOS開發的行為驅動開發(BDD)庫介面簡單而高效,深受開發者的歡迎,也因此成為了許多開發新手的首選測試平台。和大多數iOS測試框架一樣,Kiwi使用Objective-C語言編寫,因此對於iOS開發者而言,絕對稱得上是最佳測試拍檔。
Cedar:BDD風格多環境測試框架和Kiwi一樣,Cedar也是一款BDD風格的Objective-C測試框架。它不僅適用於iOS和OS X代碼庫,而且在其他環境下也可以使用。
三、Android應用開發移動測試框架
Robolectric:讓Android開發從此擺脫模擬器測試的老套路
Android開發者們注意了,這款測試框架一定會讓你們興奮不已,因為它是一款已基本上擺脫了模擬器測試的老套路的速率單元測試框架。Robolectric可以解壓Android SDK,還能直接對應用進行測試,從而幫你輕而易舉地解決所遇到的任何問題。
AppGrader:Android開發者的意見大師Gitorious MTF能夠利用截屏和Python腳本,進行細致入微的測試,並將測試結果返還給開發者以提高應用質量及修復漏洞。
來自以色列的應用測試服務商uTest推出的一款測試產品。相比其他主流移動應用測試框架,AppGrader可能並不太為開發者所熟知,但它卻能夠為眾多的Android開發者提供非常專業的意見參考。
❽ Python的類和對象
<bound method A.b of <__main__.A object at 0x000001BC9BDD8B00>>
只是在運行時顯示的信息, 通常使用__str__魔法函數也會顯示類似的字元串
真正的運行一個py文件時, a.b並不會有任何效果
❾ 基於python的自動化測試框架有哪些
好象python的瀏覽器測試框架,原來只有一個,還是仿ruby的框架做的。似乎在IE上可以比較好的應用。很老的框架。對JS支持不好。
不過python寫個測試框架真是非常容易的事情,隨手就來。 基於瀏覽器測試也容易做。因為你可以使用pyqt,這個庫里有一個基於webkit的瀏覽器。基本上,想做什麼都可以了。
最近聽說有幾個新的BDD的框架正在做。也不知道怎麼樣。
其實對於python這種語言來說,框架的成本太低。所以最好不要做框架。它有一個基本的編程原則則DRY。do not repeat yourself。不要再造輪子的意思。
直接使用現有的python的testsuite結合進程,線程模型,還有QT輕松就組裝出一個測試模塊。