appium / appium/java-client

AppiumDriver.launchApp() causes ENOTDIR error

Open
#1,145 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
1.3k
Forks
752
Avg merge
6d 21h
Merged PRs (30d)
8

Description

Closing and then launching the app on mac for iOS simulator throws expcetion

user.mDriver.closeApp();
user.mDriver.launchApp(); // <--- line throws exception

Expcetion is thrown on only one mac, but not another mac I use for testing.

Any advice? Here is stack trace.

org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: spawn ENOTDIR
Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T14:04:26.12Z'
System info: host: 'iosbuild2.sanluisaviation.com', ip: 'fe80:0:0:0:4f4:72f2:e162:4734%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.14.4', java.version: '11.0.1'
Driver info: io.appium.java_client.ios.IOSDriver
Capabilities {autoAcceptAlerts: false, automationName: XCuiTest, browserName: , bundleId: com.slacorp.eptt, databaseEnabled: false, deviceName: sim1, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: false, newCommandTimeout: 300000, noReset: true, platform: MAC, platformName: iOS, platformVersion: 12.2, screenshotWaitTimeout: 100000, takesScreenshot: true, udid: 2AF22EFF-0317-43AA-BFD2-52C..., useNewWDA: false, wdaLocalPort: 8100, webStorageEnabled: false, xcodeOrgId: RFPTMZQL72, xcodeSigningId: iPhone Developer}
Session ID: dd4f6e2d-d750-4bbe-aa20-e9890241f939
	at jdk.internal.reflect.GeneratedConstructorAccessor25.newInstance(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
	at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
	at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:231)
	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543)
	at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:46)
	at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)
	at io.appium.java_client.ios.IOSDriver.execute(IOSDriver.java:1)
	at io.appium.java_client.InteractsWithApps.launchApp(InteractsWithApps.java:50)
	at Framework.Client.ClientIos.IosClient_AppControl.lambda$userOpenApp$2(IosClient_AppControl.java:93)
	at Framework.Libs.Retry.step(Retry.java:42)
	at Framework.Libs.Retry.step(Retry.java:23)
	at Framework.Client.ClientIos.IosClient_AppControl.userOpenApp(IosClient_AppControl.java:91)
	at Framework.Client.ClientIos.IosClient_AppControl.userOpenApp(IosClient_AppControl.java:22)
	at Framework.Client.ClientIos.IosClient_AppControl.userOpenApp(IosClient_AppControl.java:10)
	at Framework.Client.WrapperClient.userOpenApp(WrapperClient.java:5990)
	at Tests.Concourse.DnDIndividual.DnDIndividual.test(DnDIndividual.java:42)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runners.Suite.runChild(Suite.java:128)
	at org.junit.runners.Suite.runChild(Suite.java:27)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:105)
	at org.junit.runner.JUnitCore.runClasses(JUnitCore.java:62)
	at org.junit.runner.JUnitCore.runClasses(JUnitCore.java:49)
	at Framework.Test_v2.run(Test_v2.java:44)
	at Tests.Concourse.DnDIndividual.RunScripts.iosBuild2.main(iosBuild2.java:12)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure on macOS with an iOS simulator by calling closeApp() followed by launchApp() using the capabilities shown in the report. Start at the InteractsWithApps.launchApp entry point and compare the affected and unaffected machines. Done means identifying the environment-specific ENOTDIR cause and verifying that this sequence works reliably.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, java, macos
Domain
mobile, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.