[arquillian-issues] [JBoss JIRA] (ARQ-1340) Drone webdriver is not created during @BeforeClass
Lukáš Fryč (JIRA)
jira-events at lists.jboss.org
Thu Mar 7 04:37:56 EST 2013
[ https://issues.jboss.org/browse/ARQ-1340?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12759326#comment-12759326 ]
Lukáš Fryč commented on ARQ-1340:
---------------------------------
Honestly, accessing {{WebDriver}} instance in {{@BeforeClass}} appears to be anti-pattern:
* {{@BeforeClass}} is invoked just once before the class
* we expect to start from fresh for each {{@Test}}
* when one {{@Test}} fails, there is nothing which will re-open the page to let following {{@Test}} do the job
* which violates test isolation
I would rather use {{@Before}} which can be with {{@Drone}} just fine.
Could you please elaborate your use case more to help us understand why you require to use {{@BeforeClass}}?
It might be valid use case, but I don't see it know.
> Drone webdriver is not created during @BeforeClass
> --------------------------------------------------
>
> Key: ARQ-1340
> URL: https://issues.jboss.org/browse/ARQ-1340
> Project: Arquillian
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Extension - Drone
> Affects Versions: drone_1.1.1.Final
> Environment: Arquillian JUnit Container 1.0.3.Final
> Arquillian Graphene Webdriver 2.0.0.Alpha3
> Arquillian Drone dependencies and Selenium dependencies 1.1.1.Final
> Arquillian Core dependencies 1.0.3.Final
> junit 4.8.1
> jdk 1.6
> Reporter: Alex Okrushko
> Assignee: Karel Piwko
>
> Drone webdriver is not created during @BeforeClass, however *is created during @Before or if called by GrapheneContext.getProxy()*
> The following does NOT work:
> {code:java}
> @RunWith(Arquillian.class)
> public class TestDroneLogin {
> @Drone
> private static WebDriver driver;
>
> @BeforeClass
> public static void setup(){
> //GrapheneContext.getProxy().navigate().to("http://google.com");
> driver.navigate().to("http://google.com");
> }
>
> @Test
> public void testInput(){
> driver.findElement(By.cssSelector("input#gbqfq"));
> }
> }
> {code}
> However, if I use {{GrapheneContext.getProxy()}} instead of {{driver}}, everything works as expected:
> {code:java}
> @BeforeClass
> public static void setup(){
> GrapheneContext.getProxy().navigate().to("http://google.com");
> }
> {code}
> ALSO, if {{@Before}} is used then Drone webdriver is created as expected, so this problem is specific to {{@BeforeClass}}
--
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
More information about the arquillian-issues
mailing list