聊聊微信小程序自動(dòng)化如何來(lái)做

image

1. 前言

平常我們使用自動(dòng)化主要是針對(duì) App 端和 Web 端,另外還有兩種場(chǎng)景比較少用但是也很重要,分別是:瀏覽器、微信小程序。

今天我們聊聊如何在微信小程序上進(jìn)行自動(dòng)化操作闪朱。

2. 微信小程序

小程序內(nèi)嵌于微信內(nèi)部月匣,頁(yè)面包含 Native 原生元素和 Web 元素,相當(dāng)于一個(gè)混合應(yīng)用奋姿。

并且锄开,小程序 Web 部分是基于騰訊 X5 內(nèi)核開(kāi)發(fā)的,也是一個(gè)特殊的 WebView称诗。

那小程序如何做自動(dòng)化呢萍悴?

主要方法包含:UiAutomator 原生、基于 WebView 寓免、基于微信官方自動(dòng)化 SDK

下面將這些方式逐一進(jìn)行說(shuō)明

3. 原生

原生的自動(dòng)化就是利用 UiAutomator2 捕獲到元素 UI 樹(shù)癣诱,然后利用元素屬性及層級(jí)關(guān)系及坐標(biāo)值來(lái)定位元素,執(zhí)行一系列自動(dòng)化操作袜香。

image

但是原生有一個(gè)缺點(diǎn)撕予,由于小程序基于 WebView,所以元素定位符缺失蜈首,很多屬性包含:content-desc实抡、resource-id 不存在。

雖然利用這種方法來(lái)進(jìn)行元素定位存在一定難度欢策,但是還是可以利用元素的層級(jí)關(guān)系來(lái)補(bǔ)充這個(gè)缺點(diǎn)吆寨。

4. WebView

網(wǎng)絡(luò)上大部分的教程都是基于 WebView 來(lái)完成的自動(dòng)化。

首先猬腰,需要打開(kāi)微信的調(diào)試功能鸟废,文件傳輸助手中輸入:debugx5.qq.com 進(jìn)入猜敢,勾選上 :打開(kāi) TBS 內(nèi)核 Inspector 調(diào)試功能姑荷。

image

接著,在 Chrome 上輸入下面的命令進(jìn)行到設(shè)備和頁(yè)面管理頁(yè)面

chrome://inspect/#devices

點(diǎn)擊對(duì)應(yīng)的頁(yè)面項(xiàng)缩擂,即能在開(kāi)發(fā)者工具內(nèi)展示小程序目標(biāo)頁(yè)面完整的 HTML 元素信息鼠冕。

自動(dòng)化的操作就很簡(jiǎn)單了。比如使用 Appium 的話胯盯,直接將對(duì)應(yīng)的小程序發(fā)送到文件發(fā)送助手中懈费,作為自動(dòng)化開(kāi)始的入口。

切換到小程序所有的 Context 博脑,最后憎乙,利用 Css 選擇器去選擇網(wǎng)頁(yè)元素進(jìn)行一系列自動(dòng)化操作。

需要說(shuō)明的是叉趣,這種方式在微信 7.X 后泞边,默認(rèn)已經(jīng)無(wú)法基于 WebView 完成自動(dòng)化操作了,這個(gè)可以降低 ChromeDriver 的版本來(lái)對(duì)應(yīng)微信 x5 內(nèi)核的版本疗杉。

5. 官方 SDK

微信官方提供了小程序自動(dòng)化 SDK阵谚,作為一款標(biāo)準(zhǔn)的測(cè)試框架,支持真機(jī)和模擬器。

image

如果是自己公司開(kāi)發(fā)的小程序梢什,完全可以配置小程序開(kāi)發(fā)者工具奠蹬,利用官方提供的 API 編寫(xiě)簡(jiǎn)單的腳本,指向項(xiàng)目地址嗡午,借助 npm 命令完成自動(dòng)化操作囤躁。

