大连之窗_综合信息门户网站
您当前的位置 : 大连之窗  >  财经
android如何自动切换后台app
2020-03-23 07:02:39 来源:互联网 阅读:1

在做 android 前端性能自动化测试时,你是否经历过这样的场景:依次启动 A、B、C 三个 app,其中 C 是被测 app, 当当前屏幕切换到 B 进行相关操作后,如何通过封装方法实现自动切换会已经处于后台进程模式的被测 app 进程 C 呢?

我的实现思路大体是这样的。

1

首先封装点击键盘 menu 键操作,代码如下所示:

public static void tapDeviceMenu(String udid){String cmdMenu = "adb -s "+udid+" shell input keyevent KEYCODE_MENU";CmdUtils.executeCmd(cmdMenu);}

2

当前界面处于进程切换情况下,可以通过点当前屏幕的中点实现切换到进程 C 的预期效果,封装点击当前屏幕中点方法,代码如下所示:

public static void screenTapCenter(String udid){List<String> list = AppiumUtil.getResolution(udid);if(list.size() == 2){String width = list.get(0);String height = list.get(1);String cmdTapCenter = "adb -s "+udid+" shell input tap "+(Integer.valueOf(width)/2)+" "+(Integer.valueOf(height)/2);CmdUtils.executeCmd(cmdTapCenter);} }

3

不同的手机设备屏幕分辨率是不同的,如何兼容不同手机获取中点坐标呢?封装方法如下:

public static List<String> getResolution(String udid){String cmdStr = "adb -s "+ udid +" shell wm size";List<String> strList = CmdUtils.executeCmd(cmdStr);List<String> list = new ArrayList<String>();for( int i = 0; i< strList.size(); i++){if( strList.get(i)!=null && !strList.get(i).isEmpty() ){list = StringMatchUtils.getMatchers("Physical size: (\\d{1,})x(\\d{1,})", strList.get(i),2);} }return list; }

4

对应的 adb 命令有哪些呢?

>adb shell input keyevent KEYCODE_MENU>adb shell input tap 中点横坐标中点纵坐标Ⅴ注意,该方法仅适用于安卓设备启动 3 个应用,并且启动顺序是 A、B、C,并且 B 这个 App处于当前界面情况下如何切换到 C 情况下。这里还涉及到获取 dos 命令返回结果以及正则匹配指定字符串,这两个方法封装较常见,在这里就不再赘述了。

作  者:Testfan 恨水

出  处:微信公众号:自动化软件测试平台

版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接

推荐阅读:怎么查找我的iphone

频道推荐
  • 湖北10大旅游景点,你都去过哪些地方?等疫情完事美景不容错过
    湖北10大旅游景点,你都去过哪些地方?等疫情

    大家去过湖北省吗?想不想去湖北旅行?今天给大家推荐10个湖北省的旅游景点,美景不容错过,你去过几个?一、黄鹤楼公园“昔人已乘黄鹤去,此地空余黄鹤楼”,唐代诗人崔...

    2020-02-18
  • 洞天福地——人界与天界连接的地方
    洞天福地——人界与天界连接的地方

    道有三十六洞天,七十二福地,皆仙人居处游憩之地。历代以来,道侣栖止,香客游人络绎不绝,故洞天福地已成为中国绵绣河山之胜境。壹我们来到一个地方旅游,总听导游介绍说...

    2020-02-18
  • 2020必去浙江的旅游景点,网友:如果允许我出去,哪里我都愿意去
    2020必去浙江的旅游景点,网友:如果允许我

    被誉为“江南水乡”的浙江省你们去过了吗?见过真正的湖吧?下面就让小编为大家介绍一下2020超实用浙江旅游景点大全吧。一、杭州西湖杭州西湖古称“钱塘湖”,又名“西...

    2020-02-18
  • 明明只是住个酒店,却像穿越回到汉唐
    明明只是住个酒店,却像穿越回到汉唐

    上一次看到云南玩咖小艺小姐姐去试睡了炫酷黑科技酒店“维笙望湖宾馆”,真是非常羡慕,不过这次加入“游云南”玩咖,也带领大家体验下昆明世博园里的千寻墨问禅意温泉SP...

    2020-02-18
  • 新加坡又建网红酒店?野生动物公园里的悦榕庄|WOW 设计
    新加坡又建网红酒店?野生动物公园里的悦榕庄|

    论东南亚的建筑与设计新加坡拔得头筹从豪宅到酒店,再到建筑设计风格独树一帜01.自然野生园里的度假酒店以“花园城市”著称的新加坡将在2023年开放Mandai度假...

    2020-02-18
  • 藏在婺源中国最美乡村的徽派民宿,这才是春日的终极踏青丨花田溪
    藏在婺源中国最美乡村的徽派民宿,这才是春日的

    说起婺源,没有一秒钟的犹豫,你可能就会喊出油菜花。没有办法,油菜花跟婺源的关系就像1+1=2这样条件反射般的关联在一起。但婺源的美不止是春天的油菜花,晒秋是,稻...

    2020-02-18