[JBoss JIRA] (ARQGRA-433) FieldAccessValidatorEnricher checks access to fields uniformly
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-433?page=com.atlassian.jira.plugin... ]
Lukáš Fryč edited comment on ARQGRA-433 at 4/24/14 8:12 AM:
------------------------------------------------------------
The purpose of this validator is that people that use public fields,
1) don't actually see a state of a bean (e.g. page fragment), but rather a state of a proxy (which isn't enriched and their state thus doesn't have to correspond)
2) can't use interceptors because field access (as opposed to method accessor) can't be intercepted
Graphene can't auto-magically synchronize state of a proxy and its bean.
----
But if I understand it correctly, in the case above, Graphene checks the @Rule field that is actually part of test case, right?
This is not correct as the test case IS NOT a bean instantiated by Graphene.
was (Author: lfryc):
The purpose of this validator is that people that use public fields,
1) don't actually see a state of a bean (e.g. page fragment), but rather a state of a proxy (which isn't enriched and their state thus doesn't have to correspond)
2) can't use interceptors because field access (as opposed to method accessor) can't be intercepted
Graphene can't auto-magically synchronize state of a proxy and its bean.
----
But if I understand it correctly, Graphene checks the @Rule field that is actually part of test case, right?
This is not correct as the test case IS NOT a bean instantiated by Graphene.
> FieldAccessValidatorEnricher checks access to fields uniformly
> --------------------------------------------------------------
>
> Key: ARQGRA-433
> URL: https://issues.jboss.org/browse/ARQGRA-433
> Project: Arquillian Graphene
> Issue Type: Bug
> Components: core
> Affects Versions: 2.0.2.Final
> Reporter: Stefan Miklosovic
> Priority: Optional
>
> I have this test
> {code}
> @Rule
> public ExpectedException expectedException = ExpectedException.none();
> @Test
> @InSequence(2)
> @ReportMessage("This method should pass.")
> public void testWithExpectedExceptionRule() {
> expectedException.expect(RuntimeException.class);
> throw new RuntimeException("this exception is expected");
> }
> {code}
> Logger writes this out:
> WARNING: Public field 'expectedException' found in org.arquillian.droidium.devconf.AeroGearTestCase. Direct access to fields outside of the declaring class is not allowed.
> Apr 01, 2014 11:50:27 AM org.jboss.arquillian.graphene.enricher.FieldAccessValidatorEnricher checkFieldValidity
> However that @Rule field _has to be_ public
> {quote}
> A field must be public, not static, and a subtype of TestRule
> {quote}
> So in this case validation does not make sense.
--
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
10 years, 8 months
[JBoss JIRA] (ARQGRA-433) FieldAccessValidatorEnricher checks access to fields uniformly
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-433?page=com.atlassian.jira.plugin... ]
Lukáš Fryč commented on ARQGRA-433:
-----------------------------------
The purpose of this validator is that people that use public fields,
1) don't actually see a state of a bean (e.g. page fragment), but rather a state of a proxy (which isn't enriched and their state thus doesn't have to correspond)
2) can't use interceptors because field access (as opposed to method accessor) can't be intercepted
Graphene can't auto-magically synchronize state of a proxy and its bean.
----
But if I understand it correctly, Graphene checks the @Rule field that is actually part of test case, right?
This is not correct as the test case IS NOT a bean instantiated by Graphene.
> FieldAccessValidatorEnricher checks access to fields uniformly
> --------------------------------------------------------------
>
> Key: ARQGRA-433
> URL: https://issues.jboss.org/browse/ARQGRA-433
> Project: Arquillian Graphene
> Issue Type: Bug
> Components: core
> Affects Versions: 2.0.2.Final
> Reporter: Stefan Miklosovic
> Priority: Optional
>
> I have this test
> {code}
> @Rule
> public ExpectedException expectedException = ExpectedException.none();
> @Test
> @InSequence(2)
> @ReportMessage("This method should pass.")
> public void testWithExpectedExceptionRule() {
> expectedException.expect(RuntimeException.class);
> throw new RuntimeException("this exception is expected");
> }
> {code}
> Logger writes this out:
> WARNING: Public field 'expectedException' found in org.arquillian.droidium.devconf.AeroGearTestCase. Direct access to fields outside of the declaring class is not allowed.
> Apr 01, 2014 11:50:27 AM org.jboss.arquillian.graphene.enricher.FieldAccessValidatorEnricher checkFieldValidity
> However that @Rule field _has to be_ public
> {quote}
> A field must be public, not static, and a subtype of TestRule
> {quote}
> So in this case validation does not make sense.
--
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
10 years, 8 months
[JBoss JIRA] (ARQGRA-433) FieldAccessValidatorEnricher checks access to fields uniformly
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-433?page=com.atlassian.jira.plugin... ]
Lukáš Fryč updated ARQGRA-433:
------------------------------
Comment: was deleted
(was: +1 we should check just Graphene injection points)
> FieldAccessValidatorEnricher checks access to fields uniformly
> --------------------------------------------------------------
>
> Key: ARQGRA-433
> URL: https://issues.jboss.org/browse/ARQGRA-433
> Project: Arquillian Graphene
> Issue Type: Bug
> Components: core
> Affects Versions: 2.0.2.Final
> Reporter: Stefan Miklosovic
> Priority: Optional
>
> I have this test
> {code}
> @Rule
> public ExpectedException expectedException = ExpectedException.none();
> @Test
> @InSequence(2)
> @ReportMessage("This method should pass.")
> public void testWithExpectedExceptionRule() {
> expectedException.expect(RuntimeException.class);
> throw new RuntimeException("this exception is expected");
> }
> {code}
> Logger writes this out:
> WARNING: Public field 'expectedException' found in org.arquillian.droidium.devconf.AeroGearTestCase. Direct access to fields outside of the declaring class is not allowed.
> Apr 01, 2014 11:50:27 AM org.jboss.arquillian.graphene.enricher.FieldAccessValidatorEnricher checkFieldValidity
> However that @Rule field _has to be_ public
> {quote}
> A field must be public, not static, and a subtype of TestRule
> {quote}
> So in this case validation does not make sense.
--
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
10 years, 8 months
[JBoss JIRA] (ARQGRA-433) FieldAccessValidatorEnricher checks access to fields uniformly
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-433?page=com.atlassian.jira.plugin... ]
Lukáš Fryč commented on ARQGRA-433:
-----------------------------------
+1 we should check just Graphene injection points
> FieldAccessValidatorEnricher checks access to fields uniformly
> --------------------------------------------------------------
>
> Key: ARQGRA-433
> URL: https://issues.jboss.org/browse/ARQGRA-433
> Project: Arquillian Graphene
> Issue Type: Bug
> Components: core
> Affects Versions: 2.0.2.Final
> Reporter: Stefan Miklosovic
> Priority: Optional
>
> I have this test
> {code}
> @Rule
> public ExpectedException expectedException = ExpectedException.none();
> @Test
> @InSequence(2)
> @ReportMessage("This method should pass.")
> public void testWithExpectedExceptionRule() {
> expectedException.expect(RuntimeException.class);
> throw new RuntimeException("this exception is expected");
> }
> {code}
> Logger writes this out:
> WARNING: Public field 'expectedException' found in org.arquillian.droidium.devconf.AeroGearTestCase. Direct access to fields outside of the declaring class is not allowed.
> Apr 01, 2014 11:50:27 AM org.jboss.arquillian.graphene.enricher.FieldAccessValidatorEnricher checkFieldValidity
> However that @Rule field _has to be_ public
> {quote}
> A field must be public, not static, and a subtype of TestRule
> {quote}
> So in this case validation does not make sense.
--
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
10 years, 8 months
[JBoss JIRA] (ARQGRA-434) Browser screenshooter acts only on @Default Drone
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-434?page=com.atlassian.jira.plugin... ]
Lukáš Fryč commented on ARQGRA-434:
-----------------------------------
I can see two options:
* propagate appropriate context to screenshooter (not sure how yet)
* use GrapheneContext.lastContext()
> Browser screenshooter acts only on @Default Drone
> -------------------------------------------------
>
> Key: ARQGRA-434
> URL: https://issues.jboss.org/browse/ARQGRA-434
> Project: Arquillian Graphene
> Issue Type: Bug
> Components: screenshooter
> Affects Versions: 2.1-Tracking
> Reporter: Stefan Miklosovic
> Assignee: Juraj Húska
>
> Browser screenshooter acts only on Drone instances which do not have any qualifier but @Default since current implementation does this check:
> {code}
> GrapheneContext.getContextFor(Default.class)
> {code}
> This usage prevents user to use screenshooter in multibrowser scenarios like having Android browser and ordinary Firefox browser in one test class since they can (and must) be differentiated by additional qualifier put on @Drone instances.
> Check should be done on instance level and not on qualifier level - meaning we should take context of Drone with ordinary (not mobile) browser which can have any qualifier possible.
--
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
10 years, 8 months
[JBoss JIRA] (ARQGRA-435) Graphene wait does not find @Qualified browser
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-435?page=com.atlassian.jira.plugin... ]
Lukáš Fryč commented on ARQGRA-435:
-----------------------------------
The idea was that the provided driver should be used in the {{waitGui(driver)}} API.
> Graphene wait does not find @Qualified browser
> ----------------------------------------------
>
> Key: ARQGRA-435
> URL: https://issues.jboss.org/browse/ARQGRA-435
> Project: Arquillian Graphene
> Issue Type: Bug
> Components: core
> Affects Versions: 2.0.2.Final
> Reporter: Karel Piwko
> Assignee: Juraj Húska
> Priority: Critical
>
> It is not possible to wait when browser is qualifiered:
> {code}
> package com.acme.example.test;
> import java.lang.annotation.Retention;
> import java.lang.annotation.RetentionPolicy;
> import java.net.URL;
> import org.jboss.arquillian.container.test.api.Deployment;
> import org.jboss.arquillian.drone.api.annotation.Drone;
> import org.jboss.arquillian.drone.api.annotation.Qualifier;
> import org.jboss.arquillian.graphene.Graphene;
> import org.jboss.arquillian.junit.Arquillian;
> import org.jboss.arquillian.test.api.ArquillianResource;
> import org.jboss.shrinkwrap.api.Archive;
> import org.junit.Assert;
> import org.junit.Test;
> import org.junit.runner.RunWith;
> import org.openqa.selenium.WebDriver;
> import org.openqa.selenium.WebElement;
> import org.openqa.selenium.support.FindBy;
> @RunWith(Arquillian.class)
> public class GrapheneBugDroneTest {
> @Drone
> @BugReport
> WebDriver driver;
> @Deployment(testable = false)
> public static Archive<?> deployHtml5DemoApp() {
> return Deployments.createDeployment();
> }
> @ArquillianResource
> URL url;
> @FindBy(id = "name")
> WebElement nameField;
> @Test
> public void addUser() throws Exception {
> driver.get(url.toString());
> Graphene.waitGui(driver).until().element(nameField).is().present();
> Assert.assertTrue(true);
> }
> @Qualifier
> @Retention(RetentionPolicy.RUNTIME)
> public static @interface BugReport {
> }
> }
> {code}
> Wait *Graphene.waitGui(driver).until().element(nameField).is().present();*
> fails with
> {code}
> java.lang.IllegalStateException: There is no context available for qualifier org.jboss.arquillian.drone.api.annotation.Default. Available contexts are [interface com.acme.example.test.GrapheneBugDroneTest$BugReport].
> at org.jboss.arquillian.graphene.context.GrapheneContextImpl$LazyContext.getContext(GrapheneContextImpl.java:302)
> at org.jboss.arquillian.graphene.context.GrapheneContextImpl$LazyContext.getConfiguration(GrapheneContextImpl.java:234)
> at org.jboss.arquillian.graphene.DefaultGrapheneRuntime.waitGui(DefaultGrapheneRuntime.java:104)
> at org.jboss.arquillian.graphene.Graphene.waitGui(Graphene.java:216)
> at org.jboss.arquillian.graphene.enricher.StaleElementInterceptor.intercept(StaleElementInterceptor.java:44)
> at org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:87)
> at org.jboss.arquillian.graphene.enricher.SearchContextInterceptor.intercept(SearchContextInterceptor.java:50)
> at org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:87)
> at org.jboss.arquillian.graphene.intercept.InterceptorBuilder$2.intercept(InterceptorBuilder.java:139)
> at org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:87)
> at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler$2.call(GrapheneContextualHandler.java:209)
> at org.jboss.arquillian.graphene.context.BrowserActions.performAction(BrowserActions.java:62)
> at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler.invoke(GrapheneContextualHandler.java:205)
> at com.sun.proxy.$Proxy28.isDisplayed(Unknown Source)
> at org.jboss.arquillian.graphene.condition.element.ElementIsPresent.check(ElementIsPresent.java:44)
> at org.jboss.arquillian.graphene.condition.element.ElementIsPresent.check(ElementIsPresent.java:31)
> at org.jboss.arquillian.graphene.condition.element.AbstractElementBooleanCondition.apply(AbstractElementBooleanCondition.java:52)
> at org.jboss.arquillian.graphene.condition.element.AbstractElementBooleanCondition.apply(AbstractElementBooleanCondition.java:33)
> at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:208)
> at org.jboss.arquillian.graphene.wait.WebDriverWaitImpl.until(WebDriverWaitImpl.java:102)
> at org.jboss.arquillian.graphene.wait.WebDriverWaitImpl.commit(WebDriverWaitImpl.java:110)
> at org.jboss.arquillian.graphene.wait.IsNotElementBuilderImpl.present(IsNotElementBuilderImpl.java:47)
> at com.acme.example.test.GrapheneBugDroneTest.addUser(GrapheneBugDroneTest.java:42)
> 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
> at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
> at org.jboss.arquillian.junit.Arquillian$6$1.invoke(Arquillian.java:273)
> at org.jboss.arquillian.container.test.impl.execution.LocalTestExecuter.execute(LocalTestExecuter.java:60)
> 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:145)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:116)
> at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
> at org.jboss.arquillian.container.test.impl.execution.ClientTestExecuter.execute(ClientTestExecuter.java:53)
> 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.container.test.impl.client.ContainerEventController.createContext(ContainerEventController.java:142)
> at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createTestContext(ContainerEventController.java:129)
> 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.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:102)
> 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.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:84)
> 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.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:65)
> 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.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:145)
> at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.test(EventTestRunnerAdaptor.java:111)
> at org.jboss.arquillian.junit.Arquillian$6.evaluate(Arquillian.java:266)
> at org.jboss.arquillian.junit.Arquillian$4.evaluate(Arquillian.java:229)
> at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:317)
> at org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:46)
> at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:243)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
> at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:188)
> at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:317)
> at org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:46)
> at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:202)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:150)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
> at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> {code}
> Arquillian configuration:
> * Core 1.1.4.Final
> * Graphene 2.0.2.Final
> * Drone 2.0.0.Alpha1
--
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
10 years, 8 months
[JBoss JIRA] (ARQGRA-435) Graphene wait does not find @Qualified browser
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-435?page=com.atlassian.jira.plugin... ]
Lukáš Fryč updated ARQGRA-435:
------------------------------
Fix Version/s: 2.0.3.Final
> Graphene wait does not find @Qualified browser
> ----------------------------------------------
>
> Key: ARQGRA-435
> URL: https://issues.jboss.org/browse/ARQGRA-435
> Project: Arquillian Graphene
> Issue Type: Bug
> Components: core
> Affects Versions: 2.0.2.Final
> Reporter: Karel Piwko
> Assignee: Juraj Húska
> Priority: Critical
> Fix For: 2.0.3.Final
>
>
> It is not possible to wait when browser is qualifiered:
> {code}
> package com.acme.example.test;
> import java.lang.annotation.Retention;
> import java.lang.annotation.RetentionPolicy;
> import java.net.URL;
> import org.jboss.arquillian.container.test.api.Deployment;
> import org.jboss.arquillian.drone.api.annotation.Drone;
> import org.jboss.arquillian.drone.api.annotation.Qualifier;
> import org.jboss.arquillian.graphene.Graphene;
> import org.jboss.arquillian.junit.Arquillian;
> import org.jboss.arquillian.test.api.ArquillianResource;
> import org.jboss.shrinkwrap.api.Archive;
> import org.junit.Assert;
> import org.junit.Test;
> import org.junit.runner.RunWith;
> import org.openqa.selenium.WebDriver;
> import org.openqa.selenium.WebElement;
> import org.openqa.selenium.support.FindBy;
> @RunWith(Arquillian.class)
> public class GrapheneBugDroneTest {
> @Drone
> @BugReport
> WebDriver driver;
> @Deployment(testable = false)
> public static Archive<?> deployHtml5DemoApp() {
> return Deployments.createDeployment();
> }
> @ArquillianResource
> URL url;
> @FindBy(id = "name")
> WebElement nameField;
> @Test
> public void addUser() throws Exception {
> driver.get(url.toString());
> Graphene.waitGui(driver).until().element(nameField).is().present();
> Assert.assertTrue(true);
> }
> @Qualifier
> @Retention(RetentionPolicy.RUNTIME)
> public static @interface BugReport {
> }
> }
> {code}
> Wait *Graphene.waitGui(driver).until().element(nameField).is().present();*
> fails with
> {code}
> java.lang.IllegalStateException: There is no context available for qualifier org.jboss.arquillian.drone.api.annotation.Default. Available contexts are [interface com.acme.example.test.GrapheneBugDroneTest$BugReport].
> at org.jboss.arquillian.graphene.context.GrapheneContextImpl$LazyContext.getContext(GrapheneContextImpl.java:302)
> at org.jboss.arquillian.graphene.context.GrapheneContextImpl$LazyContext.getConfiguration(GrapheneContextImpl.java:234)
> at org.jboss.arquillian.graphene.DefaultGrapheneRuntime.waitGui(DefaultGrapheneRuntime.java:104)
> at org.jboss.arquillian.graphene.Graphene.waitGui(Graphene.java:216)
> at org.jboss.arquillian.graphene.enricher.StaleElementInterceptor.intercept(StaleElementInterceptor.java:44)
> at org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:87)
> at org.jboss.arquillian.graphene.enricher.SearchContextInterceptor.intercept(SearchContextInterceptor.java:50)
> at org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:87)
> at org.jboss.arquillian.graphene.intercept.InterceptorBuilder$2.intercept(InterceptorBuilder.java:139)
> at org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:87)
> at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler$2.call(GrapheneContextualHandler.java:209)
> at org.jboss.arquillian.graphene.context.BrowserActions.performAction(BrowserActions.java:62)
> at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler.invoke(GrapheneContextualHandler.java:205)
> at com.sun.proxy.$Proxy28.isDisplayed(Unknown Source)
> at org.jboss.arquillian.graphene.condition.element.ElementIsPresent.check(ElementIsPresent.java:44)
> at org.jboss.arquillian.graphene.condition.element.ElementIsPresent.check(ElementIsPresent.java:31)
> at org.jboss.arquillian.graphene.condition.element.AbstractElementBooleanCondition.apply(AbstractElementBooleanCondition.java:52)
> at org.jboss.arquillian.graphene.condition.element.AbstractElementBooleanCondition.apply(AbstractElementBooleanCondition.java:33)
> at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:208)
> at org.jboss.arquillian.graphene.wait.WebDriverWaitImpl.until(WebDriverWaitImpl.java:102)
> at org.jboss.arquillian.graphene.wait.WebDriverWaitImpl.commit(WebDriverWaitImpl.java:110)
> at org.jboss.arquillian.graphene.wait.IsNotElementBuilderImpl.present(IsNotElementBuilderImpl.java:47)
> at com.acme.example.test.GrapheneBugDroneTest.addUser(GrapheneBugDroneTest.java:42)
> 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
> at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
> at org.jboss.arquillian.junit.Arquillian$6$1.invoke(Arquillian.java:273)
> at org.jboss.arquillian.container.test.impl.execution.LocalTestExecuter.execute(LocalTestExecuter.java:60)
> 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:145)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:116)
> at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
> at org.jboss.arquillian.container.test.impl.execution.ClientTestExecuter.execute(ClientTestExecuter.java:53)
> 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.container.test.impl.client.ContainerEventController.createContext(ContainerEventController.java:142)
> at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createTestContext(ContainerEventController.java:129)
> 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.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:102)
> 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.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:84)
> 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.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:65)
> 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.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:145)
> at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.test(EventTestRunnerAdaptor.java:111)
> at org.jboss.arquillian.junit.Arquillian$6.evaluate(Arquillian.java:266)
> at org.jboss.arquillian.junit.Arquillian$4.evaluate(Arquillian.java:229)
> at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:317)
> at org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:46)
> at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:243)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
> at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:188)
> at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:317)
> at org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:46)
> at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:202)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:150)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
> at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> {code}
> Arquillian configuration:
> * Core 1.1.4.Final
> * Graphene 2.0.2.Final
> * Drone 2.0.0.Alpha1
--
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
10 years, 8 months
[JBoss JIRA] (ARQGRA-435) Graphene wait does not find @Qualified browser
by Juraj Húska (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-435?page=com.atlassian.jira.plugin... ]
Juraj Húska updated ARQGRA-435:
-------------------------------
Assignee: Juraj Húska
> Graphene wait does not find @Qualified browser
> ----------------------------------------------
>
> Key: ARQGRA-435
> URL: https://issues.jboss.org/browse/ARQGRA-435
> Project: Arquillian Graphene
> Issue Type: Bug
> Components: core
> Affects Versions: 2.0.2.Final
> Reporter: Karel Piwko
> Assignee: Juraj Húska
> Priority: Critical
>
> It is not possible to wait when browser is qualifiered:
> {code}
> package com.acme.example.test;
> import java.lang.annotation.Retention;
> import java.lang.annotation.RetentionPolicy;
> import java.net.URL;
> import org.jboss.arquillian.container.test.api.Deployment;
> import org.jboss.arquillian.drone.api.annotation.Drone;
> import org.jboss.arquillian.drone.api.annotation.Qualifier;
> import org.jboss.arquillian.graphene.Graphene;
> import org.jboss.arquillian.junit.Arquillian;
> import org.jboss.arquillian.test.api.ArquillianResource;
> import org.jboss.shrinkwrap.api.Archive;
> import org.junit.Assert;
> import org.junit.Test;
> import org.junit.runner.RunWith;
> import org.openqa.selenium.WebDriver;
> import org.openqa.selenium.WebElement;
> import org.openqa.selenium.support.FindBy;
> @RunWith(Arquillian.class)
> public class GrapheneBugDroneTest {
> @Drone
> @BugReport
> WebDriver driver;
> @Deployment(testable = false)
> public static Archive<?> deployHtml5DemoApp() {
> return Deployments.createDeployment();
> }
> @ArquillianResource
> URL url;
> @FindBy(id = "name")
> WebElement nameField;
> @Test
> public void addUser() throws Exception {
> driver.get(url.toString());
> Graphene.waitGui(driver).until().element(nameField).is().present();
> Assert.assertTrue(true);
> }
> @Qualifier
> @Retention(RetentionPolicy.RUNTIME)
> public static @interface BugReport {
> }
> }
> {code}
> Wait *Graphene.waitGui(driver).until().element(nameField).is().present();*
> fails with
> {code}
> java.lang.IllegalStateException: There is no context available for qualifier org.jboss.arquillian.drone.api.annotation.Default. Available contexts are [interface com.acme.example.test.GrapheneBugDroneTest$BugReport].
> at org.jboss.arquillian.graphene.context.GrapheneContextImpl$LazyContext.getContext(GrapheneContextImpl.java:302)
> at org.jboss.arquillian.graphene.context.GrapheneContextImpl$LazyContext.getConfiguration(GrapheneContextImpl.java:234)
> at org.jboss.arquillian.graphene.DefaultGrapheneRuntime.waitGui(DefaultGrapheneRuntime.java:104)
> at org.jboss.arquillian.graphene.Graphene.waitGui(Graphene.java:216)
> at org.jboss.arquillian.graphene.enricher.StaleElementInterceptor.intercept(StaleElementInterceptor.java:44)
> at org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:87)
> at org.jboss.arquillian.graphene.enricher.SearchContextInterceptor.intercept(SearchContextInterceptor.java:50)
> at org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:87)
> at org.jboss.arquillian.graphene.intercept.InterceptorBuilder$2.intercept(InterceptorBuilder.java:139)
> at org.jboss.arquillian.graphene.proxy.InvocationContextImpl.invoke(InvocationContextImpl.java:87)
> at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler$2.call(GrapheneContextualHandler.java:209)
> at org.jboss.arquillian.graphene.context.BrowserActions.performAction(BrowserActions.java:62)
> at org.jboss.arquillian.graphene.proxy.GrapheneContextualHandler.invoke(GrapheneContextualHandler.java:205)
> at com.sun.proxy.$Proxy28.isDisplayed(Unknown Source)
> at org.jboss.arquillian.graphene.condition.element.ElementIsPresent.check(ElementIsPresent.java:44)
> at org.jboss.arquillian.graphene.condition.element.ElementIsPresent.check(ElementIsPresent.java:31)
> at org.jboss.arquillian.graphene.condition.element.AbstractElementBooleanCondition.apply(AbstractElementBooleanCondition.java:52)
> at org.jboss.arquillian.graphene.condition.element.AbstractElementBooleanCondition.apply(AbstractElementBooleanCondition.java:33)
> at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:208)
> at org.jboss.arquillian.graphene.wait.WebDriverWaitImpl.until(WebDriverWaitImpl.java:102)
> at org.jboss.arquillian.graphene.wait.WebDriverWaitImpl.commit(WebDriverWaitImpl.java:110)
> at org.jboss.arquillian.graphene.wait.IsNotElementBuilderImpl.present(IsNotElementBuilderImpl.java:47)
> at com.acme.example.test.GrapheneBugDroneTest.addUser(GrapheneBugDroneTest.java:42)
> 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
> at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
> at org.jboss.arquillian.junit.Arquillian$6$1.invoke(Arquillian.java:273)
> at org.jboss.arquillian.container.test.impl.execution.LocalTestExecuter.execute(LocalTestExecuter.java:60)
> 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:145)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:116)
> at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
> at org.jboss.arquillian.container.test.impl.execution.ClientTestExecuter.execute(ClientTestExecuter.java:53)
> 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.container.test.impl.client.ContainerEventController.createContext(ContainerEventController.java:142)
> at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createTestContext(ContainerEventController.java:129)
> 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.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:102)
> 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.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:84)
> 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.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:65)
> 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.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:145)
> at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.test(EventTestRunnerAdaptor.java:111)
> at org.jboss.arquillian.junit.Arquillian$6.evaluate(Arquillian.java:266)
> at org.jboss.arquillian.junit.Arquillian$4.evaluate(Arquillian.java:229)
> at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:317)
> at org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:46)
> at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:243)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
> at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:188)
> at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:317)
> at org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:46)
> at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:202)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:150)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
> at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> {code}
> Arquillian configuration:
> * Core 1.1.4.Final
> * Graphene 2.0.2.Final
> * Drone 2.0.0.Alpha1
--
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
10 years, 8 months
[JBoss JIRA] (ARQGRA-434) Browser screenshooter acts only on @Default Drone
by Juraj Húska (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-434?page=com.atlassian.jira.plugin... ]
Juraj Húska updated ARQGRA-434:
-------------------------------
Assignee: Juraj Húska (was: Stefan Miklosovic)
> Browser screenshooter acts only on @Default Drone
> -------------------------------------------------
>
> Key: ARQGRA-434
> URL: https://issues.jboss.org/browse/ARQGRA-434
> Project: Arquillian Graphene
> Issue Type: Bug
> Components: screenshooter
> Affects Versions: 2.1-Tracking
> Reporter: Stefan Miklosovic
> Assignee: Juraj Húska
>
> Browser screenshooter acts only on Drone instances which do not have any qualifier but @Default since current implementation does this check:
> {code}
> GrapheneContext.getContextFor(Default.class)
> {code}
> This usage prevents user to use screenshooter in multibrowser scenarios like having Android browser and ordinary Firefox browser in one test class since they can (and must) be differentiated by additional qualifier put on @Drone instances.
> Check should be done on instance level and not on qualifier level - meaning we should take context of Drone with ordinary (not mobile) browser which can have any qualifier possible.
--
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
10 years, 8 months