airtest公司推廣分享文檔

引言

  • 隨著版本迭代加快翩腐,app復雜度增加逐纬,手工測試無法滿足版本快速迭代需要御雕,需要引入自動化進行回歸測試
  • 多分支開發(fā)矢沿,提高打包轉測的質量,打包后自動執(zhí)行一些自動化case酸纲,保障主業(yè)務通暢

基于這兩點原因捣鲸,希望引入[低成本]自動化解決這些問題

airtest框架

是一個跨平臺的、基于圖像識別的UI自動化測試框架闽坡,適用于游戲和App栽惶,支持平臺有Windows、Android和iOS

主流框架對比

appium

appium.png

airtest

airtest.png

投入產出

傳統(tǒng)級別的移動端UI自動化 id/class/tag疾嗅、des/xpath/pos/text

對比項 傳統(tǒng)控件識別 圖像識別
原理 id && 其他 圖像
腳本編寫成本
后期維護成本
入門難度
跨進程 有一定門檻 不存在
跨平臺 成本高 零成本
成本
  • 新功能編寫用例
  • 舊功能修改用例
  • android/ios的成本
  • 執(zhí)行用例
產出
  • 功能回歸驗證
  • 測試報告

原理

圖像識別

截圖--識別--點擊

        for method in ST.CVSTRATEGY:
            # get function definition and execute:
            func = MATCHING_METHODS.get(method, None)
            if func is None:
                raise InvalidMatchingMethodError("Undefined method in CVSTRATEGY: '%s', try 'kaze'/'brisk'/'akaze'/'orb'/'surf'/'sift'/'brief' instead." % method)
            else:
                ret = self._try_match(func, image, screen, threshold=self.threshold, rgb=self.rgb)
            if ret:
                break

airtest優(yōu)先匹配模板算法外厂,次匹配特征點算法

template_matching

模板匹配

  • 無法跨分辨率識別
  • 一定有相對最佳的匹配結果

keypoint_matching

特征點的匹配

  • 跨分辨率識別
  • 不一定有匹配結果

android

  • 截圖方式 MINICAP、ADBCAP宪迟、JAVACAP

ios

  • 截圖方式 MINICAP酣衷、WDACAP

WebDriverAgent is a WebDriver server implementation for iOS that can be used to remote control iOS devices. It allows you to launch & kill applications, tap & scroll views or confirm view presence on a screen. This makes it a perfect tool for application end-to-end testing or general purpose device automation. It works by linking XCTest.framework and calling Apple's API to execute commands directly on a device. WebDriverAgent is developed and used at Facebook for end-to-end testing and is successfully adopted by Appium.

使用和demo

環(huán)境搭建

http://airtest.netease.com/

直接演示

hello airtest

autocasedemo by android

  1. 新安裝并打開小火箭app
  2. 登錄賬號
  3. 進入進階課星球
  4. 播放視頻
  5. 返回首頁
  6. 退出登錄

二次開發(fā)和CI

適配性

  • lbkrunner

codemao運行器,單個.air文件為一條case次泽,多個air集成一個app的casesuit

演示...

  • 適配性api
  • 數據庫操作
  • 測試報告

CI/CD

測試報告
郵件預警

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末穿仪,一起剝皮案震驚了整個濱河市席爽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌啊片,老刑警劉巖只锻,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異紫谷,居然都是意外死亡齐饮,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進店門笤昨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來祖驱,“玉大人,你說我怎么就攤上這事瞒窒∞嗥В” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵崇裁,是天一觀的道長匕坯。 經常有香客問我,道長拔稳,這世上最難降的妖魔是什么葛峻? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮巴比,結果婚禮上术奖,老公的妹妹穿的比我還像新娘。我一直安慰自己匿辩,他們只是感情好腰耙,可當我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著铲球,像睡著了一般。 火紅的嫁衣襯著肌膚如雪晰赞。 梳的紋絲不亂的頭發(fā)上稼病,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天,我揣著相機與錄音掖鱼,去河邊找鬼然走。 笑死,一個胖子當著我的面吹牛戏挡,可吹牛的內容都是我干的芍瑞。 我是一名探鬼主播,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼褐墅,長吁一口氣:“原來是場噩夢啊……” “哼拆檬!你這毒婦竟也來了洪己?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤竟贯,失蹤者是張志新(化名)和其女友劉穎答捕,沒想到半個月后,有當地人在樹林里發(fā)現(xiàn)了一具尸體屑那,經...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡拱镐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了持际。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沃琅。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蜘欲,靈堂內的尸體忽然破棺而出阵难,到底是詐尸還是另有隱情,我是刑警寧澤芒填,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布呜叫,位于F島的核電站,受9級特大地震影響殿衰,放射性物質發(fā)生泄漏朱庆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一闷祥、第九天 我趴在偏房一處隱蔽的房頂上張望娱颊。 院中可真熱鬧,春花似錦凯砍、人聲如沸箱硕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽剧罩。三九已至,卻和暖如春座泳,著一層夾襖步出監(jiān)牢的瞬間惠昔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工挑势, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留镇防,地道東北人。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓潮饱,卻偏偏與公主長得像来氧,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,691評論 2 361