本文目錄一覽:
- 1、python自動化腳本怎麼編寫?
- 2、如何使用python編寫測試腳本
- 3、如何用python和selenium寫自動化腳本語言
- 4、如何搭建python自動化測試框架
- 5、想用python編寫一個腳本,登錄網頁,在網頁里做一系列操作,應該怎樣實現?
python自動化腳本怎麼編寫?
首先你需要在北鯤雲超算上申請python這款軟件,然後選擇配置後就可以直接開始作業了,運行軟件後就可以開始搭建腳本界面,編寫腳本代碼,用超算跑作業很方便,直接線上就可以使用,不需要下載到本地,而且計算效率非常的高。
如何使用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和selenium寫自動化腳本語言
一開始,基本上很多人都是用selenium IDE錄製腳本開始的,我也是!有一本書寫得很不錯:selenium初學者指南!So,從錄製回放開始我的selenium,而在這個過程中,不斷地去補充我的html css知識,熟悉selenium的api!
慢慢地,發現錄製的腳本在回放的時候經常報錯,通過檢查發現,是定位上的錯誤,導致這種定位的錯誤的最大原因是系統前端採用了某種框架,如tigerUI,exj….所以HTML裡面的標籤很多都是動態的,比如id,class,name!這對selenium操作定位的元素而進行自動化來說是致命傷!
所以,開始自己寫定位信息,這已經是必須的了!從而學習了xpth和css選擇器,掌握了更加有效,快速和穩定地定位頁面上的元素(定位的時候難免會碰到有iframe,這就得先切換到iframe中再進行定位了)!也就是,在selenium IDE上寫腳本!
信心滿滿地在selenium IDE上寫了長長地一段腳本,並且反覆跑都能成功!總算嘗到了一點點幸福的滋味!然後呢,問題來了,當我要修改和擴展這段的腳本的時候,才發現這效率是相當地低!一句句查!一句句改!多麼痛的領悟!
另外,selenium IDE 默認啟動的是火狐,在使用selenium RC 啟動 IE 進行跑腳本時瀏覽器總是會報錯!各種搞不定,各種不淡定!決定放棄使用IDE!
selenium有一個強大之處就是支持多種語方:java,C#,python等等,並且可以把錄製的腳本轉換成代碼!我用的是java,果斷走起!
不用說,當然是把腳本轉為java代碼了,在E clipse中重新開始搞!
選擇一個測試框架:有Junit和TestNg兩個選擇,公司用的是junit,所以,不用多說,我就用junit驗證selenium腳本的運行結果!並且,Junit和TestNG都可以生成比較直觀的測試報告!
寫好一些代碼,會看到整段代碼中密密麻麻充斥着基本相同的代碼:開始封裝代碼!把常用到API封裝起來!封裝好之後代碼看着就舒服多了!
接下來,是不是也應該把代碼中的定位信息用一個專門的文件放起來,再去讀取裡面的定位信息,這樣,維護代碼和維護定位信息就放在了兩個地方,不用老是扎在代碼和定位路徑中,簡單地分一下層!果斷嘗試!
如何搭建python自動化測試框架
1
新建一台Jenkins服務器,安裝並配置好Jenkins
2
配置一個自動化測試腳本的代碼庫,可以使用Git或者SVN等版本控制工具。然後在Jenkins服務器上配置一個Job,負責自動的同步最新代碼到Jenkins服務器上。
3
配置要跑自動化測試的虛擬機VM,推薦乾淨環境下安裝需要跑自動化測試的依賴軟件工具或者配置以及自動化測試工具(不提前安裝配置也行,可以在跑自動化之前用另外的腳本自動安裝配置),配置好之後關機並打一個snapshot鏡像快照,並命名為prebuild或其它。
4
新建一個Jenkins Job,用來跑自動化。配置需要連接並使用的自動化測試虛擬機,配置要構建的自動化測試框架xml腳本文件(後面步驟有說明)和target,以及要歸檔的測試報告,郵件發送等等。
5
接下來的重點就是自動化測試框架的xml腳本文件了,首先裡面定義一個target,負責獲取自動化測試對象的安裝包。
6
接着定義一個target(可選),負責從版本庫上獲取自動化測試腳本同步到Jenkins服務器上(也可以直接使用Jenkins Job本身的插件配置來獲取代碼)。
7
定義一個target,負責連接到虛擬機服務器,並恢復到虛擬機的原始狀態例如prebuild,然後開機
8
定義一個target,負責拷貝項目產品安裝包和自動化測試源代碼到目標虛擬機上。
9
定義一個target,負責連接到目標測試虛擬機,並打開自動化測試工具,然後運行自動化測試腳本
10
定義一個target,負責處理自動化測試報告文件和日誌文件並把它們從自動化測試虛擬機拷貝到Jenkins服務器對應的Job工作空間下。
11
最後定義一個主target,按照上面的target流程依次調用。這個主target就是Jenkins服務器上的自動化測試Job中配置的需要構建的Target。
想用python編寫一個腳本,登錄網頁,在網頁里做一系列操作,應該怎樣實現?
python編寫一個腳本的具體操作:
1、首先,打開python並創建一個新的PY文件。
2、其次,import os,因為涉及系統文件的路徑,因此首先在此處導入系統模塊。
3、隨後,可以雙擊打開HTML文件,然後就可以看到書寫的網頁,如下圖所示。
4、最後,添加html.close(),需添加此行代碼以關閉,否則將佔用大量內存,如下圖所示。這樣,用python簡單的製作一個網頁的所有操作就完成了。完成。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/237505.html