1. 怎麼學習python自動化測試
不會語言也可以掌握的自動化測試,用tw工具http://tools.51testing.com/
2. python自動化測試 什麼方面
python自動化測試 什麼方面
Bottle: 微型Python Web框架
Bottle是一個簡單高效的遵循WSGI的微型python Web框架。說微型,是因為它只有一個文件,除Python標准庫外,它不依賴於任何第三方模塊。
Tornado:非同步非阻塞IO的Python Web框架
Tornado的全稱是Torado Web Server,從名字上看就可知道它可以用作Web伺服器,但同時它也是一個Python Web的開發框架。最初是在FriendFeed公司的網站上使用,FaceBook收購了之後便開源了出來。
3. 什麼是Python介面自動化測試,具體能做什麼,說明白點
就是使python去實現介面測試,說白了就是寫一些測試邏輯。python去寫,速度快,簡單python也有很多自動化測試相關的工具。roboframework,是一個自動化測試框架,寫自動化非常簡單。
4. 基於python的自動化測試框架有哪些
好象python的瀏覽器測試框架,原來只有一個,還是仿ruby的框架做的。似乎在IE上可以比較好的應用。很老的框架。對JS支持不好。
不過python寫個測試框架真是非常容易的事情,隨手就來。 基於瀏覽器測試也容易做。因為你可以使用pyqt,這個庫里有一個基於webkit的瀏覽器。基本上,想做什麼都可以了。
最近聽說有幾個新的BDD的框架正在做。也不知道怎麼樣。
其實對於python這種語言來說,框架的成本太低。所以最好不要做框架。它有一個基本的編程原則則DRY。do not repeat yourself。不要再造輪子的意思。
直接使用現有的python的testsuite結合進程,線程模型,還有QT輕松就組裝出一個測試模塊。
5. Python可以做自動化測試嗎
python 可以做自動化測試。
但是需要安裝selenium模塊。
6. Python 和java 哪個更適合做自動化測試
從工作好不好找的角度來看:
java找工作比python容易。
如果想要找的是特別好的工作:
兩者任意一個掌握到比較精的程度都可以找到好工作。
如果不局限於測試,想轉開發:
java程序員數量大。
如果想轉devops:
搞devops的人現在python用得多。
哪個語言更適合主攻學習:
我個人覺得是你現在單位在用的語言最值得去學。我之前單位所有測試組都用python,我也是主要搞自動化測試,所以我主攻python。現在我在一家大多數人用java的單位里搞devops,因為這個角色需要集成各種工具,用python更方便,所以我仍舊是寫python。
最後,這兩個語言最好都懂一點。
學了java和python,可以兩者互相印證,多對比兩者的不同之處。都熟悉了,自然而然會在適合用java時用java,適合用python時用python。一線公司已經有很多對java和python都有要求的崗位了。我個人偏愛python,是因為java我感覺比較難學,很多東西我學的時候靠死記硬背,不理解。後來學了python,再回頭看java,很多以前不理解的地方,也理解了。而且學python同時還可以把很多日常工作自動化掉,於是在工作時間內擠出更多時間來學習。
7. python如何自動化測試
介面自動化 unittest +requests庫
ui自動化 selenium+unittest
8. 使用python做介面自動化測試容易嗎
為什么要做介面自動化測試?
在當前互聯網產品迭代頻繁的背景下,回歸測試的時間越來越少,很難在每個迭代都對所有功能做完整回歸。但介面自動化測試因其實現簡單、維護成本低,容易提高覆蓋率等特點,越來越受重視。
為什么要自己寫框架呢?
使用Postman調試通過過直接可以獲取介面測試的基本代碼,結合使用requets + unittest很容易實現介面自動化測試的封裝,而且requests的api已經非常人性化,非常簡單,但通過封裝以後(特別是針對公司內特定介面),可以進一步提高腳本編寫效率。
一個現有的簡單介面例子
下面使用requests + unittest測試一個查詢介面
介面信息如下
請求信息:
Method:POST
URL:api/match/image/getjson
Request:
{
"category": "image",
"offset": "0",
"limit": "30",
"sourceId": "0",
"metaTitle": "",
"metaId": "0",
"classify": "unclassify",
"startTime": "",
"endTime": "",
"createStart": "",
"createEnd": "",
"sourceType": "",
"isTracking": "true",
"metaGroup": "",
"companyId": "0",
"lastDays": "1",
"author": ""
}
Response示例:
{
"timestamp" : xxx,
"errorMsg" : "",
"data" : {
"config" : xxx
}
Postman測試方法見截圖:
測試思路
1.獲取Postman原始腳本
2.使用requests庫模擬發送HTTP請求**
3.對原始腳本進行基礎改造**
4.使用python標准庫里unittest寫測試case**
原始腳本實現
未優化
該代碼只是簡單的一次調用,而且返回的結果太多,很多返回信息暫時沒用,示例代碼如下
import requests
url = "http://cpright.xinhua-news.cn/api/match/image/getjson"
querystring = {"category":"image","offset":"0","limit":"30","sourceId":"0","metaTitle":"","metaId":"0","classify":"unclassify","startTime":"","endTime":"","createStart":"","createEnd":"","sourceType":"","isTracking":"true","metaGroup":"","companyId":"0","lastDays":"1","author":""}
headers = { 'cache-control': "no-cache", 'postman-token': "e97a99b0-424b-b2a5-7602-22cd50223c15"
}
response = requests.request("POST", url, headers=headers, params=querystring)
print(response.text)
優化 第一版
調整代碼結構,輸出結果Json出來,獲取需要驗證的response.status_code,以及獲取結果校驗需要用到的results['total']
#!/usr/bin/env python#coding: utf-8'''
unittest merchant backgroud interface
@author: zhang_jin
@version: 1.0
@see:http://www.python-requests.org/en/master/
'''import unittestimport jsonimport tracebackimport requests
url = "http://cpright.xinhua-news.cn/api/match/image/getjson"
querystring = { "category": "image", "offset": "0", "limit": "30", "sourceId": "0", "metaTitle": "", "metaId": "0", "classify": "unclassify", "startTime": "", "endTime": "", "createStart": "", "createEnd": "", "sourceType": "", "isTracking": "true", "metaGroup": "", "companyId": "0", "lastDays": "1", "author": ""
}
headers = { 'cache-control': "no-cache", 'postman-token': "e97a99b0-424b-b2a5-7602-22cd50223c15"
}#Post介面調用
response = requests.request("POST", url, headers=headers, params=querystring)#對返回結果進行轉義成json串
results = json.loads(response.text)#獲取http請求的status_codeprint "Http code:",response.status_code#獲取結果中的total的值print results['total']#print(response.text)
優化 第二版
介面調用異常處理,增加try,except處理,對於返回response.status_code,返回200進行結果比對,不是200數據異常信息。
#!/usr/bin/env python#coding: utf-8'''
unittest merchant backgroud interface
@author: zhang_jin
@version: 1.0
@see:http://www.python-requests.org/en/master/
'''import jsonimport tracebackimport requests
url = "http://cpright.xinhua-news.cn/api/match/image/getjson"
querystring = { "category": "image", "offset": "0", "limit": "30", "sourceId": "0", "metaTitle": "", "metaId": "0", "classify": "unclassify", "startTime": "", "endTime": "", "createStart": "", "createEnd": "", "sourceType": "", "isTracking": "true", "metaGroup": "", "companyId": "0", "lastDays": "1", "author": ""
}
headers = { 'cache-control': "no-cache", 'postman-token': "e97a99b0-424b-b2a5-7602-22cd50223c15"
}try: #Post介面調用
response = requests.request("POST", url, headers=headers, params=querystring) #對http返回值進行判斷,對於200做基本校驗 if response.status_code == 200:
results = json.loads(response.text) if results['total'] == 191: print "Success" else: print "Fail" print results['total'] else: #對於http返回非200的code,輸出相應的code raise Exception("http error info:%s" %response.status_code)except:
traceback.print_exc()
9. 如何用python做自動化測試
當然可以
1、編寫Python版本的minicom,這個是自動化測試日誌記錄的需要
用於控制串口輸出的字元顏色,高亮顯示出錯信息,方便開發者在線調試問題
2、控製程式控制電源、程式控制開關,這些可以自動化測試的硬體基礎
3、寫整套測試框架,控制整個測試交互流程,Case管理等等
Python運行起來效率沒那麼高,但是對於編寫來說是非常高效的。
10. python能夠做軟體的自動化測試嗎
可以,Python是可以做自動化測試的。
目前,Python自動化測試開始逐漸替代傳統的軟體測試,吸取了功能、性能、介面、自動化等專項測試領域的優勢,以後將在多個領域漸漸成為國內大部分質量控制、質量管理的首選,而且已經有很多公司使用Python自動化測試框架。