Гибридное приложение IOS не работает в симуляторе xcode - PullRequest
0 голосов
/ 08 ноября 2019

Я использую симулятор Xcode для запуска testNG test. Код написан с использованием Appium и Selenium. Я заметил, что IOS-файл IOS успешно устанавливается с помощью кода автоматизации, но он всегда находится в состоянии запуска, и я не могу выполнить какое-либо действие (например, щелчок или ввод).

Примечание: Когда файл ipa устанавливается, также устанавливается агент веб-драйвера, который мне неизвестен.

Подробности:

  • Использование симулятора Xcode в Mac OS
  • Appium: 12 +
  • симулятор: все (ios 12, 13, 6s)
  • Приложение IOS (гибрид)

Следующий код устанавливает желаемые возможности для выполнения приложения:

DesiredCapabilities capabilities1 = new DesiredCapabilities().iphone();
public void AppiumTestAppIOSSimulator(String appLoc, String deviceName, String udid, String portNumber) throws IOException {
        try {
            url = new URL("http://127.0.0.1:" + portNumber + "/wd/hub");
            capabilities1.setCapability(MobileCapabilityType.DEVICE_NAME, deviceName);
            capabilities1.setCapability(MobileCapabilityType.UDID, udid);
            capabilities1.setCapability(MobileCapabilityType.PLATFORM_NAME, "iOS");
            capabilities1.setCapability(MobileCapabilityType.PLATFORM_VERSION, "12.1");
            capabilities1.setCapability(MobileCapabilityType.VERSION, "6.0.0");
            capabilities1.setCapability(MobileCapabilityType.APPIUM_VERSION, "1.15.0");
            capabilities1.setCapability(MobileCapabilityType.NO_RESET, true);
            capabilities1.setCapability(MobileCapabilityType.AUTOMATION_NAME, "XCUITest");
            capabilities1.setCapability("app", appLoc);
            switchToWebViewIOS();
        } catch (MalformedURLException e) {
            log.info("Remote driver exception " + e);
        }
    }

public void switchToWebViewIOS() {
        driver = new IOSDriver(url, capabilities1);
        Set<String> availableContexts = ((AppiumDriver<WebElement>) driver).getContextHandles();
        log.info("Total No of Context Found After we reach to WebView = " + availableContexts.size());
        for (String context : availableContexts) {
            if (context.contains("WEBVIEW")) {
                webContext = context;
                log.info("Context Name is " + context);
                ((AppiumDriver) driver).context(context);
                break;
            }
        }
    }

Как я могу запустить свой тест в симуляторе Mac OS? Любая помощь приветствуется. Спасибо!

...