Appium Desktop 1.6.1> IOS> java: запуск нужных возможностей дает плохо - PullRequest
0 голосов
/ 21 мая 2018

Справочная информация

Затмение: 4.5.2 Рабочий стол Appium: 1.6.1 Java 1.8.0_7 b15

Привет,

Я не могу запустить нужные функции из затмения врабочий стол appium (IOS).

Как это исправить?Мои желаемые возможности верны.

public class InvokeIOS {

public static void main(String[] args) throws MalformedURLException {

// TODO Auto-generated method stub

DesiredCapabilities d=new DesiredCapabilities();

d.setCapability(MobileCapabilityType.DEVICE_NAME,"iPhone 6");

d.setCapability(MobileCapabilityType.PLATFORM_NAME,"IOS");

d.setCapability(MobileCapabilityType.AUTOMATION_NAME,AutomationName.IOS_XCUI_TEST);

d.setCapability(MobileCapabilityType.APP,"/Users/jacquelinegeorge/Documents/Appium/Apps/ios-uicatalog-master/DerivedData/UICatalog/Build/Products/Debug-iphonesimulator/UICatalog.app");

IOSDriver<IOSElement> driver = new IOSDriver<>(new URL("http://127.0.0.1:4723/wd/hub"),d);

Я получаю следующее сообщение об ошибке

Исключение в потоке "main" org.openqa.selenium.WebDriverException: неизвестная ошибка на стороне сервера при обработкекоманда.Исходная ошибка: Плохое приложение: /Users/jacquelinegeorge/Documents/Appium/Apps/ios-uicatalog-master/DerivedData/UICatalog/Build/Products/Debug-iphonesimulator/UICatalog.app.Пути к приложениям должны быть абсолютными, или относительно директории установки сервера appium, или URL-адреса сжатого файла, или специального имени приложения .

Информация о сборке: версия: '3.9.1', редакция: '63f7b50', время: '2018-02-07T22: 42: 22.379Z'

Информация о системе: хост: 'Jacquelines-MacBook-Air.local', ip: '192.168.0.5', os.имя: 'Mac OS X', os.arch: 'x86_64', os.version: '10 .13.4 ', java.version:' 1.8.0_71 '

Информация о драйвере: driver.version: IOSDriver

Удаленная трассировка стека: UnknownError: При обработке команды произошла неизвестная ошибка на стороне сервера.Исходная ошибка: Плохое приложение: /Users/jacquelinegeorge/Documents/Appium/Apps/ios-uicatalog-master/DerivedData/UICatalog/Build/Products/Debug-iphonesimulator/UICatalog.app.Путь к приложению должен быть абсолютным, или относительно каталога установки сервера appium, или URL-адреса сжатого файла, или специального имени приложения.

в getResponseForW3CError (/Applications/Appium.app/Contents/Resources/app/node_modules/appium-base-driver/lib/protocol/errors.js:800:13) в asyncHandler $ (/Applications/Appium.app/Contents/Resources/app/node_modules/appium-base-driver/lib/protocol/protocol.js: 352: 37) в tryCatch (/Applications/Appium.app/Contents/Resources/app/node_modules/appium-base-driver/node_modules/babel-runtime/regenerator/runtime.js:67:40) в GeneratorFunctionPrototype.invoke [as _invoke] (/Applications/Appium.app/Contents/Resources/app/node_modules/appium-base-driver/node_modules/babel-runtime/regenerator/runtime.js:315:22) в GeneratorFunctionPrototype.prototype. (анонимная функция) [как далее] (/Applications/Appium.app/Contents/Resources/app/node_modules/appium-base-driver/node_modules/babel-runtime/regenerator/runtime.js:100:21) в GeneratorFunctionPrototype.invoke (/ Applications / Appium.app / Содержание / Ресурсы / app / node_modules / appium-base-driver / node_modules / babel-runtime / регенератор / runtime.js: 136: 37) в at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (собственный метод) вsun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:62) в sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45) в java.lang.renew.structor.structor.structor.selenium.remote..lambda $ createSession $ 0 (ProtocolHandshake.java:123) в java.util.stream.ReferencePipeline $ 3 $ 1.accept (ReferencePipeline.java:193) в java.util.Spliterators $ ArraySpliterator.tryAdvance (Spliterators.java:958) в java.util.stream.ReferencePipeline.forEachWithCancel (Ссылки на сайтыePipeline.java:126) в java.util.stream.AbstractPipeline.copyIntoWithCancel (AbstractPipeline.java:498) в java.util.stream.AbstractPipeline.copyInto (AbstractPipeline.java:485) в java.util.stream.ArapstractPipeInw(AbstractPipeline.java:471) в java.util.stream.FindOps $ FindOp.evaluateSequential (FindOps.java:152) в java.util.stream.AbstractPipeline.evaluate (AbstractPipeline.java:234) вjava.util.stream.ReferencePipeline.findFirst (ReferencePipeline.java:464) в org.openqa.selenium.remote.ProtocolHandshake.createSession (ProtocolHandshake.java:126) в org.openqa.selenium.remote.ProtocolHandshake (протокол.Java: 73) в org.openqa.selenium.remote.HttpCommandExecutor.execute (HttpCommandExecutor.java:138) в io.appium.java_client.remote.AppiumCommandExecutor.execute (AppiumCommandExecutor.javaseenq at..RemoteWebDriver.execute (RemoteWebDriver.java:601) по адресу io.appium.java_client.DefaultGenericMobileDriver.execute (DefaultGenericMobileDriver.java:42) по адресу io.appium.java_client.AppiumDrij.app.ripp.java_client.ios.IOSDriver.execute (IOSDriver.java:1) в org.openqa.selenium.remote.RemoteWebDriver.startSession (RemoteWebDriver.java:219) в org.openqa.selenium.remote.RemoteWavaDver) в io.appium.java_client.DefaultGenericMobileDriver. (DefaultGenericMobileDriver.java:38) в io.appium.java_client.AppiumDriver. (AppiumDriver.java:83) в io.appium.java_client.AppiumDriver. (AppiumDriver.java:93) в io.appium.java_client.ios.IOSDriver. (IOSDriver.javaI78вости).main (InvokeIOS.java:22)

