- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想测试一个 android 应用程序,我必须使用 Robot Framework 和 Appium Library。由于我是 Robot Framework 的新手,我创建了一个演示应用程序和测试,它只是启动应用程序。但是,我在 appium 服务器上收到以下错误:
[MJSONWP] Encountered internal error running command: Error: Cannot start the 'g
r.cosmote.testcosmoteidsdk' application. Original error: Error executing adbExec
. Original error: 'Command 'C\:\\Users\\usl014\\AppData\\Local\\Android\\Sdk\\pl
atform-tools\\adb.exe -P 5037 -s emulator-5554 shell am start -W -n gr.cosmote.t
estcosmoteidsdk/gr.cosmote.testcosmoteidsdk.activities.HomeActivity -S -a androi
d.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000' exited w
ith code 4294967295'; Stderr: 'Security exception: Permission Denial: starting I
ntent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] fl
g=0x10200000 cmp=gr.cosmote.testcosmoteidsdk/.activities.HomeActivity } from nul
l (pid=9049, uid=2000) not exported from uid 10081
[MJSONWP]
[MJSONWP] java.lang.SecurityException: Permission Denial: starting Intent { act=
android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000
cmp=gr.cosmote.testcosmoteidsdk/.activities.HomeActivity } from null (pid=9049,
uid=2000) not exported from uid 10081
[MJSONWP] at com.android.server.am.ActivityStackSupervisor.checkStartAnyAc
tivityPermission(ActivityStackSupervisor.java:1632)
[MJSONWP] at com.android.server.am.ActivityStarter.startActivity(ActivityS
tarter.java:438)
[MJSONWP] at com.android.server.am.ActivityStarter.startActivityLocked(Act
ivityStarter.java:278)
[MJSONWP] at com.android.server.am.ActivityStarter.startActivityMayWait(Ac
tivityStarter.java:817)
[MJSONWP] at com.android.server.am.ActivityManagerService.startActivityAnd
Wait(ActivityManagerService.java:4625)
[MJSONWP] at com.android.server.am.ActivityManagerShellCommand.runStartAct
ivity(ActivityManagerShellCommand.java:412)
[MJSONWP] at com.android.server.am.ActivityManagerShellCommand.onCommand(A
ctivityManagerShellCommand.java:141)
[MJSONWP] at android.os.ShellCommand.exec(ShellCommand.java:96)
[MJSONWP] at com.android.server.am.ActivityManagerService.onShellCommand(A
ctivityManagerService.java:15014)
[MJSONWP] at android.os.Binder.shellCommand(Binder.java:594)
[MJSONWP] at android.os.Binder.onTransact(Binder.java:492)
[MJSONWP] at android.app.IActivityManager$Stub.onTransact(IActivityManager
.java:4243)
[MJSONWP] at com.android.server.am.ActivityManagerService.onTransact(Activ
ityManagerService.java:2919)
[MJSONWP] at android.os.Binder.execTransact(Binder.java:697)'; Code: '4294
967295'
[MJSONWP] at ADB.callee$0$0$ (C:\Users\usl014\AppData\Roaming\npm\node_modul
es\appium\node_modules\appium-adb\lib\tools\apk-utils.js:125:11)
[MJSONWP] at tryCatch (C:\Users\usl014\AppData\Roaming\npm\node_modules\appi
um\node_modules\babel-runtime\regenerator\runtime.js:67:40)
[MJSONWP] at GeneratorFunctionPrototype.invoke [as _invoke] (C:\Users\usl014
\AppData\Roaming\npm\node_modules\appium\node_modules\babel-runtime\regenerator\
runtime.js:315:22)
[MJSONWP] at GeneratorFunctionPrototype.prototype.(anonymous function) [as t
hrow] (C:\Users\usl014\AppData\Roaming\npm\node_modules\appium\node_modules\babe
l-runtime\regenerator\runtime.js:100:21)
[MJSONWP] at GeneratorFunctionPrototype.invoke (C:\Users\usl014\AppData\Roam
ing\npm\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:13
6:37)
我的测试代码:
*** Settings ***
Documentation Suite description
Library AppiumLibrary
*** Variables ***
${REMOTE_URL} http://localhost:4723/wd/hub
${PLATFORM_NAME} Android
${PLATFORM_VERSION} 8.1
${DEVICE_NAME} Pixel 2 XL API 27
${APP} C:/Users/usl014/PycharmProjects/robotframeworkdemo/tests/demoapp/app-debug.apk
*** Test Cases ***
Test title
Open Application ${REMOTE_URL} platformName=Android platformVersion=${PLATFORM_VERSION} autoGrantPermissions=true deviceName=${DEVICE_NAME} app=${APP} automationName=appium appActivity=gr.cosmote.testcosmoteidsdk.activities.HomeActivity
Capture Page Screenshot
Close Application
最后,应用程序的 list 如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="gr.cosmote.testcosmoteidsdk">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".activities.HomeActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".activities.LoginActivity"
android:exported="true" />
<activity android:name=".activities.RegisterActivity"
android:exported="true" />
<activity android:name=".activities.GreetingActivity"
android:exported="true" />
</application>
</manifest>
在 list 中,我添加了 android:exported="true",这是我找到的建议,但对我不起作用。任何帮助将不胜感激!
提前致谢。
最佳答案
您遇到的问题与 Robotframework 或 Appium 无关。这是因为您的 Activity 无法启动。我建议摆脱 intent-filter,看看是否有帮助。
否则,暂时跳过 Appium,在终端中使用 adb shell 来确保解决问题:一旦 am start -n yourpackagename/.activityname
将毫无问题地运行应用程序,您就可以返回 Appium
关于android - 机器人框架 - Appium 库 : Security Exception while starting the application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51261390/
我在识别“Appium”中突出显示的元素时收到以下消息。 Appium: 1.7.1设备:iPhone X(12.0 和模拟器)Java 客户端: 1.6.1Xcode:V 10 交互不适用于此元素。
我在 IOS 和 Android 的移动自动化中使用了 Appium。我想知道提供 Calabash 的优势,以及这两种工具生成的脚本是否有共同点? 我已经点击了这个链接:Appium VS Cala
由于 swipe() 已弃用,我无法从左向右滑动屏幕。我的应用程序中有 4 个横幅,我想滑动以查看所有横幅。 最佳答案 这适用于所有方向: 枚举: public enum DIRECTION {
在进行 Appium 测试时,我单击退出应用程序的按钮,如何检查应用程序是否正在运行或我们返回主屏幕。是否有任何方法可以仅通过包名称查找元素列表。 最佳答案 import io.appium.java
我试过命令: npm -install -g appium@1.6 但是当我重新启动 Appium 时,它仍然是 1.5.3 版本。 最佳答案 有两种不同类型的 appium 工具可用 Appium
Mac书空气 Java 1.8 Appium桌面版1.8.1 大家好, 我正在构建一个 TestNG 框架,并且我想以编程方式启动我的 appium 桌面服务器以进行测试。所以我决定做的是创建一个 j
打开终端 (cmd) 并运行 appium-doctor 后,我收到以下警告: WARN AppiumDoctor ✖ opencv4nodejs cannot be found. WARN Appi
这里是移动自动化的新手。我正在尝试使用 Touch Action 执行以下代码来执行滑动操作以导航到第 2 页,但滑动不起作用。 AndroidDriver driver=new AndroidDri
我有一个 iOS 应用程序,它在单个页面上有很多输入字段。我想自动执行这些输入,我知道如何滚动到这些元素和所有内容,但我对部分显示的元素有疑问。 有两种情况下部分显示的元素会导致问题: 第一种情况是当
我正在使用 eclipse 学习 appium,但在启动我的模拟器时卡住了。我尝试了不同的方法,例如在文件夹结构中四处移动文件,但我一直收到 文件不存在或不可访问 我尝试搜索答案,但没有任何帮助。 p
我的应用程序需要多个应用程序权限。我需要通过允许或拒绝不同的权限来检查我的应用程序的行为。如何从 appium 启用/禁用应用程序权限以创建多个场景? 例如,假设我的应用程序需要权限:permissi
我正在使用 Appium 版本 V1.15.0 并且已经使用默认主机:0.0.0.0 和端口:4723 成功启动服务器 但是现在当我尝试启动服务器时,它显示了这个错误“Error Starting A
我在一家提供 wifi 的公司工作。我有一些接入点设置,我想编写一些模拟连接到这些接入点的自动化测试。 所以我的测试将是这样的: 发射装置 转到设备上的 wifi 设置 选择要连接的wifi 验证设备
我在用 : Xcode 10.1 Os Version : 12.1 iPhone 6 我确实按照所有必需的步骤来设置构建和所有内容,但是在尝试使用 xcode build 构建项目时仍然出现错误。
我正在使用 appium 工具测试我的应用程序。在测试过程中,android应用程序在启动器事件附近崩溃,仅在8以下版本的某些设备上显示以下错误。如何解决? An unknown server-sid
我试图运行测试ipa。但是 appium 在循环中重新启动应用程序并产生此错误。 [INST STDERR] Instruments Trace Error : Target failed to ru
我想知道是否有人知道在运行 Appium 测试时使用什么 Java/Groovy 库/工具来嗅探、记录和处理 native 应用程序的 HTTP 流量?有没有人在特定情况下使用 Browser Mob
我在测试中担任 SD。我是 Appium 自动化工具的新手,这个工具对我来说设置环境非常棘手。 我引用了以下链接:http://unmesh.me/category/appium/ 这个链接帮助我安装
正在测试 Android 和 iOS 应用程序。这是我的应用程序的配置屏幕,出现一个 OTP 用例,停止对应用程序的进一步测试。用例是。 当用户在应用程序的起始页面输入手机号码时,指令为 。点击发送按
我已经安装了 appium doctor 并且在 mac 上没有错误地安装了它。但是,当我使用命令“appium-doctor -h”进行检查时。它给出了以下异常。你能告诉我这里出了什么问题吗: ap
我是一名优秀的程序员,十分优秀!