奇技淫巧:移動端ui自動化中解決支付安全鍵盤無法獲取的問題

問題的背景

??移動端ui自動化過程中,有時候我們經(jīng)常會遇到安全支付輸入的問題,尤其是筆者所在的金融公司;經(jīng)常需要輸入支付密碼,而一般安全鍵盤往往是特殊繪制而成,隱藏了實現(xiàn)細(xì)節(jié),無法通過Android SDK工具uiautomatorviewer獲取到,ios更直接獲取不到元素的層級關(guān)系:例如以下場景:


image.png

解決方法

??常規(guī)的解決方法有兩類:

  1. 通過opencv圖像識別獲取,網(wǎng)上已有相關(guān)的代碼,可以直接參考,然而受限于不同圖片的分辨率及大小比例,要想保持一個較高的精確度需要較高的技術(shù)水平;
  2. 讓開發(fā)打包,去除安全鍵盤的限制;代碼入侵,不推薦;

筆者不成熟的解決方法

??由于所測APP安全鍵盤位置及順序固定,其實可以通過一定的算法精確獲取每個數(shù)字控件的坐標(biāo)軸;分析項目源代碼可知,每個數(shù)字元素的高度都為50dp,而我們只需要將其換算成像素即可大致算出每個數(shù)字在屏幕中的坐標(biāo)位置,同時也解決了多分辨率的問題。因此我們可選取一個參照物,獲取到該元素跟dp的比例作為分辨率;具體代碼如下,筆者選取了登陸頁面的姓名輸入框作為參照物;


具體某個數(shù)字坐標(biāo)軸的獲取

根據(jù)密碼點擊坐標(biāo)軸

歡迎隨時交流,針對安全鍵盤,還沒有一個通用的處理方法,例如考慮更復(fù)雜的情況,加入鍵盤上的元素每次都亂序排列又該如何解決?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,872評論 25 709
  • 用到的組件 1、通過CocoaPods安裝 2、第三方類庫安裝 3、第三方服務(wù) 友盟社會化分享組件 友盟用戶反饋 ...
    SunnyLeong閱讀 15,158評論 1 180
  • 轉(zhuǎn)載:http://www.itdecent.cn/p/e740196225a4本文為作者根據(jù)日常使用結(jié)合Gson...
    朝花夕拾不起來閱讀 1,072評論 0 1
  • 周末的早晨,小魚賴在被窩不起床。我要去買菜,讓她留守。她跟我講條件,要看手機(jī),不許!要看電視,不許!“你看書吧!”...
    會走的喬木閱讀 228評論 0 1

友情鏈接更多精彩內(nèi)容