国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用Appium2.0自動化規(guī)模測試APP

這篇具有很好參考價值的文章主要介紹了使用Appium2.0自動化規(guī)模測試APP。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

最近做個項目需要測試服務(wù)端的并發(fā)性能,客戶端采用安卓,接口數(shù)據(jù)采用Restul和流媒體播放。由于流媒體的接口并不清楚,所以決定采用安卓虛擬機(jī)來模擬。
正好趕上Appium2.0升級,網(wǎng)上的很多資料都不能用了,這里將整個環(huán)境搭建的要點(diǎn)記錄下來與大家分享。
#1. Appium2.0的安裝

  • node.js 下載安裝npm
    https://nodejs.org/zh-cn/
  • npm配置國內(nèi)源
    查看當(dāng)前源
npm config get registry

設(shè)置為淘寶源

npm config set registry https://registry.npm.taobao.org
  • 安裝appium 2.0 Server和安卓驅(qū)動
npm install -g appium@next
appium driver install uiautomator2

#2.Appium客戶端腳本
本次采用python客戶端,使用python3.7以上版本。下面安裝python客戶端。

pip install Appium-Python-Client

編寫測試腳本

import unittest
from appium import webdriver
from appium.webdriver.common.appiumby import AppiumBy

capabilities = dict(
    platformName='Android',
    automationName='uiautomator2',
    deviceName='Android',
    appPackage='com.android.settings',
    appActivity='.Settings',
    language='en',
    locale='US'
)

appium_server_url = 'http://localhost:4723'

class TestAppium(unittest.TestCase):
    def setUp(self) -> None:
        self.driver = webdriver.Remote(appium_server_url, capabilities)

    def tearDown(self) -> None:
        if self.driver:
            self.driver.quit()

    def test_find_battery(self) -> None:
        el = self.driver.find_element(by=AppiumBy.XPATH, value='//*[@text="Battery"]')
        el.click()

if __name__ == '__main__':
    unittest.main()

到這里運(yùn)行這個腳本,就可以實(shí)現(xiàn)單機(jī)的自動化測試了。
#3.多個安卓模擬器并行測試
使用Android Studio Bumblebee,這是最后一個支持java 8的版本 https://developer.android.google.cn/studio/archive
在device manager中創(chuàng)建多個模擬器
改寫測試腳本,對每個模擬器添加參數(shù)

capabilitiesA = dict(
    platformName='Android',
    automationName='uiautomator2',
    deviceName='Android',
    appPackage='com.android.settings',
    appActivity='.Settings',
    language='en',
    locale='US',
    udid='emulator-5554',
    mjpegServerPort='9200',
    systemPort='8200'
)

其中 udid, mjpegServerPort, systemPort每個模擬器都需要定義不同端口。
并行測試腳本如下

import unittest
from appium import webdriver
from appium.webdriver.common.appiumby import AppiumBy

capabilitiesA = dict(
    platformName='Android',
    automationName='uiautomator2',
    deviceName='Android',
    appPackage='com.android.settings',
    appActivity='.Settings',
    language='en',
    locale='US',
    udid='emulator-5554',
    mjpegServerPort='9200',
    systemPort='8200'
)

capabilitiesB = dict(
    platformName='Android',
    automationName='uiautomator2',
    deviceName='Android',
    appPackage='com.android.settings',
    appActivity='.Settings',
    language='en',
    locale='US',
    udid='emulator-5556',
    mjpegServerPort='9201',
    systemPort='8201'
)

capabilitiesC = dict(
    platformName='Android',
    automationName='uiautomator2',
    deviceName='Android',
    appPackage='com.android.settings',
    appActivity='.Settings',
    language='en',
    locale='US',
    udid='emulator-5558',
    mjpegServerPort='9202',
    systemPort='8202'
)

appium_server_url = 'http://localhost:4723'

class TestAppium(unittest.TestCase):
    def setUp(self) -> None:
        self.driverA = webdriver.Remote(appium_server_url, capabilitiesA)
        self.driverB = webdriver.Remote(appium_server_url, capabilitiesB)
        self.driverC = webdriver.Remote(appium_server_url, capabilitiesC)

    def tearDown(self) -> None:
        if self.driverA:
            self.driverA.quit()
        if self.driverB:
            self.driverB.quit()
        if self.driverC:
            self.driverC.quit()

    def test_find_battery(self) -> None:
        el = self.driverA.find_element(by=AppiumBy.XPATH, value='//*[@text="Display"]')
        el.click()
        el = self.driverB.find_element(by=AppiumBy.XPATH, value='//*[@text="Display"]')
        el.click()
        el = self.driverC.find_element(by=AppiumBy.XPATH, value='//*[@text="Display"]')
        el.click()

if __name__ == '__main__':
    unittest.main()

#4.下一步計劃文章來源地址http://www.zghlxwxcb.cn/news/detail-718421.html

  • 把安卓模擬器搬到docker上。
  • 使用jenkins運(yùn)行測試腳本。

