日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Appium+RobotFrameWork测试环境搭建

發(fā)布時(shí)間:2025/3/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Appium+RobotFrameWork测试环境搭建 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前提:搭建好robotframework環(huán)境

RF基于python2.7的版本實(shí)現(xiàn)的一套開(kāi)源自動(dòng)化測(cè)試框架

推薦使用Appium Desktop,

搭建Appium環(huán)境:

1. 搭建JDK

2. 搭建SDK環(huán)境;SDK:software development kit? 軟件包,常用的軟件是UIAutomatorViewer,進(jìn)行移動(dòng)端應(yīng)用的元素定位

3. 連接的移動(dòng)端設(shè)備,安卓真機(jī)或者模擬器(夜神)

PS:安裝完模擬器之后,將sdk中的adb.exe文件復(fù)制到夜神的安裝路徑下的nox_adb.exe,并重命名為nox_adb.exe

4. 安裝Appium desktop,直接下載安裝即可。 如果安裝的是Appium server,需要配置node.js,Appium server路徑到環(huán)境系統(tǒng)變量中

5. 在RobotFrameWork中導(dǎo)入Appium的包,實(shí)現(xiàn)對(duì)移動(dòng)端App的自動(dòng)化測(cè)試

啟動(dòng)conmand命令窗口,輸入pip install robotframework-appiumlibrary

6. 啟動(dòng)RobotFrameWork,導(dǎo)入AppiumLibrary,導(dǎo)包時(shí),包名大小寫(xiě)敏感

導(dǎo)入AppiumLibrary后,可能會(huì)報(bào)錯(cuò),提示six not found的error,啟動(dòng)conmand窗口,輸入 pip install six,然后重啟RobotFrameWork

?

RobotFrameWork的工程結(jié)構(gòu):

新建Project,選擇type為directory——新建Suite,選擇type為file——在Suite中導(dǎo)入library——新建Case

RF本身是一個(gè)關(guān)鍵字驅(qū)動(dòng)的方式來(lái)實(shí)現(xiàn)自動(dòng)化的。

騰訊QQ的登錄demo:

1.RF連接模擬器,啟動(dòng)騰訊QQ

Open Application參數(shù)解析:

1.Appium服務(wù)端,連接固定

2.配置Appium的Capabilities:

deviceName 設(shè)備名稱? 可以通過(guò)conmand窗口輸入 adb devices獲取到

platformName 操作系統(tǒng)? Android

platformVersion 系統(tǒng)版本 4.4.2

appPackage 被測(cè)包名

com.lixin.yezonghui

appActivity 被測(cè)應(yīng)用的主入口

.splash.SplashActivity

2. 進(jìn)入QQ登錄界面

要獲取元素的定位,然后基于已定位的元素進(jìn)行相對(duì)于的操作。

?

?

Appium1.6.3(客戶端版)解決每次運(yùn)行都需要安裝Unlock以及AppiumSetting的問(wèn)題

文件1地址:/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-android-driver/lib/android-helpers.js

注釋掉:await helpers.pushSettingsApp(adb);

注釋掉:await helpers.pushUnlock(adb);

文件2地址:

/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-android-driver/build/lib/android-helpers.js

?

注釋掉:return _regeneratorRuntime.awrap(helpers.pushSettingsApp(adb));

新增:return context$1$0.abrupt('return', defaultIME);

注釋掉:return _regeneratorRuntime.awrap(helpers.pushUnlock(adb));

新增:return context$1$0.abrupt('return', defaultIME);

重啟appium

Appium Setting和Unlock在測(cè)試過(guò)程中不要輕易去掉。

雖然AppiumSetting不知道做什么用的,但是Unlock在手機(jī)鎖屏的情況下會(huì)有解鎖的效果。如果沒(méi)有Unlock,鎖屏狀態(tài)下client會(huì)啟動(dòng)失敗,而有Unlock時(shí)會(huì)自動(dòng)解鎖,然后執(zhí)行下一步

?

如果有誰(shuí)知道Appium Setting是做什么的,希望大家給科普一下~

AppiumLibrary常用關(guān)鍵字

關(guān)鍵字

含義

實(shí)例

備注

Click button

點(diǎn)擊按鈕

Click button 登錄

這里的登錄是class屬性,必須是button

Click element

點(diǎn)擊元素

Click element [locator]

Locator可以是resource-id,也可以是xpath,但必須是當(dāng)前頁(yè)面唯一存在的,一般用該關(guān)鍵字可以完成所有元素點(diǎn)擊

Click text

點(diǎn)擊文字

Click text 我的

我的需要是當(dāng)前頁(yè)面唯一存在的

Input text

在指定元素中輸入文本

Input text [locator] 111

Locator可以是resource-id,也可以是xpath

Swipe

滑動(dòng)屏幕

Swipe 1000 1800 100 1800

?

?

Get Text

獲取某標(biāo)簽內(nèi)容

${account} ??Get Text ?[locator]?

獲取內(nèi)容后存儲(chǔ)到指定變量中,從而在后續(xù)腳本中調(diào)用該內(nèi)容

二、校驗(yàn)函數(shù)

關(guān)鍵字

含義

實(shí)例

備注

Element Name Should Be

檢查元素的name屬性

Element Name Should Be? [locator]? 登錄

locator可以是resource-id,也可以是xpath

Element Should Be Enabled

檢查元素是否可用/可見(jiàn)

Element Should Be Enabled? [locator]

?

Page Should Contain Element

檢查界面包含某些元素

Page Should Contain Element?? [locator]

?

Page Should Contain Text

檢查界面包含某些文字信息

Page Should Contain Text? 預(yù)約掛號(hào)

?

Page Should Not Contain Element

檢查界面不包含某些元素

Page Should Not Contain Element? [locator]

?

Page Should Not Contain Text

檢查界面不包含某些文字信息

Page Should Not Contain Text? 預(yù)約掛號(hào)

?

?

三、等待函數(shù)

關(guān)鍵字

含義

實(shí)例

備注

Wait Until Page Contains

等待直到界面中包含某些文字,才進(jìn)行下一步

Wait Until Page Contains? 預(yù)約掛號(hào)

默認(rèn)等待時(shí)間為5s

Wait Until Page Contains Element

等待直到界面中包含某些元素,才進(jìn)行下一步

Wait Until Page Contains Element?? [locator]

locator可以是resource-id,也可以是xpath

Wait Until Page Does Not Contain

等待直到界面中不包含某些文字,才進(jìn)行下一步

Wait Until Page Does Not Contain? 預(yù)約掛號(hào)

?

Wait Until Page Does Not Contain Element

等待直到界面中不包含某些元素,才進(jìn)行下一步

Wait Until Page Does Not Contain Element? [locator]

?

轉(zhuǎn)載于:https://www.cnblogs.com/ainihaozhen/p/9546944.html

總結(jié)

以上是生活随笔為你收集整理的Appium+RobotFrameWork测试环境搭建的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。