{"action":"created","issue":{"url":"https://api.github.com/repos/darcy-framework/darcy-webdriver/issues/53","labels_url":"https://api.github.com/repos/darcy-framework/darcy-webdriver/issues/53/labels{/name}","comments_url":"https://api.github.com/repos/darcy-framework/darcy-webdriver/issues/53/comments","events_url":"https://api.github.com/repos/darcy-framework/darcy-webdriver/issues/53/events","html_url":"https://github.com/darcy-framework/darcy-webdriver/issues/53","id":93877728,"number":53,"title":"Exception transitioning to view in new context","user":{"login":"jvervaec","id":9660730,"avatar_url":"https://avatars.githubusercontent.com/u/9660730?v=3","gravatar_id":"","url":"https://api.github.com/users/jvervaec","html_url":"https://github.com/jvervaec","followers_url":"https://api.github.com/users/jvervaec/followers","following_url":"https://api.github.com/users/jvervaec/following{/other_user}","gists_url":"https://api.github.com/users/jvervaec/gists{/gist_id}","starred_url":"https://api.github.com/users/jvervaec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvervaec/subscriptions","organizations_url":"https://api.github.com/users/jvervaec/orgs","repos_url":"https://api.github.com/users/jvervaec/repos","events_url":"https://api.github.com/users/jvervaec/events{/privacy}","received_events_url":"https://api.github.com/users/jvervaec/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-07-08T20:03:27Z","updated_at":"2015-07-08T21:15:00Z","closed_at":null,"body":"Given\r\nSynq.after(someElement::click)\r\n                .expect(transition().to(new View()).inNewContext())            \r\n                .waitUpTo(10, ChronoUnit.SECONDS);\r\n\r\nThrows\r\ncom.redhat.darcy.ui.DarcyException: Cannot find contexts of type: interface com.redhat.darcy.ui.api.FindableElementContext\r\n\tat com.redhat.darcy.webdriver.internal.TargetedWebDriverParentContext.findByView(TargetedWebDriverParentContext.java:112)\r\n\tat com.redhat.darcy.webdriver.internal.DelegatingWebContext.findByView(DelegatingWebContext.java:356)\r\n\tat com.redhat.darcy.webdriver.WebDriverBrowser.lambda$29(WebDriverBrowser.java:317)\r\n\tat com.redhat.darcy.webdriver.WebDriverBrowser$$Lambda$64/1060042118.get(Unknown Source)\r\n\tat com.redhat.darcy.webdriver.WebDriverBrowser.attemptAndGet(WebDriverBrowser.java:342)\r\n\tat com.redhat.darcy.webdriver.WebDriverBrowser.findByView(WebDriverBrowser.java:317)\r\n\tat com.redhat.darcy.ui.By$ByView.find(By.java:520)\r\n\tat com.redhat.darcy.web.internal.AbstractWebSelection.contextOfType(AbstractWebSelection.java:43)\r\n\tat com.redhat.darcy.ui.api.ContextSelection.elementContext(ContextSelection.java:44)\r\n\tat com.redhat.darcy.ui.internal.NewContextTransitionEvent.<init>(NewContextTransitionEvent.java:36)\r\n\tat com.redhat.darcy.ui.internal.SimpleTransitionEvent.inNewContext(SimpleTransitionEvent.java:57)\r\n\tat com.redhat.darcy.ui.internal.SimpleTransitionEvent.inNewContext(SimpleTransitionEvent.java:47)"},"comment":{"url":"https://api.github.com/repos/darcy-framework/darcy-webdriver/issues/comments/119732887","html_url":"https://github.com/darcy-framework/darcy-webdriver/issues/53#issuecomment-119732887","issue_url":"https://api.github.com/repos/darcy-framework/darcy-webdriver/issues/53","id":119732887,"user":{"login":"alechenninger","id":3496559,"avatar_url":"https://avatars.githubusercontent.com/u/3496559?v=3","gravatar_id":"","url":"https://api.github.com/users/alechenninger","html_url":"https://github.com/alechenninger","followers_url":"https://api.github.com/users/alechenninger/followers","following_url":"https://api.github.com/users/alechenninger/following{/other_user}","gists_url":"https://api.github.com/users/alechenninger/gists{/gist_id}","starred_url":"https://api.github.com/users/alechenninger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alechenninger/subscriptions","organizations_url":"https://api.github.com/users/alechenninger/orgs","repos_url":"https://api.github.com/users/alechenninger/repos","events_url":"https://api.github.com/users/alechenninger/events{/privacy}","received_events_url":"https://api.github.com/users/alechenninger/received_events","type":"User","site_admin":false},"created_at":"2015-07-08T21:15:00Z","updated_at":"2015-07-08T21:15:00Z","body":"This is due to Browser implementing `ElementContext` and `Findable` separately, but not `FindableElementContext` ... which is an unfortunate consequence of Java being Java. In ContextSelection, we need a type that is both `Findable` and a `Context` and so I need to create a separate type for this. So even though `FindableElementContext` is exactly equivalent to a type which implements `Findable` and `ElementContext` ... alas they are not castable in the eyes of Lord Java :).\r\n\r\nQuick solution is to make `Browser`s and `Frame`s implement `FindableElementContext`. But this is making me wonder if all `Context`s should be considered `Findable`, so gimme a night to ponder on that."}}