微信小程序和微信公眾號(hào)的測試方式基本上是一樣的。
微信的小程序越來越多了,隨之帶來的問題是:小程序如何做自動(dòng)化測試?
我們就以微信小程序來進(jìn)行講解,介紹如何測試微信小程序。
1、測試微信小程序前提
獲取真機(jī)設(shè)備標(biāo)識(shí)。
也就是設(shè)備和電腦進(jìn)行連接。
換句話說
輸入adb connect 127.0.0.1:21503 鏈接逍遙模擬器
輸入adb devices 能夠獲取設(shè)備名稱。
就是了。
真機(jī)安裝微信程序。
獲取當(dāng)前小程序的進(jìn)程。
獲取微信頁面元素進(jìn)入小程序。
2、獲取微信小程序的進(jìn)程
微信有很多的進(jìn)程,每一個(gè)小程序都運(yùn)行在不同的進(jìn)程中。
先打開微信小程序(例如:小黃車),查看當(dāng)前運(yùn)行在哪個(gè)進(jìn)程中。
(1)先打開微信,進(jìn)入小黃車小程序。
進(jìn)入小黃車小程序首頁,就在這放著就行。

(2)進(jìn)入命令行終端執(zhí)行命令。
# 連接設(shè)備
C:\Users\L>adb connect 127.0.0.1:21503
already connected to 127.0.0.1:21503
C:\Users\L>adb devices
List of devices attached
127.0.0.1:21503 device
# 1.進(jìn)入adb shell
C:\Users\L>adb shell
HD1910:/ #
# 2.查詢pid
C:\Users\L>adb shell
HD1910:/ # dumpsys activity top | grep ACTIVITY
ACTIVITY com.tencent.mm/.plugin.appbrand.ui.AppBrandUI 495f0ce pid=6070
# 微信pid就是6070
# 注意:在進(jìn)行微信小程序測試的時(shí)候,要把后臺(tái)的其他App全部殺掉,只有微信的進(jìn)程在開著,要不然執(zhí)行`dumpsys activity top | grep ACTIVITY`命令的時(shí)候,會(huì)有很多的pid,到時(shí)候可能不知道用哪一個(gè)pid,不方便查看。
# 3.根據(jù)pid查詢小程序進(jìn)程,使用命令:ps + pid
HD1910:/ # ps 6070
USER PID PPID VSIZE RSS WCHAN PC NAME
u0_a31 6070 113 1992212 361032 SYSC_epoll b76aaa90 S com.tencent.mm:appbrand0
HD1910:/ #
# `com.tencent.mm:appbrand0`就是我們要測試的小黃車小程序在微信里的進(jìn)程。
3、代碼示例
"""
1.學(xué)習(xí)目標(biāo)
掌握appium操作微信公眾號(hào)和微信小程序的自動(dòng)化測試方法
2.操作步驟
2.1 保證真機(jī)(模擬器)和電腦連接成功
輸入`adb connect 127.0.0.1:21503` 鏈接逍遙模擬器
輸入`adb devices` 能夠獲取設(shè)備名稱。
注意:當(dāng)運(yùn)行真機(jī)的時(shí)候,不能黑屏
2.2 打開被測的徽信小程序
獲取小程序在徽信中的進(jìn)程
1.adb shell
2.dumpsys activity top | grep ACTIVITY
3.ps pid
得到微信小程序進(jìn)程 : com.tencent.mm:appbrand0
2.3 在啟動(dòng)參數(shù)中添加微信小程序的進(jìn)程
"chromeOptions":{"androidprocess":"com.tencent.mm:appbrand0"} #
來啟動(dòng)對(duì)應(yīng)小程序
2.4 獲取微信APP包名和APP啟動(dòng)名
命令行終端執(zhí)行
adb shell dumpsys window windows | findstr mFocusedApp
獲得的包名和啟動(dòng)名為:com.tencent.mm/.ui.LauncherUI
2.5 在啟動(dòng)參數(shù)中添加新參數(shù)
"noReset":True # 表示不重置應(yīng)用
避免測試小程序時(shí)需要重復(fù)登陸微信。
2.6 操作小程序/公眾號(hào)
其余操作和普通APP一樣的
3.需求
"""# 1.導(dǎo)入appium和TouchActionimport time
from appium import webdriver
# 2.創(chuàng)建Desired capabilities對(duì)象,添加啟動(dòng)參數(shù)
desired_caps ={"platformName":"Android",# 系統(tǒng)名稱"platformVersion":"7.1.2",# 系統(tǒng)版本"deviceName":"127.0.0.1:21503",# 設(shè)備名稱"appPackage":"com.tencent.mm",# APP包名"appActivity":".ui.LauncherUI",# APP啟動(dòng)名"noReset":True,# 表示不重置應(yīng)用"chromeOptions":{"androidprocess":"com.tencent.mm:appbrand0"}}# 3.啟動(dòng)APP
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
time.sleep(5)# 4.操作APP# 點(diǎn)擊發(fā)現(xiàn)
driver.find_element_by_android_uiautomator('new UiSelector().text("發(fā)現(xiàn)")').click()# 點(diǎn)擊小程序
driver.find_element_by_android_uiautomator('new UiSelector().text("小程序")').click()# 點(diǎn)擊ofo小黃車官方版,進(jìn)入小程序
driver.wait_activity("/.plugin.appbrand.ui.AppBrandLauncherUI",10)# time.sleep(3)
driver.find_element_by_android_uiautomator('new UiSelector().text("ofo小黃車官方版")').click()# driver.find_element_by_xpath("http://*[@text='ofo小黃車官方版']").click()# 接下來就是操作微信小程序,和以前的操作一樣。# 都是一步一步定位,一步一步操作。# 5.關(guān)閉APP
time.sleep(3)
driver.quit()
4、補(bǔ)充:(了解)
如果有些微信公共號(hào)的頁面是webview的時(shí)候,需要打開X5調(diào)試頁面。
(現(xiàn)在基本上很少了)
(1)打開微信,在任何聊天窗口內(nèi)輸入debugx5.qq.com,之后點(diǎn)擊打開。

或者,通過微信掃一掃,掃描下面的二維碼,進(jìn)入X5調(diào)試頁面。
(2)信息頁中,勾選“打開TBS內(nèi)核Inspector調(diào)試功能”

這樣就可以了。
如有不懂還要咨詢下方小卡片,博主也希望和志同道合的測試人員一起學(xué)習(xí)進(jìn)步
在適當(dāng)?shù)哪挲g,選擇適當(dāng)?shù)膷徫?,盡量去發(fā)揮好自己的優(yōu)勢。
我的自動(dòng)化測試開發(fā)之路,一路走來都離不每個(gè)階段的計(jì)劃,因?yàn)樽约合矚g規(guī)劃和總結(jié),文章來源:http://www.zghlxwxcb.cn/news/detail-616636.html
測試開發(fā)視頻教程、學(xué)習(xí)筆記領(lǐng)取傳送門!?。?/span>文章來源地址http://www.zghlxwxcb.cn/news/detail-616636.html

到了這里,關(guān)于Appium基礎(chǔ) — 操作微信小程序的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!