Appium-context切換問(wèn)題排查(以微信為例)

為了更方便地進(jìn)行微信小程序的測(cè)試渣触,筆者希望能夠切換進(jìn)webview進(jìn)行操作浇雹,事件過(guò)程中問(wèn)題特別多一踩一個(gè)坑,特此記錄以方便大家共同進(jìn)步

1)Android版本8.0以上機(jī)型get contexts得到webview_undefinded

打開(kāi)D:\appium\node_modules\appium-android-driver\build\lib\webview-helpers.js

修改adb.shell('ps')為adb.shell(['ps','-A'])硅堆,8.0以下不需要修改

如果使用的是desktop屿储,那文件在C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\appium-android-driver\build\lib文件夾下


圖-1

修改之后成功獲取到

圖-2

2)switch_context到WEBVIEW_com.tencent.mm:tools卡住

解決方法:Step1:添加啟動(dòng)參數(shù),${chromeOptions} = {'androidProcess': 'com.tencent.mm:tools'}

? ? ? ? ? ? ? ? ? Step2:降低微信版本到6.7.3渐逃,后來(lái)升上去又沒(méi)問(wèn)題了够掠,具體原因不清楚

做了兩項(xiàng)修改之后切換成功

圖-3

然而自動(dòng)化之路并未成功,筆者又踩了一個(gè)坑茄菊,真的是崩潰啊~~~疯潭,下面講第三個(gè)坑

3)click element提示無(wú)法定位到元素,可是元素就在那里~

圖-4

使用log_source打印出當(dāng)前頁(yè)面代碼之后买羞,確實(shí)不是顯示的這個(gè)頁(yè)面

解決辦法:switch_context之后需要再切換window_handles袁勺,使用robotframework的同學(xué)將

_applicationmanagement.py里面switch_to_context的代碼修改如下,切換萬(wàn)context之后選中最后

一個(gè)handle畜普。同程旅游APP還在使用X5內(nèi)核時(shí)與此恰好相反期丰,需要選擇第一個(gè)handle,所以不同

APP可能有所不同吃挑,讀者自行排查


圖-5

修改之后重新啟動(dòng)robotframework钝荡,再次運(yùn)行

查看頁(yè)面代碼,發(fā)現(xiàn)頁(yè)面已經(jīng)切換正確舶衬,click_element執(zhí)行成功

圖-6

4)然而click_element執(zhí)行成功但是click時(shí)間并未生效

嘗試使用executescript解決問(wèn)題埠通,結(jié)果提示$ is not defined,與chrome內(nèi)核不同webview有可能executescript并能不支持執(zhí)行JS逛犹。

圖-7

推測(cè)該元素可能綁定的時(shí)Tap事件端辱,使用Tap進(jìn)行操作梁剔。

圖-8

結(jié)果報(bào)錯(cuò):NoSuchElementException: Message: An element could not be located on the page using the given search parameters

解決方案參照下面連接:

https://www.cnblogs.com/LY-CC/articles/10924469.html

最后換了一種寫(xiě)法,點(diǎn)擊成功舞蔽,具體原因完全不知道


圖-9

5)與Chome內(nèi)核不同荣病,在webview中截圖,就是會(huì)卡死的

解決方案:切換為原生狀態(tài)進(jìn)行截圖渗柿,截圖成功之后再切回響應(yīng)webview

修改Rotbotframework的_screenshot.py文件中capture_page_screenshot方法

圖-10

修改成功之后个盆,利用原生狀態(tài)切圖成功

圖-11

6)switch-contexe時(shí)切到了Chrome上去了,因?yàn)榘惭b了chrome朵栖,程序檢測(cè)到com.android.chrome會(huì)優(yōu)先獲取chrome的版本,卸載Chrome即可

圖-12

7)起初執(zhí)行沒(méi)問(wèn)題颊亮,升級(jí)微信之后無(wú)法點(diǎn)擊元素


圖-13

不同版本微信元素id不一樣

例如微信的搜索框

6.7.3版本中 id=com.tencent.mm:id/ji

7.0.6中id=com.tencent.mm:id/li

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市陨溅,隨后出現(xiàn)的幾起案子终惑,更是在濱河造成了極大的恐慌,老刑警劉巖声登,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狠鸳,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡悯嗓,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門卸察,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)脯厨,“玉大人,你說(shuō)我怎么就攤上這事坑质『衔洌” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵涡扼,是天一觀的道長(zhǎng)稼跳。 經(jīng)常有香客問(wèn)我,道長(zhǎng)吃沪,這世上最難降的妖魔是什么汤善? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮票彪,結(jié)果婚禮上红淡,老公的妹妹穿的比我還像新娘。我一直安慰自己降铸,他們只是感情好在旱,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著推掸,像睡著了一般桶蝎。 火紅的嫁衣襯著肌膚如雪驻仅。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,255評(píng)論 1 308
  • 那天登渣,我揣著相機(jī)與錄音雾家,去河邊找鬼。 笑死绍豁,一個(gè)胖子當(dāng)著我的面吹牛芯咧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播竹揍,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼敬飒,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了芬位?” 一聲冷哼從身側(cè)響起无拗,我...
    開(kāi)封第一講書(shū)人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎昧碉,沒(méi)想到半個(gè)月后英染,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡被饿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年四康,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片狭握。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡闪金,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出论颅,到底是詐尸還是另有隱情哎垦,我是刑警寧澤,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布恃疯,位于F島的核電站漏设,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏今妄。R本人自食惡果不足惜郑口,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蛙奖。 院中可真熱鬧潘酗,春花似錦、人聲如沸雁仲。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)攒砖。三九已至缸兔,卻和暖如春日裙,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背惰蜜。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工昂拂, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人抛猖。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓格侯,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親财著。 傳聞我的和親對(duì)象是個(gè)殘疾皇子联四,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

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