亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 >
Robotium跨應用處理方法
作者:網絡轉載 發布時間:[ 2013/5/8 11:17:37 ] 推薦標簽:

  相信用過一段時間Robotium的同學一般都遇到過如下情況:界面跳轉到被測程序外以后,Robotium毫無對策了,這也是Instrumentation框架致命的一個缺點;然而領導是不會管你這些很“充分”的理由的…

  Ok,既然我們有這樣的需求,還是想辦法解決吧。調研了幾天終還是實現了一個曲線救國的方法:

  實現原理:編寫一個程序A,用于接收CASE中發送的指定廣播,當程序A接收到指定的廣播后會響應你注入的動作事件。

  準備工作:

  熟悉Service 、BoradCastReceiver、input keyevent, 有不清楚的同學可以先百度下以上知識模塊。

  具體實現:

  1、首先為了方便我們使用,我們可以設置為程序A為開機啟動一個Service,該Service中注冊一個BoardCastReceiver用于接收一個特定action的廣播,設置一個IntentFilter:IntentFilter mIntentFilter=new IntentFilter(); mIntentFilter.addAction(“android.zered.action”);然后在BoardCastReceiver的OnReceive方法中使用Runtime.getRuntime.exec(cmdB)執行我們Case中發送過來的指令(input keyevent xx 當然也可以是其他的一些shell命令)。注意:關于設置程序開機啟動,3.1以后Android系統對廣播接收做了安全處理——未啟動過的程序是不能接收廣播的,當然我們還是有方法解決:即把該程序設置為系統級應用即可,然后把該程序push到system/app下重啟手機;

  2、步驟1的完成已經為我們完成了一個命令執行端(可以理解為CS的server端),現在我們需要做的是發送這個廣播,發送廣播的方法為context.sendbroadcast,所以我們在Case中可以使用solo.getCurrentActivity.sendbroadcast發送廣播;

  剩下的是我們要把這個命令行cmdB封裝到廣播中,Intent intent=new Intent();intent.setAction(“android.zered.action”);intent.putExtra(TAG,cmdB);solo.getCurrentActivity.sendbroadcast(intent);

  Ok,這樣以來一個帶有命令行的廣播算是發送出去了。

  3、以上步驟完成以后,步驟1啟動的程序A中的Service接收到步驟2發送的廣播以后,會執行我們發送的命令行指令cmdB了:Runtime.getRuntime.exec(intent.getStringExtra(TAG))

  以上是Robotium跨應用的一種處理方法,歡迎大家拍磚。

軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 欧洲一区 | 国产精品免费视频一区二区三区 | 国产香蕉98碰碰久久人人 | 日韩 欧美 亚洲国产 | 一个人在线观看视频www | 国产在线精品二区李沁 | 午夜影院色 | 26uuu欧美日韩国产 | 日韩视频免费在线 | 国产高清一区二区三区四区 | 91精品国产自产在线观看 | 国产91在线看 | 精品一区二区三区中文字幕 | 伊人成人在线视频 | 97理论三级九七午夜在线观看 | 亚洲精品永久www嫩草 | 国产大片在线观看 | 午夜国产羞羞视频免费网站 | 亚洲综合20p| 亚欧在线一线 | 亚洲国产第一页 | 高清国产精品久久久久 | 日b在线观看 | 欧美刺激性大交 | 亚洲精品第四页中文字幕 | 亚洲国产成人精品一区二区三区 | 人成精品 | 欧美一级二级三级视频 | 国卡一卡二卡三免费网站 | 欧美一级手机免费观看片 | 精品91一区二区三区 | 在线播放 亚洲 | 久久亚洲人成国产精品 | 一区二区三区四区亚洲 | 男人女人真曰批的视频动态 | 欧美a级v片在线观看一区 | 久青草国产在线视频_久青草免 | japan孕妇孕交 | 一级做a毛片在线看 | www久久只有这里有精品 | 国产麻豆剧看黄在线观看 |