Android的自动化错误显示:“安全例外:权限拒绝:启动意图”

问题描述 投票:1回答:2

使用appium /硒自动化脚本,但没有应用程序的多个测试的Android原生应用越来越打开,收到以下错误信息

标准错误: '安全例外:权限拒绝:开始从零意向书(PID = 20930,UID = 2000)没有从UID 10178导出'

所需的功能设置是否正确,但没有应用的越来越开放。

DesiredCapabilities caps = new DesiredCapabilities();
        caps.setCapability("deviceName", "Mobile");
        caps.setCapability("udid", "520042c3b5e5"); 
        caps.setCapability("platformName", "Android");
        caps.setCapability("platformVersion", "8.0.0"); 
        caps.setCapability("appPackage", "in.amazon.mShop.android.shopping");
        caps.setCapability("appActivity", "com.amazon.mShop.home.web.MShopWebGatewayActivity");
        caps.setCapability("noReset", "true");          

        //Instantiate Appium Driver
        try 
        {
            AppiumDriver<MobileElement> driver = new AndroidDriver<MobileElement>(new URL("http://0.0.0.0:4723/wd/hub"), caps);
        } 
        catch (MalformedURLException e) 
        {
            System.out.println(e.getMessage());
        }

亚马逊移动应用程序应该得到打开,但安全性异常:显示权限拒绝错误消息。

试图通过改变应用程序包和活动,并仍然得到同样的错误尝试了所有其他应用程序原生应用。

有几个解决方案在线它说在AndroidManifest.xml编辑的出口领域。如果本文件会被发现?

Appium版本 - 1.10.0的Java - JDK 1.8

java android selenium-webdriver automation appium-android
2个回答
0
投票

当您尝试启动appActivity不是主要的活动,你会得到这样那样的错误。

你必须把主要appActivity在您需要的能力。

我也得到了类似的问题时,开发者添加在应用程序启动画面,改变了主要的应用程序的活动。


1
投票

official documentation这是什么导出属性呢,如果:

  • 机器人:导出=真 - >的广播接收器能够从源接收该应用外的消息
  • 机器人:导出=假 - >广播接收机仅能够从应用程序本身的接收消息

您可以添加像下面的AndroidManifest.xml文件的exported元素标签内的<activity>属性:

 <activity android:name=".MainActivity"
        android:exported="true"> 
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
 </activity>
© www.soinside.com 2019 - 2024. All rights reserved.