[JBoss JIRA] (ARQGRA-256) Graphene RemoteWebDriver doesn't support augmentation properly
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-256?page=com.atlassian.jira.plugin... ]
Lukáš Fryč updated ARQGRA-256:
------------------------------
Priority: Critical (was: Major)
> Graphene RemoteWebDriver doesn't support augmentation properly
> --------------------------------------------------------------
>
> Key: ARQGRA-256
> URL: https://issues.jboss.org/browse/ARQGRA-256
> Project: Arquillian Graphene
> Issue Type: Bug
> Environment: Graphene 2.0.0.Alpha3-SNAPSHOT
> Reporter: Ron Šmeral
> Priority: Critical
> Fix For: 2.0.0.Beta1
>
>
> When using a remote WebDriver, trying to take a screenshot as described in [WebDriver documentation|http://seleniumhq.org/docs/04_webdriver_advanced.jsp#taking...]:
> {code:java}
> @Drone
> WebDriver driver;
> ...
> WebDriver augmentedDriver = new Augmenter().augment(driver);
> byte[] screenshot = ((TakesScreenshot) augmentedDriver).getScreenshotAs(OutputType.BYTES);
> {code}
> results in the following exeception:
> {noformat}
> Caused by: java.lang.ClassFormatError: Duplicate method name&signature in class file org/openqa/selenium/remote/RemoteWebDriver$$EnhancerCGLIB$$58fd8af5$$EnhancerByCGLIB$$558c2b50
> {noformat}
> If the augmentation is omitted, the {{TakesScreenshot}} interface can't be found:
> {noformat}
> java.lang.ClassCastException: org.openqa.selenium.remote.RemoteWebDriver$$EnhancerCGLIB$$eda133bb cannot be cast to org.openqa.selenium.TakesScreenshot
> {noformat}
> It seems that the CGLib-enhanced {{RemoteWebDriver}} instance contains the methods of capability providers ({{AddTakesScreenshot}}) but doesn't declare that it implements their corresponding interfaces ({{TakesScreenshot}}).
> Note that taking screenshots works without the augmentation when using a non-remote WebDriver. (When using augmentation it throws the _Duplicate method name&signature_ exception).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 11 months
[JBoss JIRA] (ARQGRA-256) Graphene RemoteWebDriver doesn't support augmentation properly
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-256?page=com.atlassian.jira.plugin... ]
Lukáš Fryč updated ARQGRA-256:
------------------------------
Fix Version/s: 2.0.0.Beta1
> Graphene RemoteWebDriver doesn't support augmentation properly
> --------------------------------------------------------------
>
> Key: ARQGRA-256
> URL: https://issues.jboss.org/browse/ARQGRA-256
> Project: Arquillian Graphene
> Issue Type: Bug
> Environment: Graphene 2.0.0.Alpha3-SNAPSHOT
> Reporter: Ron Šmeral
> Fix For: 2.0.0.Beta1
>
>
> When using a remote WebDriver, trying to take a screenshot as described in [WebDriver documentation|http://seleniumhq.org/docs/04_webdriver_advanced.jsp#taking...]:
> {code:java}
> @Drone
> WebDriver driver;
> ...
> WebDriver augmentedDriver = new Augmenter().augment(driver);
> byte[] screenshot = ((TakesScreenshot) augmentedDriver).getScreenshotAs(OutputType.BYTES);
> {code}
> results in the following exeception:
> {noformat}
> Caused by: java.lang.ClassFormatError: Duplicate method name&signature in class file org/openqa/selenium/remote/RemoteWebDriver$$EnhancerCGLIB$$58fd8af5$$EnhancerByCGLIB$$558c2b50
> {noformat}
> If the augmentation is omitted, the {{TakesScreenshot}} interface can't be found:
> {noformat}
> java.lang.ClassCastException: org.openqa.selenium.remote.RemoteWebDriver$$EnhancerCGLIB$$eda133bb cannot be cast to org.openqa.selenium.TakesScreenshot
> {noformat}
> It seems that the CGLib-enhanced {{RemoteWebDriver}} instance contains the methods of capability providers ({{AddTakesScreenshot}}) but doesn't declare that it implements their corresponding interfaces ({{TakesScreenshot}}).
> Note that taking screenshots works without the augmentation when using a non-remote WebDriver. (When using augmentation it throws the _Duplicate method name&signature_ exception).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 11 months
[JBoss JIRA] (ARQGRA-256) Graphene RemoteWebDriver doesn't support augmentation properly
by Ron Šmeral (JIRA)
Ron Šmeral created ARQGRA-256:
---------------------------------
Summary: Graphene RemoteWebDriver doesn't support augmentation properly
Key: ARQGRA-256
URL: https://issues.jboss.org/browse/ARQGRA-256
Project: Arquillian Graphene
Issue Type: Bug
Environment: Graphene 2.0.0.Alpha3-SNAPSHOT
Reporter: Ron Šmeral
When using a remote WebDriver, trying to take a screenshot as described in [WebDriver documentation|http://seleniumhq.org/docs/04_webdriver_advanced.jsp#taking...]:
{code:java}
@Drone
WebDriver driver;
...
WebDriver augmentedDriver = new Augmenter().augment(driver);
byte[] screenshot = ((TakesScreenshot) augmentedDriver).getScreenshotAs(OutputType.BYTES);
{code}
results in the following exeception:
{noformat}
Caused by: java.lang.ClassFormatError: Duplicate method name&signature in class file org/openqa/selenium/remote/RemoteWebDriver$$EnhancerCGLIB$$58fd8af5$$EnhancerByCGLIB$$558c2b50
{noformat}
If the augmentation is omitted, the {{TakesScreenshot}} interface can't be found:
{noformat}
java.lang.ClassCastException: org.openqa.selenium.remote.RemoteWebDriver$$EnhancerCGLIB$$eda133bb cannot be cast to org.openqa.selenium.TakesScreenshot
{noformat}
It seems that the CGLib-enhanced {{RemoteWebDriver}} instance contains the methods of capability providers ({{AddTakesScreenshot}}) but doesn't declare that it implements their corresponding interfaces ({{TakesScreenshot}}).
Note that taking screenshots works without the augmentation when using a non-remote WebDriver. (When using augmentation it throws the _Duplicate method name&signature_ exception).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 11 months
[JBoss JIRA] (ARQ-1273) Reinstalling of android-server in android-drone fails when other version is specified
by Stefan Miklosovic (JIRA)
[ https://issues.jboss.org/browse/ARQ-1273?page=com.atlassian.jira.plugin.s... ]
Stefan Miklosovic commented on ARQ-1273:
----------------------------------------
This logic is from now on implemented in the upcomming Android container. It is welcome to merge these changes as you wish.
https://github.com/smiklosovic/arquillian-container-android/blob/master/a...
https://github.com/smiklosovic/arquillian-container-android/blob/master/a...
https://github.com/smiklosovic/arquillian-container-android-drone-web/blo...
> Reinstalling of android-server in android-drone fails when other version is specified
> -------------------------------------------------------------------------------------
>
> Key: ARQ-1273
> URL: https://issues.jboss.org/browse/ARQ-1273
> Project: Arquillian
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: Extension - Android
> Affects Versions: 1.0.0.Final
> Reporter: Stefan Miklosovic
> Assignee: Karel Piwko
> Priority: Optional
>
> Since there is the possibility to have an Android virtual device connected and online while doing some tests so starting up the emulator is not neccessary every time one is testing something, the android-drone module installs (and reinstalls) an android-server.apk on the device in order to prepare it for e.g testing via android-extension-drone.
> When running the test, specifying one version of the apk server (e.g. 2.16), this APK is installed. In the case we are executing the test the second time with the same version of the APK, all is good since the APK is just reinstalled.
> The error arise when we are trying to reinstall the APK when other version of the server is specified (e.g. 2.21.0) because it seems that Android checks upon reinstalling if the certificates of APK files match and in this case, it is not true. The next error appears while doing so:
> {code}org.jboss.arquillian.android.api.AndroidExecutionException: Unable to install APK from (path)/android-server-2.21.0.apk.
> Command failed with status code: INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES
> at org.jboss.arquillian.android.impl.AndroidDeviceImpl.installPackage(AndroidDeviceImpl.java:169)
> at org.jboss.arquillian.android.drone.impl.AndroidWebDriverSupport.prepareWebDriverEnvironment(AndroidDroneWebDriverSupport.java:66)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
> at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
> at org.jboss.arquillian.android.impl.AndroidDeviceSelector.getOrCreateAndroidDevice(AndroidDeviceSelector.java:110)
> {code}
> I would suggest to not only reinstall the package, which is not sufficient,
> but I would check if some package of some particular name is installed and
> after that it should be removed explicitly.
> The command which writes out the list of all installed applications is
> {code}pm list packages -f{code}
> so this can be easilly checked and tested for the presence of the string
> {code}package:/data/app/org.openqa.selenium.android.app-1.apk=org.openqa.selenium.android.app{code}
> or its appropriate part.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 11 months
[JBoss JIRA] (ARQ-1273) Reinstalling of android-server in android-drone fails when other version is specified
by Stefan Miklosovic (JIRA)
[ https://issues.jboss.org/browse/ARQ-1273?page=com.atlassian.jira.plugin.s... ]
Stefan Miklosovic updated ARQ-1273:
-----------------------------------
Description:
Since there is the possibility to have an Android virtual device connected and online while doing some tests so starting up the emulator is not neccessary every time one is testing something, the android-drone module installs (and reinstalls) an android-server.apk on the device in order to prepare it for e.g testing via android-extension-drone.
When running the test, specifying one version of the apk server (e.g. 2.16), this APK is installed. In the case we are executing the test the second time with the same version of the APK, all is good since the APK is just reinstalled.
The error arise when we are trying to reinstall the APK when other version of the server is specified (e.g. 2.21.0) because it seems that Android checks upon reinstalling if the certificates of APK files match and in this case, it is not true. The next error appears while doing so:
{code}org.jboss.arquillian.android.api.AndroidExecutionException: Unable to install APK from (path)/android-server-2.21.0.apk.
Command failed with status code: INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES
at org.jboss.arquillian.android.impl.AndroidDeviceImpl.installPackage(AndroidDeviceImpl.java:169)
at org.jboss.arquillian.android.drone.impl.AndroidWebDriverSupport.prepareWebDriverEnvironment(AndroidDroneWebDriverSupport.java:66)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
at org.jboss.arquillian.android.impl.AndroidDeviceSelector.getOrCreateAndroidDevice(AndroidDeviceSelector.java:110)
{code}
I would suggest to not only reinstall the package, which is not sufficient,
but I would check if some package of some particular name is installed and
after that it should be removed explicitly.
The command which writes out the list of all installed applications is
{code}pm list packages -f{code}
so this can be easilly checked and tested for the presence of the string
{code}package:/data/app/org.openqa.selenium.android.app-1.apk=org.openqa.selenium.android.app{code}
or its appropriate part.
was:
Since there is the possibility to have an Android virtual device connected and online while doing some tests so starting up the emulator is not neccessary every time one is testing something, the android-drone module installs (and reinstalls) an android-server.apk on the device in order to prepare it for e.g testing via android-extension-drone.
When running the test, specifying one version of the apk server (e.g. 2.16), this APK is installed. In the case we are executing the test the second time with the same version of the APK, all is good since the APK is just reinstalled.
The error arise when we are trying to reinstall the APK when other version of the server is specified (e.g. 2.21.0) because it seems that Android checks upon reinstalling if the certificates of APK files match and in this case, it is not true. The next error appears while doing so:
{code}org.jboss.arquillian.container.android.api.AndroidExecutionException: Unable to install APK from (path)/android-server-2.21.0.apk.
Command failed with status code: INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES
at org.jboss.arquillian.android.impl.AndroidDeviceImpl.installPackage(AndroidDeviceImpl.java:169)
at org.jboss.arquillian.android.drone.impl.AndroidDroneWebDriverSupport.prepareWebDriverEnvironment(AndroidDroneWebDriverSupport.java:66)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
at org.jboss.arquillian.android.impl.AndroidDeviceSelector.getOrCreateAndroidDevice(AndroidDeviceSelector.java:110)
{code}
I would suggest to not only reinstall the package, which is not sufficient,
but I would check if some package of some particular name is installed and
after that it should be removed explicitly.
The command which writes out the list of all installed applications is
{code}pm list packages -f{code}
so this can be easilly checked and tested for the presence of the string
{code}package:/data/app/org.openqa.selenium.android.app-1.apk=org.openqa.selenium.android.app{code}
or its appropriate part.
> Reinstalling of android-server in android-drone fails when other version is specified
> -------------------------------------------------------------------------------------
>
> Key: ARQ-1273
> URL: https://issues.jboss.org/browse/ARQ-1273
> Project: Arquillian
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: Extension - Android
> Affects Versions: 1.0.0.Final
> Reporter: Stefan Miklosovic
> Assignee: Karel Piwko
> Priority: Optional
>
> Since there is the possibility to have an Android virtual device connected and online while doing some tests so starting up the emulator is not neccessary every time one is testing something, the android-drone module installs (and reinstalls) an android-server.apk on the device in order to prepare it for e.g testing via android-extension-drone.
> When running the test, specifying one version of the apk server (e.g. 2.16), this APK is installed. In the case we are executing the test the second time with the same version of the APK, all is good since the APK is just reinstalled.
> The error arise when we are trying to reinstall the APK when other version of the server is specified (e.g. 2.21.0) because it seems that Android checks upon reinstalling if the certificates of APK files match and in this case, it is not true. The next error appears while doing so:
> {code}org.jboss.arquillian.android.api.AndroidExecutionException: Unable to install APK from (path)/android-server-2.21.0.apk.
> Command failed with status code: INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES
> at org.jboss.arquillian.android.impl.AndroidDeviceImpl.installPackage(AndroidDeviceImpl.java:169)
> at org.jboss.arquillian.android.drone.impl.AndroidWebDriverSupport.prepareWebDriverEnvironment(AndroidDroneWebDriverSupport.java:66)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
> at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
> at org.jboss.arquillian.android.impl.AndroidDeviceSelector.getOrCreateAndroidDevice(AndroidDeviceSelector.java:110)
> {code}
> I would suggest to not only reinstall the package, which is not sufficient,
> but I would check if some package of some particular name is installed and
> after that it should be removed explicitly.
> The command which writes out the list of all installed applications is
> {code}pm list packages -f{code}
> so this can be easilly checked and tested for the presence of the string
> {code}package:/data/app/org.openqa.selenium.android.app-1.apk=org.openqa.selenium.android.app{code}
> or its appropriate part.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 11 months
[JBoss JIRA] (ARQ-1273) Reinstalling of android-server in android-drone fails when other version is specified
by Stefan Miklosovic (JIRA)
[ https://issues.jboss.org/browse/ARQ-1273?page=com.atlassian.jira.plugin.s... ]
Stefan Miklosovic updated ARQ-1273:
-----------------------------------
Description:
Since there is the possibility to have an Android virtual device connected and online while doing some tests so starting up the emulator is not neccessary every time one is testing something, the android-drone module installs (and reinstalls) an android-server.apk on the device in order to prepare it for e.g testing via android-extension-drone.
When running the test, specifying one version of the apk server (e.g. 2.16), this APK is installed. In the case we are executing the test the second time with the same version of the APK, all is good since the APK is just reinstalled.
The error arise when we are trying to reinstall the APK when other version of the server is specified (e.g. 2.21.0) because it seems that Android checks upon reinstalling if the certificates of APK files match and in this case, it is not true. The next error appears while doing so:
{code}org.jboss.arquillian.container.android.api.AndroidExecutionException: Unable to install APK from (path)/android-server-2.21.0.apk.
Command failed with status code: INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES
at org.jboss.arquillian.android.impl.AndroidDeviceImpl.installPackage(AndroidDeviceImpl.java:169)
at org.jboss.arquillian.android.drone.impl.AndroidDroneWebDriverSupport.prepareWebDriverEnvironment(AndroidDroneWebDriverSupport.java:66)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
at org.jboss.arquillian.android.impl.AndroidDeviceSelector.getOrCreateAndroidDevice(AndroidDeviceSelector.java:110)
{code}
I would suggest to not only reinstall the package, which is not sufficient,
but I would check if some package of some particular name is installed and
after that it should be removed explicitly.
The command which writes out the list of all installed applications is
{code}pm list packages -f{code}
so this can be easilly checked and tested for the presence of the string
{code}package:/data/app/org.openqa.selenium.android.app-1.apk=org.openqa.selenium.android.app{code}
or its appropriate part.
was:
Since there is the possibility to have an Android virtual device connected and online while doing some tests so starting up the emulator is not neccessary every time one is testing something, the android-drone module installs (and reinstalls) an android-server.apk on the device in order to prepare it for e.g testing via android-extension-drone.
When running the test, specifying one version of the apk server (e.g. 2.16), this APK is installed. In the case we are executing the test the second time with the same version of the APK, all is good since the APK is just reinstalled.
The error arise when we are trying to reinstall the APK when other version of the server is specified (e.g. 2.21.0) because it seems that Android checks upon reinstalling if the certificates of APK files match and in this case, it is not true. The next error appears while doing so:
{code}org.jboss.arquillian.container.android.api.AndroidExecutionException: Unable to install APK from (path)/android-server-2.21.0.apk.
Command failed with status code: INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES
at org.jboss.arquillian.container.android.managed.impl.AndroidDeviceImpl.installPackage(AndroidDeviceImpl.java:169)
at org.jboss.arquillian.android.drone.impl.AndroidDroneWebDriverSupport.prepareWebDriverEnvironment(AndroidDroneWebDriverSupport.java:66)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
at org.jboss.arquillian.container.android.managed.impl.AndroidDeviceSelector.getOrCreateAndroidDevice(AndroidDeviceSelector.java:110)
{code}
I would suggest to not only reinstall the package, which is not sufficient,
but I would check if some package of some particular name is installed and
after that it should be removed explicitly.
The command which writes out the list of all installed applications is
{code}pm list packages -f{code}
so this can be easilly checked and tested for the presence of the string
{code}package:/data/app/org.openqa.selenium.android.app-1.apk=org.openqa.selenium.android.app{code}
or its appropriate part.
> Reinstalling of android-server in android-drone fails when other version is specified
> -------------------------------------------------------------------------------------
>
> Key: ARQ-1273
> URL: https://issues.jboss.org/browse/ARQ-1273
> Project: Arquillian
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: Extension - Android
> Affects Versions: 1.0.0.Final
> Reporter: Stefan Miklosovic
> Assignee: Karel Piwko
> Priority: Optional
>
> Since there is the possibility to have an Android virtual device connected and online while doing some tests so starting up the emulator is not neccessary every time one is testing something, the android-drone module installs (and reinstalls) an android-server.apk on the device in order to prepare it for e.g testing via android-extension-drone.
> When running the test, specifying one version of the apk server (e.g. 2.16), this APK is installed. In the case we are executing the test the second time with the same version of the APK, all is good since the APK is just reinstalled.
> The error arise when we are trying to reinstall the APK when other version of the server is specified (e.g. 2.21.0) because it seems that Android checks upon reinstalling if the certificates of APK files match and in this case, it is not true. The next error appears while doing so:
> {code}org.jboss.arquillian.container.android.api.AndroidExecutionException: Unable to install APK from (path)/android-server-2.21.0.apk.
> Command failed with status code: INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES
> at org.jboss.arquillian.android.impl.AndroidDeviceImpl.installPackage(AndroidDeviceImpl.java:169)
> at org.jboss.arquillian.android.drone.impl.AndroidDroneWebDriverSupport.prepareWebDriverEnvironment(AndroidDroneWebDriverSupport.java:66)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
> at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
> at org.jboss.arquillian.android.impl.AndroidDeviceSelector.getOrCreateAndroidDevice(AndroidDeviceSelector.java:110)
> {code}
> I would suggest to not only reinstall the package, which is not sufficient,
> but I would check if some package of some particular name is installed and
> after that it should be removed explicitly.
> The command which writes out the list of all installed applications is
> {code}pm list packages -f{code}
> so this can be easilly checked and tested for the presence of the string
> {code}package:/data/app/org.openqa.selenium.android.app-1.apk=org.openqa.selenium.android.app{code}
> or its appropriate part.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 11 months
[JBoss JIRA] (ARQ-1273) Reinstalling of android-server in android-drone fails when other version is specified
by Stefan Miklosovic (JIRA)
[ https://issues.jboss.org/browse/ARQ-1273?page=com.atlassian.jira.plugin.s... ]
Stefan Miklosovic updated ARQ-1273:
-----------------------------------
Priority: Optional (was: Major)
> Reinstalling of android-server in android-drone fails when other version is specified
> -------------------------------------------------------------------------------------
>
> Key: ARQ-1273
> URL: https://issues.jboss.org/browse/ARQ-1273
> Project: Arquillian
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: Extension - Android
> Affects Versions: 1.0.0.Final
> Reporter: Stefan Miklosovic
> Assignee: Karel Piwko
> Priority: Optional
>
> Since there is the possibility to have an Android virtual device connected and online while doing some tests so starting up the emulator is not neccessary every time one is testing something, the android-drone module installs (and reinstalls) an android-server.apk on the device in order to prepare it for e.g testing via android-extension-drone.
> When running the test, specifying one version of the apk server (e.g. 2.16), this APK is installed. In the case we are executing the test the second time with the same version of the APK, all is good since the APK is just reinstalled.
> The error arise when we are trying to reinstall the APK when other version of the server is specified (e.g. 2.21.0) because it seems that Android checks upon reinstalling if the certificates of APK files match and in this case, it is not true. The next error appears while doing so:
> {code}org.jboss.arquillian.container.android.api.AndroidExecutionException: Unable to install APK from (path)/android-server-2.21.0.apk.
> Command failed with status code: INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES
> at org.jboss.arquillian.container.android.managed.impl.AndroidDeviceImpl.installPackage(AndroidDeviceImpl.java:169)
> at org.jboss.arquillian.android.drone.impl.AndroidDroneWebDriverSupport.prepareWebDriverEnvironment(AndroidDroneWebDriverSupport.java:66)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
> at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
> at org.jboss.arquillian.container.android.managed.impl.AndroidDeviceSelector.getOrCreateAndroidDevice(AndroidDeviceSelector.java:110)
> {code}
> I would suggest to not only reinstall the package, which is not sufficient,
> but I would check if some package of some particular name is installed and
> after that it should be removed explicitly.
> The command which writes out the list of all installed applications is
> {code}pm list packages -f{code}
> so this can be easilly checked and tested for the presence of the string
> {code}package:/data/app/org.openqa.selenium.android.app-1.apk=org.openqa.selenium.android.app{code}
> or its appropriate part.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 11 months
[JBoss JIRA] (ARQ-1273) Reinstalling of android-server in android-drone fails when other version is specified
by Stefan Miklosovic (JIRA)
Stefan Miklosovic created ARQ-1273:
--------------------------------------
Summary: Reinstalling of android-server in android-drone fails when other version is specified
Key: ARQ-1273
URL: https://issues.jboss.org/browse/ARQ-1273
Project: Arquillian
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: Extension - Android
Affects Versions: 1.0.0.Final
Reporter: Stefan Miklosovic
Assignee: Karel Piwko
Since there is the possibility to have an Android virtual device connected and online while doing some tests so starting up the emulator is not neccessary every time one is testing something, the android-drone module installs (and reinstalls) an android-server.apk on the device in order to prepare it for e.g testing via android-extension-drone.
When running the test, specifying one version of the apk server (e.g. 2.16), this APK is installed. In the case we are executing the test the second time with the same version of the APK, all is good since the APK is just reinstalled.
The error arise when we are trying to reinstall the APK when other version of the server is specified (e.g. 2.21.0) because it seems that Android checks upon reinstalling if the certificates of APK files match and in this case, it is not true. The next error appears while doing so:
{code}org.jboss.arquillian.container.android.api.AndroidExecutionException: Unable to install APK from (path)/android-server-2.21.0.apk.
Command failed with status code: INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES
at org.jboss.arquillian.container.android.managed.impl.AndroidDeviceImpl.installPackage(AndroidDeviceImpl.java:169)
at org.jboss.arquillian.android.drone.impl.AndroidDroneWebDriverSupport.prepareWebDriverEnvironment(AndroidDroneWebDriverSupport.java:66)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
at org.jboss.arquillian.container.android.managed.impl.AndroidDeviceSelector.getOrCreateAndroidDevice(AndroidDeviceSelector.java:110)
{code}
I would suggest to not only reinstall the package, which is not sufficient,
but I would check if some package of some particular name is installed and
after that it should be removed explicitly.
The command which writes out the list of all installed applications is
{code}pm list packages -f{code}
so this can be easilly checked and tested for the presence of the string
{code}package:/data/app/org.openqa.selenium.android.app-1.apk=org.openqa.selenium.android.app{code}
or its appropriate part.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 11 months