SelendroidDriver не может быть преобразован в тип

SelendroidDriver не может быть преобразован в тип. Я столкнулся с этой проблемой в selendroid, когда пытаюсь создать объект драйвера selendroid, используя WebDriver driver = new SelendroidDriver(capa); . Я добавил jar-файлы selendroid-standalone-0.12.0-with-dependencies и selendroid-client-0.4.2-sources для построения пути. Ниже приведен код:

открытый класс TestSelendroid {

@Test
public void runSelendroidTest() throws Exception {

    SelendroidCapabilities capa = new SelendroidCapabilities("io.selendroid.testapp:0.12.0");

    capa.setPlatformVersion(DeviceTargetPlatform.ANDROID10);

    capa.setEmulator(true);

    WebDriver driver = new SelendroidDriver(capa);

    WebElement inputField = driver.findElement(By.id("my_text_field"));
    Assert.assertEquals("true", inputField.getAttribute("enabled"));
    inputField.sendKeys("Selendroid");
    Assert.assertEquals("Selendroid", inputField.getText());

    driver.quit();

}

}

А это статус сервера selendroid в cmd:

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

D:\Selendroid Jar>java -jar selendroid-standalone-0.12.0-with-dependencies.jar -
app selendroid-test-app-0.12.0.apk
################# Selendroid #################
################# Configuration in use #################
io.selendroid.SelendroidConfiguration@3be5d207[
  port=4444
  timeoutEmulatorStart=300000
  supportedApps=[selendroid-test-app-0.12.0.apk]
  verbose=false
  emulatorPort=5560
  deviceScreenshot=false
  selendroidServerPort=8080
  keystore=<null>
  keystorePassword=<null>
  keystoreAlias=<null>
  emulatorOptions=<null>
  registrationUrl=<null>
  proxy=<null>
  serverHost=<null>
  keepAdbAlive=false
  noWebViewApp=false
  noClearData=false
  sessionTimeoutSeconds=1800
  forceReinstall=false
  logLevel=ERROR
  deviceLog=true
  serverStartTimeout=20000
  printHelp=false
]
Jan 09, 2015 12:03:42 PM io.selendroid.SelendroidLauncher launchServer
INFO: Starting selendroid-server port 4444
Jan 09, 2015 12:03:42 PM io.selendroid.server.model.SelendroidStandaloneDriver i
nitApplicationsUnderTest
SEVERE: Ignoring app because it was not found: D:\Selendroid Jar\selendroid-test
-app-0.12.0.apk
Jan 09, 2015 12:03:42 PM io.selendroid.io.ShellCommand exec
INFO: executing command: D:\Android\android-sdk\build-tools\20.0.0\aapt.exe remo
ve C:\Users\user\AppData\Local\Temp\android-driver6507564983638345758.apk META-I
NF/MANIFEST.MF
Jan 09, 2015 12:03:42 PM io.selendroid.io.ShellCommand exec
INFO: executing command: D:\Android\android-sdk\build-tools\20.0.0\aapt.exe remo
ve C:\Users\user\AppData\Local\Temp\android-driver6507564983638345758.apk META-I
NF/CERT.RSA
Jan 09, 2015 12:03:42 PM io.selendroid.io.ShellCommand exec
INFO: executing command: D:\Android\android-sdk\build-tools\20.0.0\aapt.exe remo
ve C:\Users\user\AppData\Local\Temp\android-driver6507564983638345758.apk META-I
NF/CERT.SF
Jan 09, 2015 12:03:43 PM io.selendroid.io.ShellCommand exec
INFO: executing command: D:\Android\android-sdk\build-tools\20.0.0\aapt.exe remo
ve C:\Users\user\AppData\Local\Temp\android-driver6507564983638345758.apk META-I
NF/ANDROIDD.SF
Jan 09, 2015 12:03:43 PM io.selendroid.io.ShellCommand exec
INFO: executing command: D:\Android\android-sdk\build-tools\20.0.0\aapt.exe remo
ve C:\Users\user\AppData\Local\Temp\android-driver6507564983638345758.apk META-I
NF/ANDROIDD.RSA
Jan 09, 2015 12:03:43 PM io.selendroid.io.ShellCommand exec
INFO: executing command: D:\Android\android-sdk\build-tools\20.0.0\aapt.exe remo
ve C:\Users\user\AppData\Local\Temp\android-driver6507564983638345758.apk META-I
NF/NDKEYSTO.SF
Jan 09, 2015 12:03:43 PM io.selendroid.io.ShellCommand exec
INFO: executing command: D:\Android\android-sdk\build-tools\20.0.0\aapt.exe remo
ve C:\Users\user\AppData\Local\Temp\android-driver6507564983638345758.apk META-I
NF/NDKEYSTO.RSA
Jan 09, 2015 12:03:43 PM io.selendroid.io.ShellCommand exec
INFO: executing command: C:\Program Files\Java\jre7\bin\jarsigner.exe -sigalg MD
5withRSA -digestalg SHA1 -signedjar C:\Users\user\AppData\Local\Temp\resigned-an
droid-driver6507564983638345758.apk -storepass android -keystore C:\Users\user\.
android\debug.keystore C:\Users\user\AppData\Local\Temp\android-driver6507564983
638345758.apk androiddebugkey
Jan 09, 2015 12:03:43 PM io.selendroid.SelendroidLauncher launchServer
SEVERE: Error occurred while building server: io.selendroid.exceptions.ShellComm
andException: An error occured while executing shell command: C:\Program Files\J
ava\jre7\bin\jarsigner.exe -sigalg MD5withRSA -digestalg SHA1 -signedjar C:\User
s\user\AppData\Local\Temp\resigned-android-driver6507564983638345758.apk -storep
ass android -keystore C:\Users\user\.android\debug.keystore C:\Users\user\AppDat
a\Local\Temp\android-driver6507564983638345758.apk androiddebugkey
java.lang.RuntimeException: io.selendroid.exceptions.ShellCommandException: An e
rror occured while executing shell command: C:\Program Files\Java\jre7\bin\jarsi
gner.exe -sigalg MD5withRSA -digestalg SHA1 -signedjar C:\Users\user\AppData\Loc
al\Temp\resigned-android-driver6507564983638345758.apk -storepass android -keyst
ore C:\Users\user\.android\debug.keystore C:\Users\user\AppData\Local\Temp\andro
id-driver6507564983638345758.apk androiddebugkey
        at io.selendroid.server.model.SelendroidStandaloneDriver.initApplication
