Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Appium AndroidDriver获取当前应用程序包名称_Android_Webdriver_Appium - Fatal编程技术网

使用Appium AndroidDriver获取当前应用程序包名称

使用Appium AndroidDriver获取当前应用程序包名称,android,webdriver,appium,Android,Webdriver,Appium,有一种方法可以获取AndroidDriver中的当前活动: driver.currentActivity() 它返回类似.MainActivity的字符串,但不带包名。有没有办法单独获取完整的活动名称或应用程序包?您可以从代码中启动ADB命令,如: 亚行壳牌 cd数据/应用程序 ls 您可以从代码中启动ADB命令,如: 亚行壳牌 cd数据/应用程序 ls 不幸的是,这还不可能 因为Appium使用的是Selenium WebDriver,所以应该为此扩展/修改WD协议。不幸的是,这还不可能 由

有一种方法可以获取AndroidDriver中的当前活动:

driver.currentActivity()

它返回类似
.MainActivity
的字符串,但不带包名。有没有办法单独获取完整的活动名称或应用程序包?

您可以从代码中启动ADB命令,如: 亚行壳牌 cd数据/应用程序 ls


您可以从代码中启动ADB命令,如: 亚行壳牌 cd数据/应用程序 ls


不幸的是,这还不可能


因为Appium使用的是Selenium WebDriver,所以应该为此扩展/修改WD协议。

不幸的是,这还不可能


由于Appium使用的是Selenium WebDriver,因此应扩展/修改WD协议。

此方法
driver.currentActivity()
可根据当前页面获取当前活动

使用
.getCapabilities()
获取程序包名称和活动名称:

//return package name
driver.getCapabilities().getCapability("appPackage").toString();
//return activity name, as generic (not based on current page)
driver.getCapabilities().getCapability("appActivity").toString();

参考:

此方法
driver.currentActivity()
基于当前页面获取当前活动

使用
.getCapabilities()
获取程序包名称和活动名称:

//return package name
driver.getCapabilities().getCapability("appPackage").toString();
//return activity name, as generic (not based on current page)
driver.getCapabilities().getCapability("appActivity").toString();

参考资料:

当您使用appium时,设备没有直接连接,因此您的解决方案无法工作您所说的“直接连接”是什么意思?这意味着我通过selenium grid提供了设备云,而当您使用appium时,appium设备没有直接连接,因此您的解决方案无法工作您所说的“直接连接”是什么意思这意味着我可以通过selenium grid和appium使用设备云