如果是第三方小程序,這種方式就不適合了荔睹。

6. 對(duì)比

上面提到的小程序自動(dòng)化的 3 種方式割以,各有優(yōu)缺點(diǎn)。

如果是微信小程序源碼应媚,建議使用官方 SDK 完成小程序的自動(dòng)化严沥,否則可以選擇原生和 WebView 中的一種。

另外中姜,使用 WebView 做小程序的自動(dòng)化對(duì) ChromeDriver 的版本及 x5 內(nèi)核版本有要求消玄,需要保證統(tǒng)一。

更多干貨文章可以關(guān)注公眾號(hào)【 AirPython 】來(lái)解鎖丢胚。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末翩瓜,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子携龟,更是在濱河造成了極大的恐慌兔跌,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件峡蟋,死亡現(xiàn)場(chǎng)離奇詭異坟桅,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)蕊蝗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén)仅乓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人蓬戚,你說(shuō)我怎么就攤上這事夸楣。” “怎么了子漩?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵豫喧,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我幢泼,道長(zhǎng)紧显,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任旭绒,我火速辦了婚禮鸟妙,結(jié)果婚禮上焦人,老公的妹妹穿的比我還像新娘。我一直安慰自己重父,他們只是感情好花椭,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著房午,像睡著了一般矿辽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上郭厌,一...
    開(kāi)封第一講書(shū)人閱讀 52,156評(píng)論 1 308
  • 那天袋倔,我揣著相機(jī)與錄音,去河邊找鬼折柠。 笑死宾娜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的扇售。 我是一名探鬼主播前塔,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼承冰!你這毒婦竟也來(lái)了华弓?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤困乒,失蹤者是張志新(化名)和其女友劉穎寂屏,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體娜搂,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡迁霎,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了涌攻。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片欧引。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡频伤,死狀恐怖恳谎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情憋肖,我是刑警寧澤因痛,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站岸更,受9級(jí)特大地震影響鸵膏,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜怎炊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一谭企、第九天 我趴在偏房一處隱蔽的房頂上張望廓译。 院中可真熱鬧,春花似錦债查、人聲如沸非区。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)征绸。三九已至,卻和暖如春俄占,著一層夾襖步出監(jiān)牢的瞬間管怠,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工缸榄, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留渤弛,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓甚带,卻偏偏與公主長(zhǎng)得像暮芭,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子欲低,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 目 錄: 1. 小程序自動(dòng)化方案 目前小程序自動(dòng)化主要有以下三種方案: Appium框架【官網(wǎng)】:http://a...
    leyu閱讀 10,563評(píng)論 4 19
  • 微信小程序 項(xiàng)目結(jié)構(gòu) 上圖為微信小程序的項(xiàng)目結(jié)構(gòu)砾莱,pages下面包含了小程序中的每一個(gè)頁(yè)面丹壕,每一個(gè)頁(yè)面由頁(yè)面結(jié)構(gòu),...
    Jensen95閱讀 8,926評(píng)論 0 19
  • 想找男朋友了 就是瞬間的醒了明了了了 他不再是你的念想 而是徹底失望 變成一個(gè)你不喜歡的樣子 越看越不喜歡的樣子 ...
    彩虹在微笑閱讀 211評(píng)論 1 1
  • 【今日關(guān)注】 4月5日北湖大隊(duì)充分利用微直播開(kāi)展執(zhí)法曝光整治行動(dòng)中查獲的各類嚴(yán)重違法行為蕴坪,警示教育廣大人民群眾遵章...
    8e22220a9a22閱讀 189評(píng)論 0 0
  • 01.一方面所上大學(xué)的好壞锦庸,對(duì)人的影響遠(yuǎn)比想象的要小。但是人需要努力學(xué)習(xí)闰非,并且接受好的教育膘格。一些著名的創(chuàng)始人連學(xué)業(yè)...
    本天才傳說(shuō)閱讀 280評(píng)論 0 1