sUnderTest(SelendroidStandaloneDriver.java:146)
        at io.selendroid.server.model.SelendroidStandaloneDriver.<init>(Selendro
idStandaloneDriver.java:84)
        at io.selendroid.server.SelendroidStandaloneServer.initializeSelendroidS
erver(SelendroidStandaloneServer.java:61)
        at io.selendroid.server.SelendroidStandaloneServer.<init>(SelendroidStan
daloneServer.java:50)
        at io.selendroid.SelendroidLauncher.launchServer(SelendroidLauncher.java
:64)
        at io.selendroid.SelendroidLauncher.main(SelendroidLauncher.java:112)
Caused by: io.selendroid.exceptions.ShellCommandException: An error occured whil
e executing shell command: C:\Program Files\Java\jre7\bin\jarsigner.exe -sigalg
MD5withRSA -digestalg SHA1 -signedjar C:\Users\user\AppData\Local\Temp\resigned-
android-driver6507564983638345758.apk -storepass android -keystore C:\Users\user
\.android\debug.keystore C:\Users\user\AppData\Local\Temp\android-driver65075649
83638345758.apk androiddebugkey
        at io.selendroid.io.ShellCommand.exec(ShellCommand.java:49)
        at io.selendroid.builder.SelendroidServerBuilder.signTestServer(Selendro
idServerBuilder.java:294)
        at io.selendroid.builder.SelendroidServerBuilder.resignApp(SelendroidSer
verBuilder.java:153)
        at io.selendroid.server.model.SelendroidStandaloneDriver.initApplication
sUnderTest(SelendroidStandaloneDriver.java:142)
        ... 5 more
Caused by: io.selendroid.exceptions.ShellCommandException:
        ... 9 more
Exception in thread "main" java.lang.RuntimeException: io.selendroid.exceptions.
ShellCommandException: An error occured while executing shell command: C:\Progra
m Files\Java\jre7\bin\jarsigner.exe -sigalg MD5withRSA -digestalg SHA1 -signedja
r C:\Users\user\AppData\Local\Temp\resigned-android-driver6507564983638345758.ap
k -storepass android -keystore C:\Users\user\.android\debug.keystore C:\Users\us
er\AppData\Local\Temp\android-driver6507564983638345758.apk androiddebugkey
        at io.selendroid.server.model.SelendroidStandaloneDriver.initApplication
sUnderTest(SelendroidStandaloneDriver.java:146)
        at io.selendroid.server.model.SelendroidStandaloneDriver.<init>(Selendro
idStandaloneDriver.java:84)
        at io.selendroid.server.SelendroidStandaloneServer.initializeSelendroidS
