導航:首頁 > 編程語言 > python編寫自動化測試腳本

python編寫自動化測試腳本

發布時間:2022-12-30 18:19:33

① 初學python,想做手機自動化測試腳本,想了解幾個問題

1、手機自動化測試Python能獨立完成嗎?可以。
2、想要學的話,看哪本教程會好些?首先學習自動化測試,然後學習python,然後結合實例學習。可以參考http://wenku..com/view/fd8b690b581b6bd97f19ea61.html
3、主要要學習的模塊內容或者方向是哪些?
Python的世界有一個開源框架Splinter,可以非常棒的模擬瀏覽器的行為(從某種意義上也可以說是人的訪問點擊行為)。Splinter提供了豐富的API,可以獲取頁面的信息,以判斷當前的行為所產生的結果

4、還有懂這行補充給我的,我另加分。。多項
多學習測試的各方面知識,python只是工具。測試的理論知識很重要。

② python自動化腳本怎麼編寫

首先你需要在北鯤雲超算上申請python這款軟體,然後選擇配置後就可以直接開始作業了,運行軟體後就可以開始搭建腳本界面,編寫腳本代碼,用超算跑作業很方便,直接線上就可以使用,不需要下載到本地,而且計算效率非常的高。

③ Python實現性能自動化測試竟然如此簡單

一、思考❓❔

1.什麼是性能自動化測試?

2.Python中的性能自動化測試庫?

locust庫

二、基礎操作

1.安裝locust

安裝成功之後,在cmd控制台將會新增一條命令,可輸入如下命令查看:

2.基本用法

三、綜合案例演練

1.編寫自動化測試腳本

2.使用命令行運行

3.打開web ui界面進行配置

設置並發用戶數為10,每5秒創建一個用戶

壓測過程截圖

美輪美奐的壓測報告

壓測失敗詳情

下載壓測統計數據

下載的壓測統計數據csv文件

六、總結

出處:https://www.cnblogs.com/keyou1/

④ 學完Python可以應用到工作的哪些應用中

從工作上應用於:Python開發、Python爬蟲、大數據;
從生活上,爬蟲為我們增添了很多生活樂趣、便利了日常,比如說數據分析、簡單地幾行代碼可以處理上千條Excel數據等等。
Python開發
自動化測試、自動化運維、WEB開發(網站開發)、人工智慧都屬於Python開發。
自動化測試——用Python編寫簡單的實現腳本,運用在Selenium/lr中,實現自動化。
自動化運維——Python對於伺服器運維很重要。
目前幾乎所有linux發行版中都自帶了Python解釋器,以使用Python腳本進行批量化的文件部署,和運行調整~
而且Python提供了全方位的工具集合,結合Web,開發方便運維的工具會變得十分簡單。
WEB開發——Python最火的WEB開發框架Django在業界非常流行,其中的設計哲學也常用於其它程序語言設計的框架~
如果是網站後端,使用它單間網站,後台服務比較容易維護。如我們常看到的:Gmail、知乎、豆瓣等~
人工智慧更是現在非常火的方向,現在釋放出來的幾個非常有影響力的AI框架,大多是Python的實現的。
Python爬蟲
在當前信息大爆炸時代,大量的信息都通過Web來展示,為了獲取這些數據,網路爬蟲工程師就應運而生。
不過這可不止我們日常的抓取數據和解析數據那些簡單,還能夠突破普通網站常見的反爬蟲機制,以及更深層次的爬蟲採集演算法的編寫。
大家也可以去網上搜索別人通過爬蟲做了什麼有趣的事情:
「用Python寫的第一個程序,是爬取糗事網路上的圖片、自動下載到本地、自動分成文件夾保存,當時就覺得,卧糟,太NB了~」
「智聯招聘爬蟲,支持輸入查詢的職位關鍵詞+城市。並將爬取到的數據分別用Exce和Python(matplotlib)做了數據分析及可視化……」
「嘗試爬取京東熱賣、淘寶淘搶購(還是聚劃算)的商品信息,沒想到還挺簡單的,主要是沒做什麼防爬蟲措施……」
Python大數據
數據是一個公司的核心資產,從雜亂無章的數據中提取有價值的信息或者規律,成為了數據分析師的首要任務。
Python的工具鏈為這項繁重的工作提供了極高的效率支持,數據分析建立在爬蟲的基礎上,我們便捷地爬下海量數據,才能進行分析。

⑤ 如何使用python做android的自動化測試