到了這里,關(guān)于使用Appium2.0自動化規(guī)模測試APP的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Appium 2安裝與使用java對Android進(jìn)行自動化測試

    Appium 2安裝與使用java對Android進(jìn)行自動化測試

    1.1、系統(tǒng)要求 當(dāng)前Appium2.1服務(wù)器的要求: 支持macOS、Linux或Windows操作系統(tǒng) Node.js版本要求^14.17.0 || ^16.13.0 | =18.0.0 NPM版本= 8 (NPM通常與Node.js捆綁在一起,但可以獨(dú)立升級) 系統(tǒng)要求:http://appium.io/docs/en/2.1/intro/requirements/ 1.2、安裝Appium2.1服務(wù) 下載nodejs:https://nodejs.org/zh-cn/download

    2024年02月12日
    瀏覽(50)
  • App自動化測試|Appium+Python自動化測試環(huán)境搭建

    App自動化測試|Appium+Python自動化測試環(huán)境搭建

    搭建過程步驟如下: 安裝jdk并配置好環(huán)境變量(jdk版本1.8以上) 安裝android-sdk并配置好環(huán)境變量;具體步驟見:Android Studio安裝(推薦使用這種方法安裝SDK) - 環(huán)境配置 - 測試人社區(qū) 安裝安卓模擬器 安裝node.js(官網(wǎng)下載安裝最新版本) ;下載地址:下載 | Node.js 中文網(wǎng) 找到wind

    2024年02月12日
    瀏覽(26)
  • Appium 自動化測試

    Appium 自動化測試

    1.Appium介紹 1,appium是開源的移動端自動化測試框架; 2,appium可以測試原生的、混合的、以及移動端的web項目; 3,appium可以測試ios,android應(yīng)用(當(dāng)然了,還有firefoxos); 4,appium是跨平臺的,可以用在osx,windows以及l(fā)inux桌面系統(tǒng)上; 2.Appium基本原理 在Android端,appium基于We

    2024年02月01日
    瀏覽(16)
  • Appium自動化(15) - 針對 webview 進(jìn)行自動化測試

    Appium自動化(15) - 針對 webview 進(jìn)行自動化測試

    ??? 交流討論: 歡迎加入我們一起學(xué)習(xí)! ?? 資源分享 : 耗時200+小時精選的「軟件測試」資料包 ??? 教程推薦: 火遍全網(wǎng)的《軟件測試》教程?? ?? 歡迎點(diǎn)贊 ?? 收藏 ?留言 ?? 如有錯誤敬請指正! WebView是android中一個非常重要的控件 它的作用是用來展示一個web頁面

    2024年04月10日
    瀏覽(49)
  • appium實(shí)現(xiàn)自動化測試原理

    appium實(shí)現(xiàn)自動化測試原理

    目錄 1、Appium原理 1.1、Android Appium原理圖文解析 1.1.2、原理詳解 1.1.2.1、腳本端 1.1.2.2、appium-server 1.1.2.3、中間件bootstrap.jar 1.1.2.4、驅(qū)動引擎uiautomator 1.2、 IOS Appium原理 執(zhí)行測試腳本全過程: 1、測試腳本通過Json Wire Protocol協(xié)議以json格式將數(shù)據(jù)通過HTTP協(xié)議與appium-server之間進(jìn)行

    2024年02月20日
    瀏覽(23)
  • 【python+appium】自動化測試

    python+appium自動化測試系列就要告一段落了,本篇博客咱們做個小結(jié)。 首先想要說明一下,APP自動化測試可能很多公司不用,但也是大部分自動化測試工程師、高級測試工程師崗位招聘信息上要求的,所以為了更好的待遇,我們還是需要花時間去掌握的,畢竟誰也不會跟錢過

    2024年02月14日
    瀏覽(22)
  • 一文詳解!appium自動化測試

    一文詳解!appium自動化測試

    目錄 前言: Appinum前置知識 Andriod SDK 元素獲取—UI Automator adb命令實(shí)踐 adb常用命令 小結(jié) Package與Activity Activity頁面布局元素 monkey簡介 monkey事件 操作事件簡介 monkey參數(shù) 事件類參數(shù) 約束類參數(shù) 調(diào)試類參數(shù) Monkey參數(shù)應(yīng)用綜合案例 Monkey腳本API簡介 monkey日志管理 monkeyrunner MonkeyR

    2024年02月11日
    瀏覽(21)
  • appium+python自動化測試

    appium+python自動化測試

    1、aapt即Android Asset Packaging Tool,在SDK的build-tools目錄下。該工具可以查看apk包名和launcherActivity 2、在android-sdk里面雙擊SDK-manager,下載buidl-tools 3、勾選build-tools,隨便選一個版本,我這里選的是24的版本 4、下載完成后:在D:androidsdkandroid-sdk-windowsbuild-tools24.0.0目錄下找到aapt.e

    2024年02月10日
    瀏覽(18)
  • 『App自動化測試之Appium應(yīng)用篇』| 繼承于selenium常用的元素定位方法有哪些?如何使用?

    『App自動化測試之Appium應(yīng)用篇』| 繼承于selenium常用的元素定位方法有哪些?如何使用?

    在了解元素等位前,我們先了解下 app 的一些類型,只有了解這些 app 的類型才能針對性的選擇元素定位方法; 因?yàn)椴煌愋偷腶pp的定位方式可能存在差異性; 我們了解到 APP 可以分為原生 APP 、 Web APP 、混合 APP 。 而原生 APP 是基于 Android 或 iOS 平臺官方的語言、類庫、工具

    2024年02月03日
    瀏覽(23)
  • (第一篇,踩坑無數(shù)得來的,對Ai自動化測試框架很有幫助)appium自動化測試時遇到不能使用element定位的在用坐標(biāo)點(diǎn)擊之后獲取焦點(diǎn)如何輸入文本

    (第一篇,踩坑無數(shù)得來的,對Ai自動化測試框架很有幫助)appium自動化測試時遇到不能使用element定位的在用坐標(biāo)點(diǎn)擊之后獲取焦點(diǎn)如何輸入文本

    ? 現(xiàn)在開發(fā)的前端界面使用vue或者更牛逼技術(shù),導(dǎo)致使用appium或者uiautomator2做自動化測試時不能識別到元素,無法使用傳統(tǒng)的id,name或者xpath,這時我們需要使用坐標(biāo)點(diǎn)擊文本框。有獲取坐標(biāo)方法,下期寫一篇文章,可以在評論區(qū)提醒瑞克。 ?

    2024年02月03日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包