erver(SelendroidStandaloneServer.java:61)
        at io.selendroid.server.SelendroidStandaloneServer.<init>(SelendroidStan
daloneServer.java:50)
        at io.selendroid.SelendroidLauncher.launchServer(SelendroidLauncher.java
:64)
        at io.selendroid.SelendroidLauncher.main(SelendroidLauncher.java:112)
Caused by: io.selendroid.exceptions.ShellCommandException: An error occured whil
e executing shell command: C:\Program Files\Java\jre7\bin\jarsigner.exe -sigalg
MD5withRSA -digestalg SHA1 -signedjar C:\Users\user\AppData\Local\Temp\resigned-
android-driver6507564983638345758.apk -storepass android -keystore C:\Users\user
\.android\debug.keystore C:\Users\user\AppData\Local\Temp\android-driver65075649
83638345758.apk androiddebugkey
        at io.selendroid.io.ShellCommand.exec(ShellCommand.java:49)
        at io.selendroid.builder.SelendroidServerBuilder.signTestServer(Selendro
idServerBuilder.java:294)
        at io.selendroid.builder.SelendroidServerBuilder.resignApp(SelendroidSer
verBuilder.java:153)
        at io.selendroid.server.model.SelendroidStandaloneDriver.initApplication
sUnderTest(SelendroidStandaloneDriver.java:142)
        ... 5 more
Caused by: io.selendroid.exceptions.ShellCommandException:
        ... 9 more

D:\Selendroid Jar>

person Poras Bhardwaj    schedule 08.01.2015    source источник


Ответы (1)


Используйте следующие шаги для решения вашей проблемы:

1 - Добавьте selendroid-client-0.10.0 [Удалите свои источники selendroid-client-0.4.2]

2 - Добавить селен-сервер-автономный-2.44.0

После добавления вышеуказанных JARS сохраните свою программу, а затем проверьте

person Helping Hands    schedule 08.01.2015
comment
Спасибо за ваше решение, но теперь у меня другая проблема. Ошибка Не удалось подключиться к серверу. Возможные причины: неверный адрес... отображается, когда я пытаюсь запустить код. Можете ли вы помочь мне в этом. - person Poras Bhardwaj; 09.01.2015
comment
Не могли бы вы поделиться своим кодом? обновите свой вопрос с кодом. - person Helping Hands; 09.01.2015
comment
Вы поместили свой APK в ту же папку, что и JAR Selendroid? - person Helping Hands; 09.01.2015
comment
-Я пробовал как selendroid jar, так и .apk в одной папке, а jar и .apk в разных папках. Должны ли они оба находиться в одной папке или в разных? - person Poras Bhardwaj; 09.01.2015
comment
Поместите оба в одну папку. после запуска команды из cmd перейдите по этому URL-адресу [localhost:4444/wd/hub/status] в браузере и скажите мне, что вы получаете в браузере. - person Helping Hands; 09.01.2015
comment
Не удается подключиться к [localhost:4444/wd/hub/status], показывая, что эта веб-страница недоступна. - person Poras Bhardwaj; 09.01.2015
comment
удалите этот apk: selendroid-test-app-0.12.0.apk и поместите свой, а затем выполните командную строку с вашим именем APK.. - person Helping Hands; 09.01.2015
comment
Тот же результат, не удается подключиться к локальному хосту. :( - person Poras Bhardwaj; 09.01.2015
comment
тогда вам что-то не хватает в вашей конфигурации selendroid. - person Helping Hands; 09.01.2015
comment
сделайте так, чтобы вы поместили свой apk в ту же папку selendroid. - person Helping Hands; 09.01.2015
comment
затем вызовите его с помощью командной строки: java -jar selendroid-standalone-0.12.0-with-dependencies.jar -app yourAPKname.apk - person Helping Hands; 09.01.2015
comment
У меня есть selendroid-standalone и мой .apk в той же папке. Я пробовал 3 версии (2.41, 2.42 и 2.44) selenim и код, упомянутый в вопросе, статус cmd также упоминается. Все еще сталкиваюсь с тем же. :(( ( - person Poras Bhardwaj; 09.01.2015
comment
В соответствии с вашей обновленной ошибкой командной строки вопроса говорится, что он не получает APK. когда вы запускаете командную строку после этого, она генерирует Resigned APK? в той же папке? - person Helping Hands; 09.01.2015
comment
Нет, он не генерирует Resigned APK. Это ошибка, с которой я сталкиваюсь. Я пробовал все, чтобы решить ее, но все еще сталкиваюсь с ней. Можете ли вы помочь мне? - person Poras Bhardwaj; 13.01.2015
comment
он должен генерировать Resigned APK. это первое доказательство того, что ваша командная строка для selendroid работает. - person Helping Hands; 19.01.2015