當前位置:首頁 » 編程軟體 » python手機自動化腳本

python手機自動化腳本

發布時間: 2023-12-12 02:51:12

1. 如何用手機編程python

1.QPython3:這是一個在安卓手機上運行python3的腳本引擎,整合了python3解釋器、控制台、QEdit編輯器和SLA4庫,可以在安卓手機嘩虛上運行python開發的程序,下面亂侍燃我簡單介紹一下這個軟體的...
2.Termux:這是一個功能強大的高級終端,可以運行shell命令(ssh等),在線安裝python後,也可以編輯運行python代碼,下面我簡單介紹一下這個軟體: 安裝Termux,這個與談鄭上面的QPython...

2. 手機編譯器如何運行pyautogui

PyAutoGUI是一個基於Python的跨平台GUI自動化工具,可以模擬用戶在屏幕上的滑鼠和鍵盤操作。如果您想在手機上使用PyAutoGUI,需要在手機上安裝一個Python解清困釋器以及相關的依賴庫。
目前,有一些手機端的Python解釋器,例如Python3forAndroid和QPython3等,可以在手機上運行Python腳本。安裝這些解釋器後,您可以猛梁通過終端或編輯器執行PyAutoGUI的相關代碼,來模擬滑鼠和鍵盤操枝正運作。
另外,需要注意的是,手機的屏幕尺寸和解析度與桌面端存在較大差異,因此在使用PyAutoGUI時,需要根據具體的手機屏幕尺寸和解析度進行適配。同時,由於手機資源和性能有限,建議在使用PyAutoGUI時控制好程序的運行時間和頻率,以避免對手機性能和電池壽命造成過大的影響。

3. 如何使用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()

4. 如何用手機編程Python

手機下載APP
手機分為智能手機(Smart phone) [2] 和非智能手機(Feature phone),一般智能手機的性能比非智能手機要好,但是非智能手機比智能手機性能穩定,大多數非智能手機和智能手機使用英國ARM公司架構的CPU。智能手機的主頻較高,運行速度快,處理程序任務更快速,日常更加的方便(例如:諾基亞n81主頻有369兆赫茲);而非智能手機的主頻則比較低,運行速度也比較慢(例如:諾基亞5000主頻就是50兆赫茲)。
智能手機(Smart phone),是指像個人計算機一樣,具有獨立的操作系統,大多數是大屏機,而且是電容式觸摸屏,也有部分是電阻式觸摸屏,功能強大實用性高。可以由用戶自行安裝包括游戲等第三方服務商提供的程序,通過此類程序來不斷對手機的功能進行擴充,並可以通過移動通訊網路來實現無線網路接入的這樣一類手機的總稱」。從廣義上說,智能手機除了具備手機的通話功能外,還具備了PDA的大部分功能,特別是個人信息管理以及基於無線數據通信的瀏覽器和電子郵件功能。智能手機為用戶提供了足夠的屏幕尺寸和帶寬,既方便隨身攜帶,又為軟體運行和內容服務提供了廣闊的舞台。很多增值業務可以就此展開,如:股票、新聞、天氣、交通、商品、應用程序下載、音樂圖片,游戲下載等等
手機類型顧名思義就是指手機的外在類型,比較常用的分類是把手機分為直板式、折疊式(單屏、雙屏)、滑蓋式、旋轉式、側滑式等幾類。
要翻開蓋才可見到主顯示器或按鍵,且只有一個屏幕,則這種手機被稱為單屏翻蓋手機。市場上還推出了雙屏翻蓋手機,即在翻蓋上有另一個副顯示屏,這個屏幕通常不大,一般能顯示時間、信號、電池、來電號碼等功能。屏幕比較小,一般在2.2英寸或1.8英寸,處理器較慢。

5. 如何用手機編程Python

1.QPython3:這是一個在安卓手機上運行python3的腳本引擎,整合了python3解釋器、控制台、QEdit編輯器和SLA4庫,可以在安卓手機上運行python開發的程序,下面我簡單介紹一下這個軟體的安裝及使用:

  • 下載安裝QPython3,這個可以直接在手機應用商店中搜索,如下,大概也就12兆左右:

  • 安裝完成後,打開這個軟體,主界面如下,分為6部分:終端、編輯器、程序、QPYPI、課程和社區:

6. 手機上的Python怎麼運行操作,代碼在電腦上運行的出手機卻不行

如何讓自己在電腦上寫的python腳本在手機或android系統上運行

可以安裝一個Python模擬器,比如QPython。

安裝完這個apk,就可以在Android上運行Python腳本了。

關於QPython3L,網上搜索使用說明:

QPython - 使用說明

A. 面板

圖 - QPython 社區

你可以在社區中遇到其他 QPython 用戶,你可以問問題,參與話題討論,向開發者提交 BUG / 建議等等。

