python測試腳本
① 如何用python做自動化測試
當然可以
1、編寫Python版本的minicom,這個是自動化測試日誌記錄的需要
用於控制串口輸出的字元顏色,高亮顯示出錯信息,方便開發者在線調試問題
2、控製程式控制電源、程式控制開關,這些可以自動化測試的硬體基礎
3、寫整套測試框架,控制整個測試交互流程,Case管理等等
Python運行起來效率沒那麼高,但是對於編寫來說是非常高效的。
② Python做軟體自動化測試的入門提問
同在軟體測試崗位。由於同樣初學python,所以沒有太多的實踐經驗。
使用python的單元測試框架,可以建立測試類,構造測試集。
測試類中包含了common的測試方法定義,包括測試開始前建立測試環境的setUp方法和測試完成後清理還原環境的tearDown方法,最好按照約定規則(以test開頭)來命名所有的測試方法。
測試集允許你根據測試策略組合不同的測試用例並實施。
下面兩篇文章推薦看看:
http://www.ibm.com/developerworks/cn/linux/l-pyunit/
http://www.cnblogs.com/coderzh/archive/2010/08/23/custom-python-unittestoutput-as-gtest.html
有一個問題我還沒找到答案,就是如何讓單元測試框架的log輸出到文件(默認輸出到控制台)。
③ python如何自動化測試
介面自動化 unittest +requests庫
ui自動化 selenium+unittest
④ 初學Python,想做手機自動化測試腳本,想了解幾個問題
1、手機自動化測試Python能獨立完成嗎?可以。
2、想要學的話,看哪本教程會好些?首先學習自動化測試,然後學習python,然後結合實例學習。可以參考http://wenku..com/view/fd8b690b581b6bd97f19ea61.html
3、主要要學習的模塊內容或者方向是哪些?
Python的世界有一個開源框架Splinter,可以非常棒的模擬瀏覽器的行為(從某種意義上也可以說是人的訪問點擊行為)。Splinter提供了豐富的API,可以獲取頁面的信息,以判斷當前的行為所產生的結果
4、還有懂這行補充給我的,我另加分。。多項
多學習測試的各方面知識,python只是工具。測試的理論知識很重要。
⑤ 怎麼用python做自動化測試
用python做自動化測試,主要是介面測試和UI自動化測試。 自動化測試還要學習的有很多,selinum、webdriver、monkey、APP測試等等這些都要學習的,建議你去魯德,課程多樣化,學習比較扎實,自動化測試是主打課程
⑥ 請教用python做測試腳本和測試報告是否合適
obj: 要持久化保存的對象;
file: 一個擁有 write() 方法的對象,並且這個 write() 方法能接收一個字元串作為參數。這個對象可以是一個以寫模式打開的文件對象或者一個 StringIO 對象,或者其他自定義的滿足條件的對象。
protocol: 這是一個可選的參數,默認為 0 ,如果設置為 1 或 True,則以高壓縮的二進制格式保存持久化後的對象,否則以ASCII格式保存。
⑦ 如何使用python編寫測試腳本
1)doctest
使用doctest是一種類似於命令行嘗試的方式,用法很簡單,如下
復制代碼代碼如下:
def f(n):
"""
>>> f(1)
1
>>> f(2)
2
"""
print(n)
if __name__ == '__main__':
import doctest
doctest.testmod()
應該來說是足夠簡單了,另外還有一種方式doctest.testfile(filename),就是把命令行的方式放在文件里進行測試。
2)unittest
unittest歷史悠久,最早可以追溯到上世紀七八十年代了,C++,Java里也都有類似的實現,Python里的實現很簡單。
unittest在python里主要的實現方式是TestCase,TestSuite。用法還是例子起步。
復制代碼代碼如下:
from widget import Widget
import unittest
# 執行測試的類
class WidgetTestCase(unittest.TestCase):
def setUp(self):
self.widget = Widget()
def tearDown(self):
self.widget.dispose()
self.widget = None
def testSize(self):
self.assertEqual(self.widget.getSize(), (40, 40))
def testResize(self):
self.widget.resize(100, 100)
self.assertEqual(self.widget.getSize(), (100, 100))
# 測試
if __name__ == "__main__":
# 構造測試集
suite = unittest.TestSuite()
suite.addTest(WidgetTestCase("testSize"))
suite.addTest(WidgetTestCase("testResize"))
# 執行測試
runner = unittest.TextTestRunner()
runner.run(suite)
簡單的說,1>構造TestCase(測試用例),其中的setup和teardown負責預處理和善後工作。2>構造測試集,添加用例3>執行測試需要說明的是測試方法,在Python中有N多測試函數,主要的有:
TestCase.assert_(expr[, msg])
TestCase.failUnless(expr[, msg])
TestCase.assertTrue(expr[, msg])
TestCase.assertEqual(first, second[, msg])
TestCase.failUnlessEqual(first, second[, msg])
TestCase.assertNotEqual(first, second[, msg])
TestCase.failIfEqual(first, second[, msg])
TestCase.assertAlmostEqual(first, second[, places[, msg]])
TestCase.failUnlessAlmostEqual(first, second[, places[, msg]])
TestCase.assertNotAlmostEqual(first, second[, places[, msg]])
TestCase.failIfAlmostEqual(first, second[, places[, msg]])
TestCase.assertRaises(exception, callable, ...)
TestCase.failUnlessRaises(exception, callable, ...)
TestCase.failIf(expr[, msg])
TestCase.assertFalse(expr[, msg])
TestCase.fail([msg])
⑧ 測試新人如何使用Python代碼封裝自動化測試的用例
如何使用Python和實現自動化測試?
本文我將詳細介紹使用Appium下的Python編寫的測試的例子代碼對一個iOS的樣例應用進行測試所涉及的各個步驟,而對Android應用進行測試所需的步驟與此非常類似。
然後按照安裝指南,在你的機器上安裝好Appium。
我還需要安裝Appium的所有依賴並對樣例apps進行編譯。在Appium的工作目錄下運行下列命令即可完成此任務:
$ ./reset.sh --ios
編譯完成後,就可以運行下面的命令啟動Appium了:
$ grunt appium
現在,Appium已經運行起來了,然後就切換當前目錄到sample-code/examples/python。接著使用pip命令安裝所有依賴庫(如果不是在虛擬環境virtualenv之下,你就需要使用sudo命令):
$ pip install -r requirements.txt
接下來運行樣例測試:
$ nosetests simple.py
既然安裝完所需軟體並運行了測試代碼,大致了解了Appium的工作過程,現在讓我們進一步詳細看看剛才運行的樣例測試代碼。該測試先是啟動了樣例應用,然後在幾個輸入框中填寫了一些內容,最後對運行結果和所期望的結果進行了比對。首先,我們創建了測試類及其setUp方法:
classTestSequenceFunctions(unittest.TestCase):
defsetUp(self):
app=os.path.join(os.path.dirname(__file__),
'../../apps/TestApp/build/Release-iphonesimulator',
'TestApp.app')
app=os.path.abspath(app)
self.driver=webdriver.Remote(
command_executor='127.0.0.1:4723/wd/hub',
desired_capabilities={
'browserName':'iOS',
'platform':'Mac',
'version':'6.0',
'app': app
})
self._values=[]
「desired_capabilities」參數用來指定運行平台(iOS 6.0)以及我們想測試的應用。接下來我們還添加了一個tearDown方法,在每個測試完成後發送了退出命令:
deftearDown(self):
self.driver.quit()
最後,我們定義了用於填寫form的輔助方法和主測試方法:
def_populate(self):
# populate text fields with two random number
elems=self.driver.find_elements_by_tag_name('textField')
foreleminelems:
rndNum=randint(0,10)
elem.send_keys(rndNum)
self._values.append(rndNum)
deftest_ui_computation(self):
# populate text fields with values
self._populate()
# trigger computation by using the button
buttons=self.driver.find_elements_by_tag_name("button")
buttons[0].click()
# is sum equal ?
texts=self.driver.find_elements_by_tag_name("staticText")
self.assertEqual(int(texts[0].text),self._values[0]+self._values[1])
本文介紹到此,相信很多朋友都已經明白了。但是如果你對Nose和Python來運行Appium測試有任何問題或看法,可以給我留言,我們可以繼續交流。
⑨ 支持python編寫腳本的自動化測試工具
python的單測nose框架,還有各互聯網公司都有自己開發的python框架,我這里了解一些,名字就不在這里發了哈!你還是針對自己的需要搞一個把
⑩ python寫的selenium測試腳本,run.py文件引測試腳本怎麼批量引入
獲取以test開頭,以.py結尾的測試用例create_suite
生產測試報告eport_design
#coding=utf-8
fromemail.headerimportHeader
fromemail.mime.textimportMIMEText
importsmtplib
importunittest
importtime
importsys
#reload(sys)
#sys.setdefaultencoding('utf-8')
defcreate_suite():
#1.獲取框架中腳本的位置
script_dir="..Script\add"
#2.獲取要運行的腳本--discover
discv=unittest.defaultTestLoader.discover(script_dir,pattern="test_add_*.py")
#3.講獲取的腳本加入到測試集合
#創建一個測試集合
suite=unittest.TestSuite()
#循環遍歷discv列表中腳本的名字,並加入到suite中
forcaseindiscv:
#printcase
suite.addTest(case)
#講測試集返回
returnsuite
defreport_design():
globalfilename,runner,file1
now=time.strftime("%Y-%m-%d%H-%M-%S")
filename=".\Ggpt\add\"+now+"result.html"
file1=open(filename,'wb+')#wb+二進制寫入方式
#stream報告文件title標題description
runner=HTMLTestRunner(stream=file1,title="selenium_test_report",description="用例執行情況")