appium client迷之一樣的API(一)

之前的隨筆說過摆舟,最近入坑使用appium server v1.7.1挽拔,本著對(duì)appium負(fù)責(zé)任的態(tài)度---不拋棄矛纹、不放棄抵栈,繼續(xù)在新的app上用appium 折騰

前言

??學(xué)習(xí)一門開源框架之前溪掀,必須搞清楚各個(gè)模塊之間的關(guān)系事镣,比如舉例appium來說,得理清楚appium desktop揪胃、appium server 璃哟、appium client和使用語言(java、python)之間關(guān)系喊递,這里不一一敘述随闪。

  • 本文使用的client版本

??Appium-Python-Client (0.26)

  • 本文使用的driver

??appium-uiautomator2-driver

關(guān)于API 的碎碎言(后續(xù)會(huì)繼續(xù)碎碎)

    • 獲取app的strings.xml的內(nèi)容(android)
      原方法:app_strings(language=None, string_file=None)
      使用場景舉例:
      ??app支持多語言,通過腳本的方式獲取各個(gè)語言下對(duì)應(yīng)的字符串骚勘,與定義文檔對(duì)比
??原理說明:

????實(shí)際是通過執(zhí)行aapt d --values resources <apk>獲得铐伴,因此caps一定要包含apk的完整路徑
????app_strings()支持獲取多個(gè)語言的strings.xml內(nèi)容,如果想要獲取默認(rèn)或者不同語言的strings怎么辦呢俏讹?通過反編譯apk可知当宴,res文件夾結(jié)構(gòu)如下

res下的values文件夾結(jié)果

??結(jié)合反編譯后的結(jié)構(gòu)和傳遞的參數(shù)可以推測,如果想要獲取各種語言下的strings,只需要傳language參數(shù)值,如獲取中文環(huán)境下的strings,language=zh;然而想要獲取默認(rèn)的strings則沒那么順暢泽疆,如果你認(rèn)為不傳language參數(shù)就可以獲取得到户矢,那么我只能告訴你,想多了殉疼,不過記得舊版本可以哈梯浪,實(shí)際上不傳任何參數(shù)則默認(rèn)獲取language=en對(duì)應(yīng)的strings捌年。想要獲取默認(rèn)的strings,換了一種巧妙的方式驱证,language隨便傳一個(gè)非語言代號(hào)延窜,例如這里我的language參數(shù)設(shè)置為default

    • 關(guān)于app的啟動(dòng)
原方法
  launch_app()
  start_activity(app_package, app_activity, **opts)
  background_app(seconds)
  • launch_app()
    啟動(dòng)app,相當(dāng)于先殺死app再重新啟動(dòng)抹锄,該方法實(shí)際執(zhí)行了這段adb命令adb shell am start -W -n com.yf.smart.coros.alpha/com.yf.smart.weloopx.app.entry.SplashScreenActivity -S -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000逆瑞,對(duì)于依賴藍(lán)牙連接其他設(shè)備的app來說,'殺死'會(huì)導(dǎo)致藍(lán)牙斷開伙单,然后有時(shí)候并不是希望的結(jié)果
  • start_activity(app_package, app_activity, **opts)
    同樣可以作為啟動(dòng)app來使用获高,可定制適合自己的啟動(dòng)方式或者啟動(dòng)其他app,必須參數(shù)app的package和activity吻育,可選參數(shù)opts
opts詳細(xì):
        - app_wait_package - Begin automation after this package starts (optional).
        - app_wait_activity - Begin automation after this activity starts (optional). 啟動(dòng)一個(gè)activity時(shí)需要經(jīng)過中間某個(gè)activity時(shí)需要填寫
        - intent_action - Intent to start (optional).
        - intent_category - Intent category to start (optional).
        - intent_flags - Flags to send to the intent (optional).
        - optional_intent_arguments - Optional arguments to the intent (optional).
        - dont_stop_app_on_reset - Should the app be stopped on reset (optional)? 表示要不要重置app念秧,簡單說,要不要?dú)⑺繿pp來啟動(dòng)
  • background_app(seconds)
    設(shè)置app后臺(tái)多少秒后重啟布疼,app進(jìn)入后臺(tái)摊趾,其實(shí)是執(zhí)行home鍵操作,重啟則直接熱啟動(dòng)app游两,不會(huì)殺死app

    • 模擬返回與home操作
原方法
   press_keycode( keycode, metastate=None)
   keyevent( keycode, metastate=None)

結(jié)語

?? 一定要看API ,一定要看github宝踪!一定要看API 侨糟,一定要看github!一定要看API 瘩燥,一定要看github秕重!重要的話重復(fù)三遍

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市厉膀,隨后出現(xiàn)的幾起案子悲幅,更是在濱河造成了極大的恐慌,老刑警劉巖站蝠,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件汰具,死亡現(xiàn)場離奇詭異,居然都是意外死亡菱魔,警方通過查閱死者的電腦和手機(jī)留荔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人聚蝶,你說我怎么就攤上這事杰妓。” “怎么了碘勉?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵巷挥,是天一觀的道長。 經(jīng)常有香客問我验靡,道長倍宾,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任胜嗓,我火速辦了婚禮高职,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘辞州。我一直安慰自己怔锌,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布变过。 她就那樣靜靜地躺著埃元,像睡著了一般。 火紅的嫁衣襯著肌膚如雪媚狰。 梳的紋絲不亂的頭發(fā)上岛杀,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音哈雏,去河邊找鬼楞件。 笑死衫生,一個(gè)胖子當(dāng)著我的面吹牛裳瘪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播罪针,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼彭羹,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了泪酱?” 一聲冷哼從身側(cè)響起派殷,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎墓阀,沒想到半個(gè)月后毡惜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡斯撮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年经伙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片勿锅。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡帕膜,死狀恐怖枣氧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情垮刹,我是刑警寧澤达吞,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站荒典,受9級(jí)特大地震影響酪劫,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜种蝶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一契耿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧螃征,春花似錦搪桂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至魄藕,卻和暖如春内列,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背背率。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國打工话瞧, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人寝姿。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓交排,卻偏偏與公主長得像,于是被迫代替她去往敵國和親饵筑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子埃篓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

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