Appium併發測試Capability配置

2021-09-29 22:26:29 字數 2717 閱讀 9072

以下是啟動多個 android 會話的一些重要引數:

-u裝置 id

--chromedriver-portchromedriver 埠 (若是在使用 webviews 或 chrome)

--selendroid-portselendroid 埠 (若是在使用 selendroid)

node . -p 4492 -bp 2251 -u 32456

node . -p 4491 -bp 2252 -u 43364

如果你使用 chromedriver 或 selendroid,記得確保伺服器的埠號是獨一無二的。

所以capability必須要加上systemport

the important capabilities:

**:

#encoding:utf8

from utils.yamlutil import yamlreader

from conf import conf

#1、通過yaml來讀取caps.yml

reader = yamlreader(conf.conf_caps)

data = reader.data()

#2、結果,字典轉換

#2、desired建立字典

desired_caps=dict()

#3、platformname

desired_caps['platformname'] = data['platformname']

#4、platformversion

desired_caps['platfromversion']=data['platfromversion']

#5、devicename

desired_caps['devicename'] = data['devicename']

#解決中文

desired_caps["unicodekeyboard"] = data['unicodekeyboard']

desired_caps["resetkeyboard"] = data['resetkeyboard']

#獲取toast automationname = uiautomator2

desired_caps["automationname"] = data['automationname']

desired_caps["noreset"] = data["noreset"]

#解決併發測試

#解決中文

unicodekeyboard: true

resetkeyboard: true

noreset: true

#獲取toast automationname = uiautomator2

automationname: 'uiautomator2'

啟動指令碼

import concurrent.futures

import pytest

from base.allure_report import allure_generate

from conf import conf

import os

# 1.方法實現

def run_pytest(device):

report_path = conf.report_path + os.sep + "result"+os.sep+device["name"]

report_html = conf.report_path + os.sep + "html" +os.sep+device["name"]

pytest.main([f"--cmdopt=","--alluredir",report_path])

# time.sleep(2)

allure_generate(report_path, report_html)

# 3.pool併發

def run_pool(devices):

with concurrent.futures.processpoolexecutor(len(devices)) as executor:

executor.map(run_pytest,devices)

if __name__ == '__main__':

# 2.引數列表

devices_list= list()

device_1 =

device_2 =

run_pool(devices_list)

APPIUM 多裝置併發

簡單介紹一下應用場景 專案中 需要併發處理任務,每個裝置對應乙個任務佇列,佇列中有訊息,裝置就開始處理,這樣對於每個裝置處理任務是序列的,裝置之間是並行的。專案中遇到問題及解決方案 1 android 7.0及以上版本 automationname 最好使用 uiautomator2。2 autom...

使用appium測試微博

1 確定測試工具 2 確定測試框架 3 編寫測試用例 4 編寫測試指令碼 5 除錯強化指令碼 這裡直接進入指令碼準備 這裡寫 片啟動微博 這裡寫 片markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的...

appium 測試使用的API

模擬操作類 元素定位類findelementbyxx driver.findelementbyid id id獲取方法 利用uiautomater截圖,獲取resource id driver.findelementbyclassname classname 通常通過這種方式獲取的view不止乙個,...