Method is not implemented at XCUITestDriver.closeWindow
Maintainer antworten meist innerhalb von 5 Tagen
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Bug
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- ios, java
- Bereich
- mobile, testing-qa
Rechercherichtung
Beginnen Sie mit dem gemeldeten Aufruf von LocalAppiumDriver.resetApp() und vergleichen Sie das Verhalten von Seleniums RemoteWebDriver.close mit XCUITestDriver.closeWindow in appium-xcuitest-driver/lib/commands/navigation.js. Reproduzieren Sie den close-Befehl mit dem bereitgestellten Java-Setup unter iOS 14.5 und bestimmen Sie anschließend das erwartete Verhalten beim Schließen der App unter Beibehaltung der Session.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Description
I'm doing a migration from Appium 7.3 to 8.0, but I have problems with closing the app without terminating the driver session with driver.close(), but the error occurs on execution
{"value":{"error":"unknown method","message":"Method is not implemented","stacktrace":"NotImplementedError: Method is not implemented\n at XCUITestDriver.closeWindow (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/lib/commands/navigation.js:49:11)\n at commandExecutor (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-base-driver/lib/basedriver/driver.js:335:9)\n at /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/async-lock/lib/index.js:137:12\n at AsyncLock._promiseTry (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/async-lock/lib/index.js:261:31)\n at exec (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/async-lock/lib/index.js:136:9)\n at AsyncLock.acquire (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/async-lock/lib/index.js:152:3)\n at XCUITestDriver.executeCommand (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-base-driver/lib/basedriver/driver.js:348:39)\n at XCUITestDriver.executeCommand (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/lib/driver.js:731:24)\n at AppiumDriver.executeCommand (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/lib/appium.js:563:36)\n at runMicrotasks (<anonymous>)\n at processTicksAndRejections (internal/process/task_queues.js:85:5)\n at asyncHandler (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-base-driver/lib/protocol/protocol.js:297:21)"}}
Environment
- Serenity 3.2.4
- Java 11 Correto
- Appium 8.0.0:
- Desktop MacOS BigSur
- Mobile platformt ios 14.5 on iPhone 12 Pro Max:
- Emulator:
Code To Reproduce Issue [ Good To Have ]
package lulobank.automation.frontend.utils.drivers;
import io.appium.java_client.AppiumDriver;
import net.thucydides.core.util.EnvironmentVariables;
import net.thucydides.core.util.SystemEnvironmentVariables;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Objects;
import static org.apache.commons.lang3.StringUtils.stripAccents;
public final class LocalAppiumDriver {
private static final Logger logger = LoggerFactory.getLogger(LocalAppiumDriver.class);
private AppiumDriver driver;
private static LocalAppiumDriver currentDriver;
private static String nameScenario;
public static AppiumDriver mobile() throws IOException {
DesiredCapabilities capabilities = new DesiredCapabilities();
currentDriver = new LocalAppiumDriver();
TargetExecution targetExecution = TargetExecution.getTargetExecution();
String appiumUrl = targetExecution.getAppiumUrl();
setCapabilities(targetExecution, capabilities);
try {
currentDriver.driver = new AppiumDriver(new URL(appiumUrl), capabilities);
} catch (MalformedURLException e) {
logger.error("MalformedURLException ", e);
}
return currentDriver.driver;
}
private static DesiredCapabilities setCapabilities(TargetExecution targetExecution, DesiredCapabilities capabilities) {
targetExecution.capabilities.forEach(capabilities::setCapability);
capabilities.setCapability("name", getScenarioName());
return capabilities;
}
private static String getScenarioName() {
return nameScenario;
}
public static void setScenarioName(String scenarioName) {
nameScenario = stripAccents(scenarioName);
}
public static AppiumDriver getDriver() {
return currentDriver.driver;
}
public static boolean isThePlatformIOS() {
return Objects.requireNonNull(getDriver().getCapabilities().getPlatformName().name()).equalsIgnoreCase("ios");
}
public static boolean isTheAppiumConfigGRID() {
EnvironmentVariables variables = SystemEnvironmentVariables.createEnvironmentVariables();
String appiumConfig = variables.getProperty("appiumconfig");
return appiumConfig.equalsIgnoreCase("grid");
}
public static void resetApp() {
currentDriver.driver.close();
}
}
Exception Stacktraces
org.openqa.selenium.UnsupportedCommandException: {"value":{"error":"unknown method","message":"Method is not implemented","stacktrace":"NotImplementedError: Method is not implemented\n at XCUITestDriver.closeWindow (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/lib/commands/navigation.js:49:11)\n at commandExecutor (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-base-driver/lib/basedriver/driver.js:335:9)\n at /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/async-lock/lib/index.js:137:12\n at AsyncLock._promiseTry (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/async-lock/lib/index.js:261:31)\n at exec (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/async-lock/lib/index.js:136:9)\n at AsyncLock.acquire (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/async-lock/lib/index.js:152:3)\n at XCUITestDriver.executeCommand (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-base-driver/lib/basedriver/driver.js:348:39)\n at XCUITestDriver.executeCommand (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/lib/driver.js:731:24)\n at AppiumDriver.executeCommand (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/lib/appium.js:563:36)\n at runMicrotasks (<anonymous>)\n at processTicksAndRejections (internal/process/task_queues.js:85:5)\n at asyncHandler (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-base-driver/lib/protocol/protocol.js:297:21)"}}
Command duration or timeout: 4 milliseconds
Build info: version: '4.1.3', revision: '7b1ebf28ef'
System info: host: 'LULO-C02F22WBMD6M.local', ip: 'fe80:0:0:0:1060:b35e:6b46:1412%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '11.6.4', java.version: '11.0.12'
Driver info: io.appium.java_client.AppiumDriver
Command: [ec885fd8-a0ae-45ad-9614-d8d34c868cde, close {}]
Capabilities {appium:app: Users/jortegon/Library/Deve..., appium:automationName: XCUITest, appium:databaseEnabled: false, appium:deviceId: , appium:deviceName: iPhone 12 Pro Max, appium:javascriptEnabled: true, appium:locationContextEnabled: false, appium:name: Onboarding desde PEP dilige..., appium:networkConnectionEnabled: false, appium:noReset: true, appium:platformVersion: 14.5, appium:shouldTerminateApp: true, appium:takesScreenshot: true, appium:udid: 59D95976-33E4-40DE-9C68-666..., appium:webStorageEnabled: false, platformName: ios}
Session ID: ec885fd8-a0ae-45ad-9614-d8d34c868cde
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
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.ErrorHandler.createThrowable(ErrorHandler.java:217)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:169)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:602)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:622)
at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:268)
at org.openqa.selenium.remote.RemoteWebDriver.close(RemoteWebDriver.java:452)
at lulobank.automation.frontend.utils.drivers.LocalAppiumDriver.resetApp(LocalAppiumDriver.java:72)
- Vorherrschende Sprache
- Java
- Sterne
- 1.3k
- Forks
- 755
- Ø Merge
- 5 T. 14 Std.
- Gemergte PRs (30 T.)
- 8
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus appium/java-client
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
appium/java-client#2426 ·
Maintainer antworten meist innerhalb von 5 Tagen
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 50/100
appium/java-client#2372 ·
Maintainer antworten meist innerhalb von 5 Tagen
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 30/100
appium/java-client#2368 ·
Maintainer antworten meist innerhalb von 5 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 30/100
appium/java-client#2341 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 5 Tagen
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 15/100
appium/java-client#2323 ·
Maintainer antworten meist innerhalb von 5 Tagen
Alle Issues in appium/java-client
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
apache/arrow-java#1311 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
bug triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 1 Tag
-
security
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
IBM/networking-java-sdk#204 ·
-
bug Technical Debt
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
avniproject/avni-server#1080 ·