九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
我花了兩周時(shí)間,為了體驗(yàn)appium AI定位元素

當(dāng)我們?cè)趯懽詣?dòng)化測(cè)試腳本的時(shí)候,傳統(tǒng)情況下一定要知道元素的屬性,如id、name、class等。那么通過(guò)AI的方式定位元素可能就不需要知道元素的屬性,評(píng)價(jià)人對(duì)元素的判斷來(lái)定位,比如,看到一個(gè)搜索框,直接使用ai:search來(lái)定位, 或者我想定位一個(gè)關(guān)閉按鈕,之直接使用 ai:close,我們并不需要知道這搜索框和關(guān)閉按鈕的屬性。

appium 通過(guò)插件的方式可以支持AI定位。我相信你已經(jīng)早就看過(guò)相關(guān)文章了,可是,你動(dòng)手體驗(yàn)了么?為體驗(yàn)一個(gè)這種定位方式我花了兩周時(shí)間(其實(shí),主要是上周工作太忙,哈哈?。@里把我的操作過(guò)程告訴你。

系統(tǒng)要求

首先,需要一些系統(tǒng)依賴項(xiàng)來(lái)處理圖像。

  • macOS

brew install pkg-config cairo pango libpng jpeg giflib
  • Linux

sudo apt-get install pkg-config libcairo2-dev libpango* libpng-dev libjpeg-dev giflib*
  • Windows

暫不支持。

如果遇到問(wèn)題,您可能必須單獨(dú)安裝每個(gè)包。

我一開(kāi)始在Windows試了半天不成功,因?yàn)槲矣鞋F(xiàn)成的appium環(huán)境,后來(lái)發(fā)現(xiàn)壓根不支持,于是,換成了macOS, 所以后面的操作在macOS下完成,當(dāng)然,如果你有Linux環(huán)境,我覺(jué)得也是OK的。

安裝 Android Studio

因?yàn)槲乙僮鞯囊苿?dòng)設(shè)備是Android, 所以需要安裝Android SDK, 那么Android Studio集成了Android SDK。

下載android studio:https://developer.android.com/studio

在安裝Android Studio的過(guò)程中需要設(shè)置android SDK的路徑,我的路徑為:

/Users/tech/Library/Android/sdk

然后,需要配置環(huán)境變量:sudo vi ~/.bash_profile

ANDROID_HOME=/Users/tech/Library/Android/sdk
PATH=${PATH}:${ANDROID_HOME}/platform-tools
PATH=${PATH}:${ANDROID_HOME}/tools

最后,使配置生效:source ~/.bash_profile

安裝appium

1、不要使用appium-desktop, 通過(guò)命令方式安裝appium。

> brew install node # get node.js
> npm install -g appium # get appium

2、安裝appium-doctor

> npm install appium-doctor

3、通過(guò)appium-doctor命令檢查環(huán)境:

> appium-doctor
info AppiumDoctor Appium Doctor v.1.11.0
info AppiumDoctor ### Diagnostic for necessary dependencies starting ###
info AppiumDoctor ? The Node.js binary was found at: /usr/local/bin/node
info AppiumDoctor ? Node version is 10.15.1
WARN AppiumDoctor ? Xcode is NOT installed!
info AppiumDoctor ? Xcode Command Line Tools are installed in: /Library/Developer/CommandLineTools
info AppiumDoctor ? DevToolsSecurity is enabled.
info AppiumDoctor ? The Authorization DB is set up properly.
WARN AppiumDoctor ? Carthage was NOT found!
info AppiumDoctor ? HOME is set to: /Users/tech
info AppiumDoctor ? ANDROID_HOME is set to: /Users/tech/Library/Android/sdk
info AppiumDoctor ? JAVA_HOME is set to: /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
info AppiumDoctor ? adb exists at: /Users/tech/Library/Android/sdk/platform-tools/adb
info AppiumDoctor ? android exists at: /Users/tech/Library/Android/sdk/tools/android
info AppiumDoctor ? emulator exists at: /Users/tech/Library/Android/sdk/tools/emulator
info AppiumDoctor ? Bin directory of $JAVA_HOME is set
...

