appium测试之获取appPackage和appActivity

  appPackage和appActivity 进行appium自动化测试非常重要的两个参数,我们所测试的APP不同,这两个参数肯定也是不一样的。那如何快速的获取这APP的这两个参数呢?我这里介绍两个方法。

import org.openqa.selenium.remote.DesiredCapabilities;

import java.net.MalformedURLException;
import java.net.URL;

import io.appium.java_client.android.AndroidDriver;

public class appiumZhihu {

    public static void main(String[] args) throws MalformedURLException, InterruptedException {

        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName", "Android Emulator");
        capabilities.setCapability("automationName", "Appium");
        capabilities.setCapability("platformName", "Android");
        capabilities.setCapability("platformVersion", "6.0");
        capabilities.setCapability("appPackage", "??");
        capabilities.setCapability("appActivity", "??");  

        AndroidDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

    }

}

方法一

首先,你要有一个APP的安装包 xxx.apk,

然后,通过这个解压工具将.apk解压。如下:

通过notepad++ 打开AndroidManifest.xml 文件,在里面搜索:manifest对应的就是appPackage。

搜索:activity对应的就是appActivity。(activity关键字很多,你要注意辨别。)

方法二

这种方法也比较简单,主要针对你没有.apk包的情况,比如Android原生自带的APP(计算器、通讯录、短信...),可以通过adb 命令。

1,打开APP。

2,执行> adb logcat>D:/log.txt

3, 胡乱的对APP做一些操作。

4, Ctrl+c 结束adb命令。

5, 打开log.txt文件,搜索:Displayed

appPackage:   com.android.messaging

appActivity:.ui.conversationlist.ConversationListActivity

时间: 2024-10-11 00:29:43

appium测试之获取appPackage和appActivity的相关文章

Appium移动自动化测试之获取appPackage和appActivity

方法一:直接打开Appium,点击左上角机器人图标 选择apk所在位置,如图所示,这里以ContactManager.apk为例 方法二:利用dex2jar和jd-gui这两个工具反编译apk文件 这里仍以ContactManager.apk为例 (1)重命名ContactManager.apk为ContactManager.zip并解压得到文件classes.dex: (2)解压dex2jar-2.0.zip,并从命令行进入该文件夹: (3)运行命令 在当前文件夹(F:\android_pro

获取appPackage和appActivity(python+appium)

(一般情况下,这两个参数可以让开发提供:如果有某种原因不能获取,而你只有安装包,那么可以通过以下步骤获取) 步骤一: 连接真机或开启安卓模拟器,打开Appium.(前提是python+appium环境是OK的) 步骤二: 在真机或模拟器上打开需要获取appPachage和appActivity的apk 步骤三: 开启日志输出(进入cmd,执行adb logcat>D:/log.txt)--路径自己随意哈 步骤四: 找到你刚输出的日志,打开日志,ctrl+f搜索下 Displayed,就能看到你需

adb工具获取appPackage和appActivity

1,手机连接电脑,打开手机调试功能,并运行待测试APP,终端执行: adb shell 2,接着,执行: dumpsys window windows | grep -E 'mFocusedApp' 直接查看输出结果中mFocusedApp的值,比如 mFocusedApp=AppWindowToken{372f88d6 token=Token{3b7b14f1 ActivityRecord{20692498 u0 com.tencent.mm/.ui.LauncherUI t895}}} 那么

获取app-package和app-activity的值

原文链接:http://sqa.stackexchange.com/questions/12373/android-app-testing-with-appium/12382#12382 I suggest you to use adb (Android Debug Bridge) tool (part of Android SDK). So, install application under test on target Android device or emulator. And you

app的deviceName,apppackage,appactivity获取

deviceName值的获取: deviceName=192.168.137.150:5555 ip:手机ip地址,端口,通过如下命令开启 # adb devices //查看当前连接设备 # adb tcpip 5555 //开启5555端口 # adb connect 192.168.137.150 //连接手机看是否能连接 # adb devices //再查看当前连接设备 参考地址:http://adbshell.com/commands/adb-connect 元素定位工具:使用And

appium不能获取webview内容的解决办法

在用appium对小猿搜题app进行自动化测试时,准备用page_source打印出文章的xml内容 但是发现只能打印出外部结构内容,实际的文章内容却没有显示 截图如下 查询之后,得知需要通过contexts获取所有的context,然后通过switch_to.context()切换到对应的context下便可获取 通过打印context,结果如下 显示只有一个NATIVE_APP,并没有其他的webview信息 又经过一番查询,得知只有在android4.4及以上版本的系统中才会输出更多的we

appium如何获取conten-desc内容文本

如何获取conten-desc内容文本 定位到该元素,通过getAttribute("name");来获取内容如:媒体报道 总结: 思路和selenium一样,可以理解为获取它的value值,只不过是括号写的name

Appium Android 获取包名和 Activity 的几种方法 (转)

本文档主要记录"获取包名和 Activity 的方法",用于自动化测试时启动APP.以下方法主要来源于网络和社区同学的贡献,特此感谢! 1. 方法一: pm list package查看包名 adb shell pm list package -f 将获取手机内所有apk对应的包名和路径 adb shell pm list package -3 -f #获取第三方apk的包 2. 方法二:dumpsys window(本人最常用) 先打开需要查找的apk后,再敲入以上命令 adb sh

python appium 封装获取toast方法

获取toast text封装,传入toast 部分文本,返回全部文本 def get_toast_text(self,text): try: toast_loc = (By.XPATH, "//*[contains(@text,'"+text+"')]") logger.info(toast_loc) ele = WebDriverWait(self.driver, 10, 0.1).until(EC.presence_of_element_located(toas