有时候在appium的Desired Capabilities中需要指定被测app的appActivity,下面的方法可能会对你有所帮助。

方法一

如有你有待测项目的源码,那么直接查看源码就好。如果没有,那么请联系有源码的同学,这是推荐方法。

本文版权归乙醇所有,欢迎转载,但请注明作者与出处,严禁用于任何商业用途

方法二

如果你没有代码,那么可以反编译该app。

这里将用到2个工具,分别是dex2jar和jd-gui。你可以在这里下载目前为止的最新版本以及示例apk。

我们以工具包里的ContactManager.apk为例,简单介绍一下反编译的流程。

  • 1,重命名ContactManager.apk为ContactManager.zip并解压得到文件classes.dex;
  • 2,解压dex2jar-0.0.9.15.zip,并从命令行进入该文件夹;
  • 3,运行命令
d2j-dex2jar.bat path_to\classes.dex 

在当前文件夹下得到classes-dex2jar.jar;

  • 4,解压jd-gui-0.3.6.windows.zip得到文件jd-gui.exe;
  • 5,使用jd-gui.exe打开classes-dex2jar.jar;

嗯,好了,可以尽情欣赏了。上图。

上图所示的ContactManager就是待测app的main activity。

方法三

参考testerhome的这个帖子

使用log查看大法(嗯,windows上没grep不幸福,好在有powershell的Select-String,可以拿来勉强一用),直接搬砖。

a、启动待测apk
b、开启日志输出:adb logcat>D:/log.txt 
c、关闭日志输出:ctrl+c
d、查看日志
找寻:

Displayed com.mm.android.hsy/.ui.LoginActivity: +3s859ms
appPackage = com.mm.android.hsy
appActivity = .ui.LoginActivity

好了,准备活动做的差不多了。下一节乙醇带大家进行控件定位之旅。

本文版权归乙醇所有,欢迎转载,但请注明作者与出处,严禁用于任何商业用途

appium简明教程(9)——如何获取android app的Activity的更多相关文章

  1. monkey测试===如何获取android app的Activity

    方法一(推荐): 手机连接adb,手机界面在需要取得activity的界面. 推荐使用该命令: adb shell dumpsys activity top | findstr ACTIVITY 获取 ...

  2. Appium自动化(5) - 如何获取android app 的Activity 和 Package

    如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html 前言 在Desired Capab ...

  3. 如何获取android app的Activity

    方法一 如有你有待测项目的源码,那么直接查看源码就好.如果没有,那么请联系有源码的同学,这是推荐方法.   方法二 直接把apk后缀改为zip格式,打开压缩包后再打开AndroidManifest.x ...

  4. appium简明教程

    appium简明教程 什么是appium? 下面这段介绍来自于appium的官网. Appium is an open-source tool you can use to automate mobi ...

  5. 转载乙醇大师的appium简明教程

    appium简明教程(11)——使用resource id定位(仅支持安卓4.3以上系统) 乙醇 2014-06-28 21:01 阅读:16406 评论:21 appium简明教程(10)——控件定 ...

  6. 获取 Android APP 版本信息工具类(转载)

    获取 Android APP 版本信息工具类 获取手机APP版本信息工具类 1.获取版本名称 2.获取版本号 3.获取App的名称 package com.mingyue.nanshuibeidiao ...

  7. Android app启动activity并调用onCreate()方法时都默默地干了什么?

    Android app启动activity并调用onCreate() 方法时都默默地干了什么?   在AndroidManifest.xml文件中的<intent-filter>元素中有这 ...

  8. appium简明教程(6)——启动appium及android模拟器

    一般情况下,我们都从命令行启动appium. windows下,dos命令窗口输入 appium 如果该命令报错,那么请重装appium npm install -g appium 如果安装出错,请自 ...

  9. appium简明教程(7)——Desired Capabilities详解

    Desired Capabilities在启动session的时候是必须提供的. Desired Capabilities本质上是key value的对象,它告诉appium server这样一些事情 ...

随机推荐

  1. C#.NET常见问题(FAQ)-如何让Listbox支持多选

    把SelectionMode改成MultiExtended   更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123   我的在线 ...

  2. iOS SDK 从配置文件里读SDK。转化成class 可同时加载多个SDK

    首先在工程中加入XXX  plist 配置文件. 然后在key 输入名字比如allsdk  value 里填写.a 文件的名字 NSString *plistPath = [[NSBundle mai ...

  3. 线程:主线程、子线程 同步线程、异步线程 单线程、多线程 System.Threading与System.Windows.Threading

    入门-------------------------------------------------------------------------------- 概述与概念    一个C#程序开始 ...

  4. centos7没有ifconfig命令

    yum search ifconfig 看到 net-tools.x86_64 : Basic networking tools 安装net-tools: yum install net-tools

  5. Selenium2(WebDriver)总结(三)---元素定位方法

    元素定位的重要性不言而喻,如果定位不到元素谈何操作元素呢,webdrvier提供了很多种元素定位方法,如ID,Name,xpath,css,tagname等. 例如需要定位如下元素: <inpu ...

  6. from flask.ext.wtf import Form导入报错

    问题来源: 在学习Flask网上教程(PS:中文版教程链接,英文版教程其中代码是对的,运行没错误,我为了看的快一些,所以就直接看的中文版>~<,英文版教程链接)时,使用如下代码: from ...

  7. 〖Android〗依据资源信息,Mock Android资源

    #!/bin/bash - #=============================================================================== # # F ...

  8. Mybatis-Dao层开发之Mapper接口

    Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上边Dao接口实现类方法. Mapper接口开发 ...

  9. SpringBoot bootstrap 配置文件没有生效

    今天单独使用SpringBoot,发现其中的bootstrap.properties文件无法生效,改成yaml格式也无济于事. 最后调查发现原来是因为SpringBoot本身并不支持,需要和Sprin ...

  10. Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener. ...nested exception is java.lang.NoSuchMethodError:

    ssh 中,项目部署到服务器的时候,出现这样的奇葩的事情: 21-Oct-2017 11:27:15.953 INFO [localhost-startStop-1] org.apache.catal ...