appium AI 插件

GtiHub地址:https://github.com/testdotai/appium-classifier-plugin

使用Appium 1.9.2-beta版以上。另外,一定要使用 XCUITest 驅(qū)動(dòng)程序(用于iOS)或UiAutomator2或Espresso驅(qū)動(dòng)程序(用于Android)。較老的iOS和Android驅(qū)動(dòng)程序不支持所需的Appium在任何情況下,都不推薦使用。

Classifier 設(shè)置

要使這個(gè)插件對(duì)Appium可用,只需轉(zhuǎn)到主appium項(xiàng)目的安裝目錄下面,并運(yùn)行:

> cd /usr/local/lib/node_modules/appium
> npm install test-ai-classifier

將這個(gè)插件安裝到Appium的依賴樹(shù)中,并使其可用。

我在安裝這個(gè)插件的時(shí)候各種報(bào)錯(cuò),你可以試試下面的命令。

> sudo npm --registry http://registry.npm.taobao.org install test-ai-classifier --unsafe-perm

在安裝過(guò)程發(fā)現(xiàn)有依賴google  TensorFlow 的庫(kù)。

使用

1、通過(guò)命令的方式啟動(dòng)appium

> appium
[Appium] Welcome to Appium v1.14.0
[Appium] Appium REST http interface listener started on 0.0.0.0:4723
...

2、編寫自動(dòng)化測(cè)試腳本:

from appium import webdriver
from time import sleep


CAPS = {
'deviceName': ' MEIZU_E3',
'automationName': 'UiAutomator2',
'platformName': 'Android',
'platformVersion': '7.1.1',
'appPackage': ' com.meizu.flyme.flymebbs',
'appActivity': '.ui.LoadingActivity',
'noReset': True,
'unicodeKeyboard': True,
'resetKeyboard': True,
'customFindModules': {'ai': 'test-ai-classifier'},
'testaiConfidenceThreshold': 0.1,
'shouldUseCompactResponses': False,
}

driver = webdriver.Remote('http://localhost:4723/wd/hub', CAPS)
sleep(3)

# 用 AI 定位到搜索框
driver.find_element_by_custom('ai:search').click()
sleep(5)
driver.find_element_by_id('com.meizu.flyme.flymebbs:id/kf').send_keys('flyme')

driver.find_element_by_id('com.meizu.flyme.flymebbs:id/o7').click()
result = driver.find_elements_by_id('com.meizu.flyme.flymebbs:id/a2a')[0].text
print(result)

driver.quit()
  • automationName
    如果要測(cè)試的是Android的話,必須要指為UiAutomator2或 Espresso。

  • customFindModules
    必須要指定為 {'ai': 'test-ai-classifier'}。

  • testaiConfidenceThreshold
    此功能決定了考慮元素的最低置信度。默認(rèn)情況下,值為0.2。參數(shù)介于0和1之間的數(shù)字,其中1表示信心必須完美,0表示根本不需要信任。

  • shouldUseCompactResponses
    這指示appium在找到元素時(shí)包含有關(guān)元素的額外信息,這大大加快了獲取此插件的輸入過(guò)程。

最終,我要體驗(yàn)的代碼就是這一行:

driver.find_element_by_custom('ai:search').click()

通過(guò)ai來(lái)定位搜索框。

確實(shí)定位到了,可是定位的速度特別慢,大概需要10~20秒吧!

如果,你想知道 appium-classifier-plugin支持那些類型的元素定位,看這里:https://github.com/testdotai/appium-classifier-plugin/blob/master/lib/labels.js

目前支持100多種類型。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Appium自動(dòng)化(圖文教程).pdf
Appium入門示例(Java)
全網(wǎng)最全最細(xì)的appium自動(dòng)化測(cè)試環(huán)境搭建教程以及appium工作原理
Python Appium 自動(dòng)化操作微信入門看這一篇就夠了
appium for windows 環(huán)境搭建
Appium原理與安裝 | 白月黑羽教Python
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服