appium中執行用例只啟動一次app

2021-09-10 07:33:36 字數 1584 閱讀 6344

一、說明:

setup是在每個test方法執行前執行,有多少個test方法,就執行多少次,setupclass方法是在所有test方法執行前執行,只執行一次。

二、問題描述:前幾天在網上查了,看到selenium中別人給解決方案是引用前乙個.py檔案中的driver。我這裡沒有這樣做,試了兩種方案,詳見後文。

三、解決方案:

方法一:將driver初始化寫在全域性變數中,所有的測試.py檔案都引用這個全域性變數。

如下, driverutil.py中

)# 初始化driver

在測試的.py中,匯入driver這個全域性變數

from common.driverutil import driver

class

settest

(unittest.testcase)

:'''設定'''

@classmethod

defsetupclass

(cls)

: logging.info(

'*****===setupclass*****=='

) cls.driver = driver # 全域性變數

cls.set_view = setview(cls.driver)

方法二:單例模式如下,在driverutil.py中:

class

driverutil

(object):

'''driver工具類'''

__instance =

none

# 定義乙個類屬性

__instance_lock = threading.lock(

)# 加鎖

@classmethod

defget_driver

(cls)

:'''獲取driver'''

with driverutil.__instance_lock:

ifnot driverutil.__instance:

)return driverutil.__instance

class

settest

(unittest.testcase)

:'''設定'''

@classmethod

defsetupclass

(cls)

: logging.info(

'*****===setupclass*****=='

) cls.driver = driverutil(

).get_driver(

)# 單例

cls.set_view = setview(cls.driver)

關於Appium執行用例過程中問題處理辦法

1.執行環境 1.1 windows10 64位系統 1.2 華為榮耀v10 android 9 2.2.1手機開發者模式中usb除錯,關閉adb安裝 2.2修改檔案1 注釋中這一行 2.3修改檔案2 注釋中那一行 3.1呼叫aapt.exe 程式路徑 d androidsdk build tool...

Quartz中Job只執行一次

quartz中job只執行一次 參考 url 目的是讓前台使用者不等待執行完,悄悄地在後台執行 下面是1秒鐘後立即執行,並且只執行一次。trigger trigger triggerbuilder.newtrigger withidentity trigger3 group1 startat new...

單例模式 只執行一次初始化

new 方法是構建物件的方法,init 方法是初始化物件的方法。概念 確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項,這個類稱為單例類,單例模式是一種物件建立型模式。目的 單個程序中只存在乙個類的例項,從而實現資料共享,節省系統開銷,防止io阻塞 方法1 使用模組建立單例 檔案ca...