開始第一個簡單的Android UI自動化測試
1.使用adb命令連接真機或模擬器
2.打開uiautomatorviewer工具
3.使用uiautomatorviewer工具獲取應用的元素進行定位
4.簡單介紹unittest框架的使用方法
5.使用Python編寫貓寧考勤應用注冊模塊的自動化測試
1.使用adb命令連接真機或模擬器:
手機USB連接電腦,進入開發者模式;
cmd命令:adb devices ,查看手機是否連接
這里寫圖片描述
顯示錯誤
這是因為adb的埠被佔用,我們需要查看是什麼應用佔用了這個埠(5037為adb默認埠)
cmd命令 : netstat -aon|findstr 「5037」
這里寫圖片描述
可以看到佔用5037埠對應的程序的PID號為8388;
cmd命令 : tasklist|findstr 「8388」
這里寫圖片描述
可以看出8388對應的程序為kadb.exe,說明該程序正在使用5037埠;
這時我們需要在任務管理器中結束kadb.exe進程,按快捷鍵「Ctrl+Shift+Esc」調出Windows任務管理器,找到「kadb.exe」,單擊下方的結束進程即可!
這里寫圖片描述
我們再次運行cmd命令:adb devices
這里寫圖片描述
這一步成功後我們才能運行sdk自帶的uiautomatorviewer;
我們需要用uiautomatorviewer工具來獲取元素,用於定位。
cmd命令:uiautomatorviewer,打開uiautomatorviewer界面
這里寫圖片描述
或者找到sdk目錄:sdk\tools中找到uiautomatorviewer.bat文件雙擊運行
這里寫圖片描述
2.打開uiautomatorviewer工具
這里寫圖片描述
我們可以根據text,resource-id,class等元素進行定位
3.使用uiautomatorviewer工具獲取應用的元素進行定位
這里我使用python自帶的IDLE進行編寫測試腳本,打開python文件找到IDLE(python GUI)雙擊打開,如圖:
這里寫圖片描述
4.簡單介紹unittest框架的使用方法
# -*- coding:utf-8 -*-
from uiautomator import device as d
import unittest
class Mytest(unittest.TestCase):
#初始化工作
def setUp(self):
print "--------------初始化工作"
#退出清理工作
def tearDown(self):
print "--------------退出清理工作"
#測試點擊貓寧考勤case
def test_login(self):
d(text="貓寧考勤").click()
print "--------------測試1"
#測試2
def test_z(self):
print "--------------測試2" #這里你可以寫你的第二個測試用例,
#測試3
def test_w(self):
print "--------------測試3" #這里你可以寫你的第三個測試用例。。。。。。。。。。。。。
if __name__ == '__main__':
unittest.main()
結果如下:
Testing started at 21:14 …
————–初始化工作
————–測試1
————–退出清理工作
————–初始化工作
————–測試3
————–退出清理工作
————–初始化工作
————–測試2
————–退出清理工作
Process finished with exit code 0
從結果中我們可以看出unittest框架的運行方式為:
setUp 測試1 tearDown
setUp 測試2 tearDown
setUp 測試3 tearDown
5.使用Python編寫貓寧考勤應用注冊模塊的自動化測試
# -*- coding:utf-8 -*-
from uiautomator import device as d
import time
import unittest
class MyTestSuite(unittest.TestCase):
# 初始化工作
def setUp(self):
print "--------------初始化工作"
# 退出清理工作
def tearDown(self):
print "--------------退出清理工作"
#***************************方法**************************************
# 判斷控制項是否存在 & text
def check_controls_exists(self, controls_text):
if d(text=controls_text).exists:
return 1
else:
return 0
# 判斷按鈕是否置灰 & text & clickable
def check_controls_click_text(self, controls_text):
if d(text=controls_text).info.get("clickable") is True:
return 1
else:
return 0
#assertIn(a, b) a in b
def check_ainb(self,resourceid,b):
if d(resourceId=resourceid).info.get("text") in b:
return 1
else:
return 0
#***********************************************************
# 注冊模塊
def test_Aregister(self):
try:
time.sleep(2)
#貓寧考勤開啟全新時代
self.assertEqual(self.check_controls_click_text("注冊"),1,u"貓寧考勤開啟全新時代")
# 貓寧考勤開啟全新時代--》點擊注冊按鈕進入注冊貓寧界面
d(text="注冊").click()
time.sleep(3)
#注冊貓寧界面
self.assertEqual(self.check_text("com.isentech.attendancet:id/regis_phone","請輸入手機號碼"),
1,u"注冊頁面-》請輸入手機號碼")
self.assertEqual(self.check_text("com.isentech.attendancet:id/regis_verifycode","請輸入驗證碼"),
1,u"注冊頁面-》請輸入驗證碼")
self.assertEqual(self.check_controls_click_text("獲取驗證碼"), 0,u"注冊頁面-》獲取驗證碼")
self.assertEqual(self.check_controls_click_text("《中科愛訊服務協議》"), 1,u"注冊頁面-》《中科愛訊服務協議》")
self.assertEqual(self.check_controls_click_text("注冊"), 0,u"注冊頁面-》注冊")
time.sleep(2)
#《中科愛訊服務協議》
d(text="《中科愛訊服務協議》").click()
time.sleep(2)
self.assertEqual(self.check_ainb("com.isentech.attendancet:id/title","服務協議"), 1,u"注冊頁面-》服務協議")
time.sleep(1)
d(resourceId="com.isentech.attendancet:id/title_back").click()
time.sleep(1)
#手機號不輸入是否能注冊
d(text="注冊").click()
time.sleep(3)
# 手機號只輸入1個數字是否能注冊&只輸入1個數字是否能獲取驗證碼
d(resourceId="com.isentech.attendancet:id/regis_phone").set_text("1")
self.assertEqual(self.check_controls_click_text("獲取驗證碼"), 0)
time.sleep(1)
d(text="注冊").click()
time.sleep(1)
d(resourceId="com.isentech.attendancet:id/regis_phone").clear_text()
time.sleep(1)
#只輸入5個數字是否能獲取驗證碼
d(resourceId="com.isentech.attendancet:id/regis_phone").set_text("11111")
self.assertEqual(self.check_controls_click_text("獲取驗證碼"), 0)
time.sleep(1)
d(resourceId="com.isentech.attendancet:id/regis_phone").clear_text()
time.sleep(1)
#只輸入手機號是否能注冊
d(resourceId="com.isentech.attendancet:id/regis_phone").set_text(phone_number)
self.assertEqual(self.check_controls_click_text("注冊"), 0)
time.sleep(1)
d(text="注冊").click()
time.sleep(1)
#輸入正確的驗證碼&獲取驗證碼是否高亮
d(resourceId="com.isentech.attendancet:id/regis_verifycode").set_text("5648")
time.sleep(1)
self.assertEqual(self.check_controls_click_text("獲取驗證碼"), 1)
time.sleep(2)
#密碼只輸入1個數字是否能注冊&注冊按鈕是否高亮
d(resourceId="com.isentech.attendancet:id/regis_pass").set_text("1")
d(resourceId="com.isentech.attendancet:id/regis_passAgain").set_text("1")
time.sleep(1)
self.assertEqual(self.check_controls_click_text("注冊"), 0,u"密碼只輸入1個數字是否能注冊")
time.sleep(1)
d(resourceId="com.isentech.attendancet:id/regis_pass").clear_text()
d(resourceId="com.isentech.attendancet:id/regis_passAgain").clear_text()
time.sleep(1)
#輸入不相同的密碼是否能注冊
d(resourceId="com.isentech.attendancet:id/regis_pass").set_text("123456")
d(resourceId="com.isentech.attendancet:id/regis_passAgain").set_text("12345")
time.sleep(1)
self.assertEqual(self.check_controls_click_text("注冊"), 0,u"輸入不相同的密碼是否能注冊")
time.sleep(1)
d(resourceId="com.isentech.attendancet:id/regis_pass").clear_text()
d(resourceId="com.isentech.attendancet:id/regis_passAgain").clear_text()
time.sleep(1)
#輸入正確的密碼是否能注冊&我已同意是否打鉤
d(resourceId="com.isentech.attendancet:id/regis_pass").set_text("123456")
d(resourceId="com.isentech.attendancet:id/regis_passAgain").set_text("123456")
time.sleep(1)
self.assertEqual(self.check_controls_click_resourceId("com.isentech.attendancet:id/regis_agree"), 1)
self.assertEqual(self.check_controls_click_text("注冊"), 1)
time.sleep(2)
d(text="注冊").click()
time.sleep(8)
except Exception, e:
print u"Error: 注冊模塊有問題\n", e
def test_app():
test_unit = unittest.TestSuite()
test_unit.addTest(MyTestSuite("test_Aregister"))
if __name__ == "__main__":
# 測試app
unittest.main()

⑥ 如何搭建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+SeleniumWebdriver+Appium,現在Selenium2.0都有針對移動終端的自動化
Python27\Lib\site-packages\selenium-2.53.5-py2.7.egg\selenium\webdriver\android

⑧ 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編寫自動化測試腳本相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:962
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:144
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:736
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:484
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:381
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163