Ответы [ 2 ]

0 голосов
/ 03 июня 2018

Я понял, почему я продолжал получать сообщение о плохом приложении.Как упоминалось ранее, это было связано с расположением файла .app (который я скопировал из XCode).Который я не мог переместить на свой рабочий стол, потому что файл .app был скрыт, и я мог получить к нему доступ через Xcode.

Тем не менее, существует проблема под прикрытием, которая связана с xcode, который выдает «сообщение плохого приложения».

Когда я изначально создавал «приложение UIcatalog» в xcode, оно показывало МНОГО «устаревших» сообщений ».Видя, что я очистил сборку (это ошибка в ЭТОМ случае).

Вместо этого я должен был оставить его в покое, игнорировать сообщения об амортизации и позволить приложению установить себя на симуляторе ios.

И вот почему:

при очистке сборкион будет скрывать файл .app, его доступ к местоположению будет невозможен (щелкните правой кнопкой мыши> показать в папке), и вы не сможете сделать копию файла .app, который можно разместить на рабочем столе для желаемых возможностей, поскольку он скрыт.в безопасном месте.

Как вы можете видеть, нажав на ссылку ниже (после того, как я собрал UICatalog в XCode без очистки сборки.

Я нажал значок папки > Затем выберите UICatalog.xprog >, затем выберите продукты, которые я выбрал Каталог пользовательского интерфейса .app > R / click, выберите 'show in finder' > copy файл catalog.app пользовательского интерфейса> вставьте его на мой рабочий стол.

Я только что узнал об этом вчера после почти месяца, когда я не смог продвинуться на тренировке IOS.

Нажмите здесь

0 голосов
/ 22 мая 2018

Исходная ошибка гласит: Bad app: /Users/jacquelinegeorge/Documents/Appium/Apps/ios-uicatalog-master/DerivedData/UICatalog/Build/Products/Debug-iphonesimulator/UICatalog.app. App paths need to be absolute, or relative to the appium server install dir, or a URL to compressed file, or a special app name.

Ваши возможности выглядят корректно, но что вам нужно сделать:

  1. Проверьте, что путь правильный, попробуйте перейти к некоторомупапка имеет более короткий абсолютный путь.
  2. Перестройте приложение, возможно, сборка повреждена.
  3. Попробуйте использовать другой симулятор: иногда вы можете получить его, когда создаете приложение с 1 симулятором, но пытаетесь использоватьеще один через Appium
  4. Попробуйте понизить версию сервера appium
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...