python appium監測APP啟動用時

2021-10-03 23:25:59 字數 2293 閱讀 8119

# -*- coding: utf-8 -*-

# @author : sunyue

'''整體思路:啟動前記錄當前時間,啟動後識別到目標控制項記錄當前時間,兩次時間相減即為啟動時間

'''from datetime import datetime

import time

from selenium.webdriver.support.ui import webdriverwait

class

bv_start

:def

platform

(self, version, package, activity)

: desired_caps=

desired_caps[

'platformname']=

'android'

#平台名稱

desired_caps[

'devicename']=

'aaa'

#裝置名稱

desired_caps[

'platformversion'

]= version #平台版本

desired_caps[

]= package #包名

desired_caps[

]= activity #包入口

desired_caps[

'noreset']=

true

#不重置狀態

#啟動服務/通過4723埠來建立乙個會話

self.driver = driver

time.sleep(3)

#等待3s

defexecute

(self, t, name, check)

:'''

:param t: 表示需要測試的次數,

:param name:測試應用安裝在手機上後在手機上顯示的應用名稱

:param check:識別的控制項,設定需要識別的控制項,識別到就記錄當前時間

'''self.driver.keyevent(3)

total_time =

for i in

range

(t):

webdriverwait(self.driver,60)

.until(

lambda x: x.find_element_by_android_uiautomator(

'new uiselector().text("%s")'

%(name)))

self.driver.find_element_by_android_uiautomator(

'new uiselector().text("%s")'

%(name)

).click(

) start_time = datetime.now(

)#獲取啟動前用時

while

true

:#迴圈的查詢介面上的控制項直到找到需要的停止並記錄時間

str = self.driver.page_source

keyword = check

if keyword in str:

last_time = datetime.now(

)#獲取啟動後用時

break

t = last_time - start_time #得到總用時

rt =

str(t)

.split(

":")

# 通過split函式對總用時進行切割,用來提取秒和毫秒,產生乙個列表rt

a =int(rt[1]

)*60# 提取分鐘

r =float

(rt[2]

)# 提取到秒和毫秒

run_time = a + r

self.driver.keyevent(3)

print

(total_time)

if __name__ ==

"__main__"

: wb = bv_start(

) wb.platform(

'9',,)

wb.execute(5,

'微博'

,'首頁'

)#測試5次求平均值

python Appium環境搭建

第 一 安裝和配置android sdk 關於安裝和配置android sdk的方式,可以檢視下面的鏈結 第 二 安裝node.js 檢查node.js是否正常 node v 安裝過程比較簡單,基本上都是下一步 第 四 安裝python python安裝步驟在此,忽略下面是python的環境變數配置...

python Appium遇到問題

使用引數化來跑test case parameterized.expand manshuo.li tss.com 123456 manshuo.li tsl.com 123455 password incorrect manshuo.i tssl.com 123456 account does no...

python appium基本啟動配置

負責啟動服務端時的引數設定,啟動session的時候是必須提供的。platfromname 平台的名稱,ios android等 platformversion 移動裝置的系統版本號,可在設定 關於手機 android版本進行檢視 devicename 裝置名稱,android 可隨意填寫 ios ...