BraveEvidence needs to attract extra consideration to this query.
I’m attempting to automate iOS app on actual iPad system. My code was working nice until final week and immediately began throwing error from immediately. Neither Xcode, nodejs, java or Appium has been upgraded. No code has been up to date by any means.
public AppiumDriver runOnRealDevice() {
attempt {
XCUITestOptions choices = new XCUITestOptions();
choices.setDeviceName(“my iPad”);
choices.setPlatformVersion(“16.5.1”);
choices.setWdaLaunchTimeout(Length.ofSeconds(20));
choices.setCapability(“xcodeOrgId”,”……”);
choices.setCapability(“xcodeSigningId”,”iPhone Developer”);
choices.setCapability(“udid”,”……”);
driver = new IOSDriver(new URL(“http://127.0.0.1:4723/”),choices);
driver.handle().timeouts().implicitlyWait(Length.ofSeconds(15));
Map<String,String> params = new HashMap<String,String>();
params.put(“bundleId”, “com.myapplebundleidentfier”);
driver.executeScript(“cell:launchApp”,params);
}catch (Exception e) {
System.out.println(“Here12 “+e.getLocalizedMessage());
e.printStackTrace();
}
return driver;
}
The problem occurs on driver = new IOSDriver(new URL(“http://127.0.0.1:4723/”),choices);
Beneath is the entire error message
StatusLogger Log4j2 couldn’t discover a logging implementation. Please add log4j-core to the classpath. Utilizing SimpleLogger to log to the console…
Couldn’t begin a brand new session. Attainable causes are invalid handle of the distant server or browser start-up failure.
Host data: host: ‘-MacBook-Air.native’, ip: ‘fe80:0:0:0:1044:a4fe:6300:fc53percenten0’
Construct data: model: ‘4.11.0’, revision: ‘040bc5406b’
System data: os.identify: ‘Mac OS X’, os.arch: ‘aarch64’, os.model: ‘13.4.1’, java.model: ‘17.0.6’
Driver data: io.appium.java_client.ios.IOSDriver
Command: [null, newSession {capabilities=[{appium:udid=myudid, appium:xcodeOrgId=myxoceorgid, appium:wdaLaunchTimeout=20000, appium:xcodeSigningId=iPhone Developer, appium:deviceName=iPad, platformName=IOS, appium:automationName=XCuiTest, appium:platformVersion=16.5.1}], desiredCapabilities=Capabilities {appium:automationName: XCuiTest, appium:deviceName: Pritish’s iPad, appium:platformVersion: 16.5.1, appium:udid:dsssddsdssd, appium:wdaLaunchTimeout: 20000, appium:xcodeOrgId: dsdsdsdsdssd, appium:xcodeSigningId: iPhone Developer, platformName: IOS}}]
Capabilities {appium:automationName: XCuiTest, appium:deviceName: my iPad, appium:platformVersion: 16.5.1, appium:udid: sddsdsdsds, appium:wdaLaunchTimeout: 20000, appium:xcodeOrgId: ddsds, appium:xcodeSigningId: iPhone Developer, platformName: IOS}
at org.openqa.selenium.distant.RemoteWebDriver.execute(RemoteWebDriver.java:536)
at io.appium.java_client.AppiumDriver.startSession(AppiumDriver.java:229)
at org.openqa.selenium.distant.RemoteWebDriver.<init>(RemoteWebDriver.java:159)
at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:80)
at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:92)
at io.appium.java_client.ios.IOSDriver.<init>(IOSDriver.java:106)
at WebPortal.IOSBaseTest.runOnRealDevice(IOSBaseTest.java:66)
at WebPortal.IOSBaseTest.setup(IOSBaseTest.java:32)
at WebPortal.IOSBaseTest.getDriver(IOSBaseTest.java:25)
at stepDefinitions.TA124_ComprehensiveCI_StepDefinitions.<init>(TA124_ComprehensiveCI_StepDefinitions.java:36)
at java.base/jdk.inside.replicate.NativeConstructorAccessorImpl.newInstance0(Native Technique)
at java.base/jdk.inside.replicate.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
at java.base/jdk.inside.replicate.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.replicate.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.replicate.Constructor.newInstance(Constructor.java:480)
at io.cucumber.core.runtime.ObjectFactoryServiceLoader$DefaultJavaObjectFactory.cacheNewInstance(ObjectFactoryServiceLoader.java:141)
at io.cucumber.core.runtime.ObjectFactoryServiceLoader$DefaultJavaObjectFactory.getInstance(ObjectFactoryServiceLoader.java:133)
at io.cucumber.java.AbstractGlueDefinition.invokeMethod(AbstractGlueDefinition.java:47)
at io.cucumber.java.JavaStepDefinition.execute(JavaStepDefinition.java:29)
at io.cucumber.core.runner.CoreStepDefinition.execute(CoreStepDefinition.java:66)
at io.cucumber.core.runner.PickleStepDefinitionMatch.runStep(PickleStepDefinitionMatch.java:63)
at io.cucumber.core.runner.ExecutionMode$1.execute(ExecutionMode.java:10)
at io.cucumber.core.runner.TestStep.executeStep(TestStep.java:92)
at io.cucumber.core.runner.TestStep.run(TestStep.java:64)
at io.cucumber.core.runner.PickleStepTestStep.run(PickleStepTestStep.java:51)
at io.cucumber.core.runner.TestCase.run(TestCase.java:104)
at io.cucumber.core.runner.Runner.runPickle(Runner.java:73)
at io.cucumber.core.runtime.Runtime.lambda$execute$5(Runtime.java:110)
at io.cucumber.core.runtime.CucumberExecutionContext.runTestCase(CucumberExecutionContext.java:117)
at io.cucumber.core.runtime.Runtime.lambda$execute$6(Runtime.java:110)
at java.base/java.util.concurrent.Executors$RunnableAdapter.name(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at io.cucumber.core.runtime.Runtime$SameThreadExecutorService.execute(Runtime.java:233)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:123)
at io.cucumber.core.runtime.Runtime.lambda$run$2(Runtime.java:86)
at java.base/java.util.stream.ReferencePipeline$3$1.settle for(ReferencePipeline.java:197)
at java.base/java.util.stream.SliceOps$1$1.settle for(SliceOps.java:200)
at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1602)
at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.consider(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.accumulate(ReferencePipeline.java:682)
at io.cucumber.core.runtime.Runtime.run(Runtime.java:87)
at io.cucumber.core.cli.Foremost.run(Foremost.java:92)
at cucumber.api.cli.Foremost.run(Foremost.java:30)
at cucumber.api.cli.Foremost.essential(Foremost.java:15)
Brought on by: java.lang.NoSuchMethodError: ‘java.lang.String org.openqa.selenium.json.Json.toJson(java.lang.Object, int)’
at org.openqa.selenium.distant.NewSessionPayload.create(NewSessionPayload.java:126)
at org.openqa.selenium.distant.NewSessionPayload.create(NewSessionPayload.java:111)
at org.openqa.selenium.distant.NewSessionPayload.create(NewSessionPayload.java:105)
at io.appium.java_client.distant.AppiumProtocolHandshake.createSession(AppiumProtocolHandshake.java:101)
at io.appium.java_client.distant.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:194)
at io.appium.java_client.distant.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:262)
at org.openqa.selenium.distant.RemoteWebDriver.execute(RemoteWebDriver.java:518)
… 48 extra