[JBoss JIRA] (ARQGRA-232) Enriched WebElement cannot be converted to JSON without manual unwrapping
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-232?page=com.atlassian.jira.plugin... ]
Lukáš Fryč reassigned ARQGRA-232:
---------------------------------
Assignee: Lukáš Fryč (was: Juraj Húska)
> Enriched WebElement cannot be converted to JSON without manual unwrapping
> -------------------------------------------------------------------------
>
> Key: ARQGRA-232
> URL: https://issues.jboss.org/browse/ARQGRA-232
> Project: Arquillian Graphene
> Issue Type: Bug
> Reporter: Jiří Štefek
> Assignee: Lukáš Fryč
> Priority: Minor
> Fix For: 2.0.0.Alpha3
>
> Original Estimate: 30 minutes
> Remaining Estimate: 30 minutes
>
> When you use something like this, WebElementToJsonConverter cannot convert enriched input:
> {code}
> @FindBy(css="input[id$=input]")
> WebElement input;
> public void blurInput(){
> JavascriptExecutor js = (JavascriptExecutor) GrapheneContext.getProxy();
> >>> js.executeScript("jQuery(arguments[0]).trigger('blur')", input); <<<
> }
> {code}
> error:
> {code}
> java.lang.IllegalArgumentException: Argument is of an illegal type: $Proxy37
> at org.openqa.selenium.remote.internal.WebElementToJsonConverter.apply(WebElementToJsonConverter.java:78)
> at com.google.common.collect.Iterators$8.next(Iterators.java:730)
> at com.google.common.collect.Lists.newArrayList(Lists.java:136)
> at com.google.common.collect.Lists.newArrayList(Lists.java:117)
> at org.openqa.selenium.remote.RemoteWebDriver.executeScript(RemoteWebDriver.java:437)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.invokeReal(GrapheneProxyHandler.java:200)
> at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler$1.invoke(GrapheneProxyHandler.java:134)
> at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.invoke(GrapheneProxyHandler.java:164)
> at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.intercept(GrapheneProxyHandler.java:172)
> at org.openqa.selenium.firefox.FirefoxDriver$$EnhancerCGLIB$$cd9d0009.executeScript(<generated>)
> {code}
> Missing some interface in created proxy?
--
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
12 years
[JBoss JIRA] (ARQGRA-232) Enriched WebElement cannot be converted to JSON without manual unwrapping
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-232?page=com.atlassian.jira.plugin... ]
Work on ARQGRA-232 started by Lukáš Fryč.
> Enriched WebElement cannot be converted to JSON without manual unwrapping
> -------------------------------------------------------------------------
>
> Key: ARQGRA-232
> URL: https://issues.jboss.org/browse/ARQGRA-232
> Project: Arquillian Graphene
> Issue Type: Bug
> Reporter: Jiří Štefek
> Assignee: Lukáš Fryč
> Priority: Minor
> Fix For: 2.0.0.Alpha3
>
> Original Estimate: 30 minutes
> Remaining Estimate: 30 minutes
>
> When you use something like this, WebElementToJsonConverter cannot convert enriched input:
> {code}
> @FindBy(css="input[id$=input]")
> WebElement input;
> public void blurInput(){
> JavascriptExecutor js = (JavascriptExecutor) GrapheneContext.getProxy();
> >>> js.executeScript("jQuery(arguments[0]).trigger('blur')", input); <<<
> }
> {code}
> error:
> {code}
> java.lang.IllegalArgumentException: Argument is of an illegal type: $Proxy37
> at org.openqa.selenium.remote.internal.WebElementToJsonConverter.apply(WebElementToJsonConverter.java:78)
> at com.google.common.collect.Iterators$8.next(Iterators.java:730)
> at com.google.common.collect.Lists.newArrayList(Lists.java:136)
> at com.google.common.collect.Lists.newArrayList(Lists.java:117)
> at org.openqa.selenium.remote.RemoteWebDriver.executeScript(RemoteWebDriver.java:437)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.invokeReal(GrapheneProxyHandler.java:200)
> at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler$1.invoke(GrapheneProxyHandler.java:134)
> at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.invoke(GrapheneProxyHandler.java:164)
> at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.intercept(GrapheneProxyHandler.java:172)
> at org.openqa.selenium.firefox.FirefoxDriver$$EnhancerCGLIB$$cd9d0009.executeScript(<generated>)
> {code}
> Missing some interface in created proxy?
--
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
12 years
[JBoss JIRA] (ARQ-1251) Arquillian Drone is unable to instantiate Firefox driver if acceptSslCerts, webStorageEnabled, loggingPrefs properties are used in arquillian.xml
by Tomas Repel (JIRA)
[ https://issues.jboss.org/browse/ARQ-1251?page=com.atlassian.jira.plugin.s... ]
Tomas Repel updated ARQ-1251:
-----------------------------
Description:
Description of problem:
If you set these properties via arquillian.xml, the Drone fails to instantiate the Firefox driver. The problem is during creation of org.openqa.selenium.firefox.FirefoxDriver instance, these properties are cast from String to e.g. Boolean (in case of acceptSslCerts) resulting in ClassCastException.
Snippet of arquillian.xml:
{code:xml}
<extension qualifier="webdriver">
<property name="acceptSslCerts">false</property>
<property name="webStorageEnabled">false</property>
<property name="loggingPrefs">someLoggingPrefs</property>
</extension>
{code}
Snippet of Firefox driver injection that fails:
{code}
@Drone
FirefoxDriver browser;
{code}
Version-Release number of selected component (if applicable):
Arquillian 1.0.3.Final
Arquillian Drone extension 1.1.0.Final
Selenium 2.27.0 (WebDriver 2)
How reproducible:
Always.
Steps to Reproduce:
1. launch functional test using code snippets above
Actual results:
{noformat}
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Boolean
at org.openqa.selenium.firefox.FirefoxDriver.populateProfile(FirefoxDriver.java:148)
at org.openqa.selenium.firefox.FirefoxDriver.extractProfile(FirefoxDriver.java:133)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:100)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at org.jboss.arquillian.drone.webdriver.factory.SecurityActions.newInstance(SecurityActions.java:142)
... 50 more
{noformat}
Expected results:
It launches Firefox browser.
was:
Description of problem:
If you set these properties via arquillian.xml, the Drone fails to instantiate the Firefox driver. The problem is during creation of org.openqa.selenium.firefox.FirefoxDriver instance, these properties are cast from String to e.g. Boolean (in case of acceptSslCerts) resulting in ClassCastException.
Snippet of arquillian.xml:
<extension qualifier="webdriver">
<property name="acceptSslCerts">false</property>
<property name="webStorageEnabled">false</property>
<property name="loggingPrefs">someLoggingPrefs</property>
</extension>
Snippet of Firefox driver injection that fails:
@Drone
FirefoxDriver browser;
Version-Release number of selected component (if applicable):
Arquillian 1.0.3.Final
Arquillian Drone extension 1.1.0.Final
Selenium 2.27.0 (WebDriver 2)
How reproducible:
Always.
Steps to Reproduce:
1. launch functional test using code snippets above
Actual results:
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Boolean
at org.openqa.selenium.firefox.FirefoxDriver.populateProfile(FirefoxDriver.java:148)
at org.openqa.selenium.firefox.FirefoxDriver.extractProfile(FirefoxDriver.java:133)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:100)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at org.jboss.arquillian.drone.webdriver.factory.SecurityActions.newInstance(SecurityActions.java:142)
... 50 more
Expected results:
It launches Firefox browser.
> Arquillian Drone is unable to instantiate Firefox driver if acceptSslCerts, webStorageEnabled, loggingPrefs properties are used in arquillian.xml
> -------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: ARQ-1251
> URL: https://issues.jboss.org/browse/ARQ-1251
> Project: Arquillian
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Extension - Drone
> Reporter: Tomas Repel
> Assignee: Karel Piwko
>
> Description of problem:
> If you set these properties via arquillian.xml, the Drone fails to instantiate the Firefox driver. The problem is during creation of org.openqa.selenium.firefox.FirefoxDriver instance, these properties are cast from String to e.g. Boolean (in case of acceptSslCerts) resulting in ClassCastException.
> Snippet of arquillian.xml:
> {code:xml}
> <extension qualifier="webdriver">
> <property name="acceptSslCerts">false</property>
> <property name="webStorageEnabled">false</property>
> <property name="loggingPrefs">someLoggingPrefs</property>
> </extension>
> {code}
> Snippet of Firefox driver injection that fails:
> {code}
> @Drone
> FirefoxDriver browser;
> {code}
> Version-Release number of selected component (if applicable):
> Arquillian 1.0.3.Final
> Arquillian Drone extension 1.1.0.Final
> Selenium 2.27.0 (WebDriver 2)
> How reproducible:
> Always.
> Steps to Reproduce:
> 1. launch functional test using code snippets above
>
> Actual results:
> {noformat}
> Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Boolean
> at org.openqa.selenium.firefox.FirefoxDriver.populateProfile(FirefoxDriver.java:148)
> at org.openqa.selenium.firefox.FirefoxDriver.extractProfile(FirefoxDriver.java:133)
> at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:100)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
> at org.jboss.arquillian.drone.webdriver.factory.SecurityActions.newInstance(SecurityActions.java:142)
> ... 50 more
> {noformat}
> Expected results:
> It launches Firefox browser.
--
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
12 years
[JBoss JIRA] (ARQGRA-200) Enhance Graphene's guards to wait until page fully updates
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-200?page=com.atlassian.jira.plugin... ]
Lukáš Fryč commented on ARQGRA-200:
-----------------------------------
The guards were improved as follows:
{{guardXhr}} waits for xhr.readyState==4 ("done") and additionally it intercepts all asynchronous callbacks ({{setTimeout}}) created in scope of AJAX asynchronous callback.
{{guardHttp}} not waits for {{document.readuState=='complete'}}
> Enhance Graphene's guards to wait until page fully updates
> ----------------------------------------------------------
>
> Key: ARQGRA-200
> URL: https://issues.jboss.org/browse/ARQGRA-200
> Project: Arquillian Graphene
> Issue Type: Enhancement
> Affects Versions: 2.0.0.Alpha2
> Reporter: Jiří Štefek
> Assignee: Lukáš Fryč
> Priority: Critical
> Fix For: 2.0.0.Alpha3
>
> Original Estimate: 4 hours
> Remaining Estimate: 4 hours
>
> It would be nice if Graphene's guards (guardXhr, guardHttp and guardNoRequest) can be used to wait until page fully updates after the the request.
--
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
12 years
[JBoss JIRA] (ARQGRA-232) Enriched WebElement cannot be converted to JSON without manual unwrapping
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-232?page=com.atlassian.jira.plugin... ]
Lukáš Fryč updated ARQGRA-232:
------------------------------
Sprint: Sprint 2
> Enriched WebElement cannot be converted to JSON without manual unwrapping
> -------------------------------------------------------------------------
>
> Key: ARQGRA-232
> URL: https://issues.jboss.org/browse/ARQGRA-232
> Project: Arquillian Graphene
> Issue Type: Bug
> Reporter: Jiří Štefek
> Assignee: Juraj Húska
> Priority: Minor
> Fix For: 2.0.0.Alpha3
>
> Original Estimate: 30 minutes
> Remaining Estimate: 30 minutes
>
> When you use something like this, WebElementToJsonConverter cannot convert enriched input:
> {code}
> @FindBy(css="input[id$=input]")
> WebElement input;
> public void blurInput(){
> JavascriptExecutor js = (JavascriptExecutor) GrapheneContext.getProxy();
> >>> js.executeScript("jQuery(arguments[0]).trigger('blur')", input); <<<
> }
> {code}
> error:
> {code}
> java.lang.IllegalArgumentException: Argument is of an illegal type: $Proxy37
> at org.openqa.selenium.remote.internal.WebElementToJsonConverter.apply(WebElementToJsonConverter.java:78)
> at com.google.common.collect.Iterators$8.next(Iterators.java:730)
> at com.google.common.collect.Lists.newArrayList(Lists.java:136)
> at com.google.common.collect.Lists.newArrayList(Lists.java:117)
> at org.openqa.selenium.remote.RemoteWebDriver.executeScript(RemoteWebDriver.java:437)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.invokeReal(GrapheneProxyHandler.java:200)
> at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler$1.invoke(GrapheneProxyHandler.java:134)
> at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.invoke(GrapheneProxyHandler.java:164)
> at org.jboss.arquillian.graphene.proxy.GrapheneProxyHandler.intercept(GrapheneProxyHandler.java:172)
> at org.openqa.selenium.firefox.FirefoxDriver$$EnhancerCGLIB$$cd9d0009.executeScript(<generated>)
> {code}
> Missing some interface in created proxy?
--
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
12 years