精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

LinkedIn Test Butler旨在改進Android UI測試

責任編輯:editor005

作者: Sergio De Simone

2016-08-31 11:59:12

摘自:INFOQ

LinkedIn工程師兼Test Butler創建者Drew Hannay寫道,Test Butler是一款面向Android的開源測試工具,它允許開發人員對若干測試環境設置通過編程進行控制,從而使開發人員可以可靠地運行測試。

LinkedIn工程師兼Test Butler創建者Drew Hannay寫道,Test Butler是一款面向Android的開源測試工具,它允許開發人員對若干測試環境設置通過編程進行控制,從而使開發人員可以可靠地運行測試。

據Hannay介紹,Test Butler的靈感來自谷歌2014年的演講“環保之路:清理有毒的移動環境”。該演講介紹了如何解決反復出現并影響移動測試的問題,比如缺少可靠性和可再現性、速度緩慢等。Hannay表示,當結果可能受到環境因素影響時,測試就不可靠了,尤其是當它們出現在設備/操作系統層面時,比如Android模擬器的CPU突然休眠,不正常的設備方向變化,隨機出現的鎖屏,意外彈出的系統對話框,等等。所有那些事件都會導致Espresso UI測試失敗。

為了解決這些問題,按照最初的設計,Test Butler將作為一個后臺服務在Android模擬器上運行,提供一些旨在增加測試環境穩定性的特性,比如:

禁用動畫,這是Espresso正常運行所需要的; 通過安裝一個自定義的IActivityController禁用系統對話框; 監控模擬器的鎖屏、Wi-Fi和CPU,保證它們不會休眠。

測試中的應用可以和Test Butler進行通信,并控制多個測試環境變量,比如:

啟用/禁用Wi-Fi; 在測試執行過程中通過編程改變設備方向; 模擬不同的定位服務模式,比如,省電模式或者高精度模式; 定義應用程序運行的區域設置。

Test Butler的一個關鍵方面是,它使用面向內置Android模擬器的系統密鑰庫進行簽名。也就是說,它會自動取得自己所需的任何signature級的權限,而不需要通過ADB,或者篡改清單文件。

下面的代碼展示了如何設置應用,讓其和Test Butler一起工作:

public class ExampleTestRunner extends AndroidJUnitRunner { @Override public void onStart() { TestButler.setup(InstrumentationRegistry.getTargetContext()); super.onStart(); } @Override public void finish(int resultCode, Bundle results) { TestButler.teardown(InstrumentationRegistry.getTargetContext()); super.finish(resultCode, results); }}

當應用和Test Butler的連接建立后,你可以使用TestButler類提供的多種方法控制測試環境,比如修改定位服務模式、設置Wi-Fi狀態、觸發設備反轉,等等。

據Hannay介紹,目前,LinkedIn每天使用Test Butler運行超過1百萬次測試。該工具是開源的,代碼托管在GitHub上。

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 柘荣县| 阿巴嘎旗| 登封市| 呈贡县| 稷山县| 贵南县| 乌兰浩特市| 明星| 赞皇县| 新绛县| 英超| 淮阳县| 揭阳市| 清丰县| 靖边县| 乐安县| 寻甸| 吉水县| 靖远县| 崇阳县| 佛教| 甘南县| 宁陵县| 镇远县| 囊谦县| 宽甸| 黔东| 斗六市| 四子王旗| 宣城市| 鄂伦春自治旗| 普宁市| 平原县| 河曲县| 邻水| 永吉县| 惠东县| 乌恰县| 镇赉县| 新田县| 宁陕县|