此外,我們將會積極地推動 QPython 最終完全開源, 因此也歡迎熱心的用戶加入我們,我們迫切地需要你們在下列領域幫助我們:

  • 語言國際化

  • 幫助我們進行測試並且提交測試反饋

  • 反饋問題、提交良好的建議

  • 建立本地社區,發起本地技術講座,共同學習

  • 其他

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

    目前大家對Python都有一個共識,就是他對測試非常有用,自動化測試里Python用途也很廣,但是Python到底怎麼進行自動化測試呢?今天就簡單的向大家介紹一下怎麼使用Python進行自動化測試,本文只是自己的一點點分享,若有錯誤,請大家多多批評指正。這里主要介紹的是一些Python測試的框架
    1、單元測試
    a、unittest :Python自帶的單元測試框架
    b、pyunit:Junit的Python版本

    2、使用Pyhon進行Windows GUI測試
    這部分的功能主要就是和大家平時使用的QTP類似。在Windows下我們可以使用pywinauto這個開源的框架:
    來個小例子:
    app.Notepad.MenuSelect("Help->About Notepad")
    app.AboutNotepad.OK.Click()
    app.Notepad.Edit.TypeKeys ("pywinauto Works!", with_spaces = True)
    呵呵,強大吧

    3、使用Python進行Web自動化測試
    使用Python進行Web自動化測試的工具有很多,這里就向大家推薦一下我比較熟悉的Selenium(Web Driver)吧。

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

    一、首先說說手機自動化測試的原理 1、手機自動化測試的原理為PC上一個控制端(測試工具)與手機上的一個agent端,通過串口、USB或者無線方式將PC與手機終端相連,然後應用測試工具向手機發送請求或者命令,手機收到命令或者請求後,交給agent端解析,然後agent將這些解析的命令下發給手機的各個功能模塊所能識別的命令,調用那些功能模塊模擬操作。完成這些操作後,手機會返回一些信息,agent可以抓取這些信息,然後傳回給PC端,這樣就完成了一個完整的手機自動化測試。 2、關鍵點在於agent,有的公司是向自己的手機終端的軟體功能模塊中植入測試程序響應代碼,有的公司可以利用MMI_Command的方式來控制手機終端;原理就是給手機提供一個響應的介面。 3、而對於PC控制端,這個測試腳本用各種編程語言都可以,看如何定義 4、而又的自動化測試設計成錄制的機制,說通俗點,就是記錄手工操作的鍵盤信息或者LCD的操作信息(LCD需要用到智能識別機制) 5、自動化測試框架的搭建方法是通用的,你需要有一套自己的測試框架才能保證自動化測試的順利開展。 二、Android自動化測試方向: 1、CTS,CTS 測試基於Android instrumentation 測試, 其又基於JUnit 測試。說白了, CTS 就是一堆單元測試用例。這也是Java 語言的擅長部分。 2、 Monkey工具,Monkey是Android中的一個命令行工具,可以運行在模擬器里或實際設備中。它向系統發送偽隨機的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對正在開發的應用程序進行壓力測試。Monkey測試是一種為了測試軟體的穩定性、健壯性的快速有效的方法。 3、ASE,ASE 意思為Android 腳本環境, 即我們可以通過腳本(比如Python)調用Android 的功能,從而定製一些測試。比如打電話,發簡訊,瀏覽網頁,等。我們可以擴充它的API(Java 部分), 並用python 腳本調用這些API, 從而實現豐富的測試功能。用於API 部分可以訪問到Android 全部API, python 又能靈活部署測試,所以ASE 的擴展性非常好。 4、Robotium,該工具用於黑盒的自動化測試。可以在有源碼或者只有APK 的情況下對目標應用 進行測試。Robotimu 提供了模仿用戶操作行為的API,比如在某個控制項上點擊,輸入Text 等等。(推舉你可以研究一下這個工具,開源的,我有資料) 5、可以自己開發一個手機方面的自動化測試工具,原理上一樣的 如果你想要什麼資料的話或者想一起學習研究的話,可以給我發郵件:[email protected]

    熱點內容
    數列的c語言編程 發布:2024-11-17 10:33:50 瀏覽:135
    伺服器換ip多久生效 發布:2024-11-17 10:33:49 瀏覽:386
    ipad導出緩存b站視頻 發布:2024-11-17 10:29:33 瀏覽:355
    mc手機版伺服器搭建 發布:2024-11-17 10:23:38 瀏覽:54
    豐田普拉vxl什麼配置 發布:2024-11-17 10:23:37 瀏覽:79
    clindexphp 發布:2024-11-17 10:22:12 瀏覽:47
    在線編輯器php 發布:2024-11-17 10:04:44 瀏覽:256
    神經網路演算法C 發布:2024-11-17 10:02:25 瀏覽:207
    我的世界如何開伺服器飛天 發布:2024-11-17 09:58:34 瀏覽:638
    全志源碼包 發布:2024-11-17 09:56:18 瀏覽:374