最近在真機(jī)上用appium的時(shí)候屉凯,一直都被權(quán)限提示所困擾立帖,作為自動化,能不能通過代碼的方式來解決每次都要手動點(diǎn)擊授權(quán)的麻煩呢悠砚?度娘上求索很久晓勇,提供了很多方式,依然不靠譜灌旧!
提示截圖如下:
每次啟動都會出現(xiàn)兩次這種提醒绑咱,第一次是appium settings安裝,另一種是unlock的安裝枢泰。
在這個(gè)提示出現(xiàn)后描融,嘗試通過切換焦點(diǎn)的方式來解決:driver.switch_to.alert.accpet() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 事實(shí)證明一切都只是美好的愿望而已,然并卵衡蚂!
既然切換焦點(diǎn)不行窿克,我們能不能來定位提示上的按鈕解決問題呢骏庸? ? ? ? ? ? ? ‘’允許‘’和‘’拒絕‘’明明是兩個(gè)按鈕,使用UIautomatorviewer來查看下 ? ? ? ? ? ? ? ?
通過上圖可以看到让歼,工具也無法得到這個(gè)東西敞恋,那么通過定位來解決的方式路斷了!
目前谋右,網(wǎng)上淘來的方法只剩一種了硬猫,修改appium的js源碼,因?yàn)樯罹科湓蚋闹矗覀兛梢园l(fā)現(xiàn)每次啟動程序的時(shí)候啸蜜,appium在手機(jī)安裝Appiumsettings和unlock這兩個(gè)app,而實(shí)際上手機(jī)上在第一次使用appium的時(shí)候已經(jīng)安裝好了。而且辈挂,為了不再提示衬横,手機(jī)權(quán)限設(shè)置里已經(jīng)允許,如圖: ? ? ? ? ? ? ? ? ? ? ?
已經(jīng)在手機(jī)設(shè)置權(quán)限的情況下依然出現(xiàn)權(quán)限問題终蒂,那么肯定就是每次安裝的問題了蜂林,有沒有辦法不讓其安裝呢? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 在C:\Program Files\Appium\node_modules\appium\lib\devices\android路徑下:
打開android.js,找到appiumsettings和unlock安裝的代碼:
注釋掉它拇泣,//this.pushSettingApp.bind(this), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //this.pushUnlock.bind(this),
問題解決了噪叙,當(dāng)然這個(gè)解決方法太暴力,如果是第一次運(yùn)行appium霉翔,注釋掉以后這兩個(gè)APP就應(yīng)該不會安裝睁蕾,會出問題。請注意债朵!
希望大家都能夠成功子眶!