我正在使用此代码,无法在我的移动设备上启动应用程序
package Mobileapp1;
.
.
import io.appium.java_client.remote.MobileCapabilityType;
public class Apptesting
{
public static void main(String[] args) throws MalformedURLException
{
DesiredCapabilities c=new DesiredCapabilities();
c.setCapability(CapabilityType.BROWSER_NAME, "");
c.setCapability("deviceName", "ZZ2222HMLF");
c.setCapability("platformName", "Android");
c.setCapability("platformversion", "7.0");
c.setCapability(MobileCapabilityType.APP, "D:\\Appium\\edTheSIS_11_02_2019.apk");
c.setCapability("noReset", true);
c.setCapability("autoGrantPermissions", "true");
c.setCapability("appPackage","com.sisapp.in.sisapp");
//c.setCapability("appPackage","com.sisapp.in.sisapp.SplashActivity"); Tried not working same issue
c.setCapability("appActivity", "SplashActivity");
//c.setCapability("appActivity",".md5b1afd03e09ce5243fd0287b176ff38ea.MainActivity");
URL U=new URL("http://127.0.0.1:4723/wd/hub");
WebDriver driver=new AndroidDriver(U,c);
//driver.findElement(By.linkText("Username")).sendKeys("as@ct");
}
}
TLDR:
原始错误:活动名称'。用于启动应用程序的SplashActivity不存在或无法启动!确保它存在并且是可启动的活动
下面是我的错误日志
log4j:WARN找不到记录器(org.apache.http.client.protocol.RequestAddCookies)的追加器。log4j:警告请正确初始化log4j系统。log4j:看到了吗http://logging.apache.org/log4j/1.2/faq.html#noconfig了解更多信息。线程“main”组织中出现异常。openqa。硒。WebDriverException:处理该命令时发生未知的服务器端错误。原始错误:无法启动“com”。sisapp。在里面sisapp的应用程序。参观https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/activity-startup.md用于故障排除。原始错误:无法启动“com”。sisapp。在里面sisapp的应用程序。参观https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/activity-startup.md用于故障排除。原始错误:活动名称'。用于启动应用程序的SplashActivity不存在或无法启动!确保它存在并且是可启动的活动构建信息:版本:'3.8.1',版本:'6e95a6684b',时间:'2017-12-01T19:05:14.666Z'系统信息:主机:'DELL30',ip:'10.10.4.222',操作系统。名称:“Windows 7”,操作系统。拱门:“amd64”,操作系统。版本:“6.1”,java。版本:“1.8.0_151”驱动程序信息:驱动程序。版本:AndroidDriver remote stacktrace:未知错误:处理命令时发生未知服务器端错误。原始错误:无法启动“com”。sisapp。在里面sisapp的应用程序。参观https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/activity-startup.md用于故障排除。原始错误:无法启动“com”。sisapp。在里面sisapp的应用程序。参观https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/activity-startup.md用于故障排除。原始错误:活动名称'。用于启动应用程序的SplashActivity不存在或无法启动!确保它存在,并且可以在asyncHandler的getResponseForW3CError(C:\Users\arvind\AppData\Local\appium desktop\app-1.10.0\resources\app\node\U modules\appium base driver\lib\protocol\errors.js:826:9)启动(C:\Users\arvind\AppData\Local\appium desktop\app-1.10.0\resources\app\node\u modules\appium base driver\lib\protocol\protocol.js:447:37)在进程中_tickCallback(internal/process/next_tick.js:68:7)在sun。反映国家建筑配件公司。sun的newInstance0(本机方法)。反映国家建筑配件公司。sun的newInstance(未知源)。反映授权构造或AccessorImpl。java上的newInstance(未知源代码)。朗,反思一下。建造师。组织上的newInstance(未知源)。openqa。硒。遥远的这是我的回应。lambda$new$0(W3CHandshakeResponse.java:57)位于org。openqa。硒。遥远的这是我的回应。org上的lambda$getResponseFunction$2(W3CHandshakeResponse.java:104)。openqa。硒。遥远的协议握手。lambda$createSession$0(ProtocolHandshake.java:123)在java上。util。流动参考管道3美元1美元。在java上接受(未知源代码)。util。拆分器$ArraySpliterator。java上的tryAdvance(未知源代码)。util。流动参考管线。java上的forEachWithCancel(未知源代码)。util。流动抽象管道。java上的copyIntoWithCancel(未知源代码)。util。流动抽象管道。java上的copyInto(未知源代码)。util。流动抽象管道。java上的wrapAndCopyInto(未知源代码)。util。流动FindOps$FindOp。java上的evaluateSequential(未知源代码)。util。流动抽象管道。在java上评估(未知源代码)。util。流动参考管线。在组织中查找第一个(未知来源)。openqa。硒。遥远的协议握手。在org上创建会话(ProtocolHandshake.java:126)。openqa。硒。遥远的协议握手。在org上创建会话(ProtocolHandshake.java:73)。openqa。硒。遥远的HttpCommandExecutor。在io上执行(HttpCommandExecutor.java:142)。阿皮姆。java_客户端。遥远的应用命令执行器。在org上执行(AppiumCommandExecutor.java:89)。openqa。硒。遥远的RemoteWebDriver。在io上执行(RemoteWebDriver.java:601)。阿皮姆。java_客户端。DefaultGenericMobileDriver。在io上执行(DefaultGenericMobileDriver.java:42)。阿皮姆。java_客户端。阿皮姆河。在io上执行(AppiumDriver.java:1)。阿皮姆。java_客户端。Android机器人司机。在org上执行(AndroidDriver.java:1)。openqa。硒。遥远的RemoteWebDriver。org上的startSession(RemoteWebDriver.java:219)。openqa。硒。遥远的RemoteWebDriver。(RemoteWebDriver.java:142)在io上。阿皮姆。java_客户端。DefaultGenericMobileDriver。(DefaultGenericMobileDriver.java:38)在io上。阿皮姆。java_客户端。阿皮姆河。(AppiumDriver.java:83)在io。阿皮姆。java_客户端。阿皮姆河。(AppiumDriver.java:93)在io。阿皮姆。java_客户端。Android机器人司机。(AndroidDriver.java:72)在Mobileapp1。应用程序测试。main(Apptesting.java:29)
尝试下面提到的依赖项,您可以在不提及MainActivity的情况下启动应用程序。
>
DesiredCapabilities cap = new DesiredCapabilities();
File appDir = new File("Folder path to .apk file location");
File newApp = new File (appDir ,"Project.apk" );
/* ANDROID DEPENDENCIES START*/
cap.setCapability(CapabilityType.BROWSER_NAME, "");
cap.setCapability("deviceName", "Nexus5XAPI26");
cap.setCapability("udid", "YourDeviceUDID");
cap.setCapability("platformName", "Android");
cap.setCapability("platformVersion","7.1.1");
cap.setCapability("automationName", "UiAutomator2");
cap.setCapability("app", newApp.getAbsolutePath());
/* ANDROID DEPENDENCIES END */
cap.setCapability("app", newApp.getAbsolutePath());
appDriver = new AppiumDriver(new URL("http://0.0.0.0:4723/wd/hub"), cap);
对我来说,使用“appActivity”的完整路径通常是有效的:
c.setCapability("appPackage","com.sisapp.in.sisapp.SplashActivity");
或者你的开始活动有不同的名字。然后在通过ADB手动启动应用程序后,尝试找出当前活动的真实名称:
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'
或
adb shell dumpsys activity
如果使用应用功能,则不需要指定appPackage和appActive功能。如果不测试本机应用浏览器,则不需要名称功能。
DesiredCapabilities c=new DesiredCapabilities();
c.setCapability("deviceName", "ZZ2222HMLF");
c.setCapability("platformName", "Android");
c.setCapability("app", "D:\\Appium\\edTheSIS_11_02_2019.apk");
c.setCapability("noReset", true);
c.setCapability("autoGrantPermissions", "true");
URL U=new URL("http://127.0.0.1:4723/wd/hub");
AppiumDriver<MobileElement> driver=new AndroidDriver(U,c);
如果你想知道你的应用程序的appPackage和appActive,你可以将你的设备连接到计算机,打开应用程序并运行以下命令:
adb shell
dumpsys window windows | grep -E 'mFocusedApp'
这将显示你的应用程序活动和应用程序包。要了解更多关于它的信息,你可以检查这个链接。
我是appium的新手,目前正在尝试创建一些简单的测试。我的问题是我根本无法启动正在测试的应用程序,它唯一有效的时间是使用appium-dotnet-驱动程序解决方案中包含的演示应用程序通过github提供 https://github.com/appium/appium-dotnet-driver 我已经在我的Nexus 5和几个模拟器上尝试了2个不同的应用程序,但没有任何效果(请参阅下面的附加
我正在我的应用程序中开发通知,我对即将到来的意图有一些问题,这让我抓狂。 正常流程:我的应用程序有启动程序活动(活动A,单顶),它显示一个飞溅,然后启动活动B(单顶也是)。 通知:当应用程序在后台时,我在通知栏上显示一个通知,当单击时,它会通过PendingIntent打开应用程序的启动器活动。这个PendingIntent地址为活动A(SingleTop)。但是在这个场景中,它没有打开活动A,而
我有一份Java申请。 应用程序有一个决定应用程序是否在启动时启动的设置。 目前,我通过在StartUp items文件夹中放置/删除快捷方式实现了这一点。 然而,我想知道是否有更好的方法来处理这种行为。 编辑 是的,是视窗。抱歉之前没有清除。 应用程序有一个UI,用户可以在其中触发操作,并且应用程序在运行时定期在后台运行一些任务。 @Peter,如何使用应用程序中的代码更改注册表?这种方法是否与
问题内容: 在添加异步任务之前,我已经对代码进行了一些更改,我的应用程序可以正常运行其远程服务器上的身份验证用户名和密码,但是在登录成功消息消失后无法启动其他活动。有人建议我现在添加一个异步任务,但是我输入正确的用户名和密码后它将停止工作。当我输入错误的用户名和密码时,其工作正常将显示错误的用户名密码消息。如果有人能够知道会出现什么错误,请帮助我。 码- 日志猫 QuestionnActivi
我已经在tomcat服务器上安装了应用程序。在启动和加载应用程序的过程中,我有以下堆栈跟踪的错误。如何解决这个问题? apache-tomcat-7.0.47/webapps/petclinic 2016年10月27日下午12:14:36 org。阿帕奇。卡塔琳娜。果心标准上下文起始内部 严重:ServletContainerInitializer处理javax时出错。servlet。Servle
我在intellij上启动spring boot应用程序时遇到问题,它失败了,并显示以下消息:与目标VM断开连接,地址:'127.0.0.1:49784',传输:'socket' 过程结束,退出代码为255。以前有人遇到过这种情况吗?