[JBoss JIRA] (ARQGRA-221) Introduce own implementation of By to allow formatting (known from Graphene1)
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-221?page=com.atlassian.jira.plugin... ]
Lukáš Fryč updated ARQGRA-221:
------------------------------
Fix Version/s: 2.2-Tracking
(was: 2.1-Tracking)
> Introduce own implementation of By to allow formatting (known from Graphene1)
> -----------------------------------------------------------------------------
>
> Key: ARQGRA-221
> URL: https://issues.jboss.org/browse/ARQGRA-221
> Project: Arquillian Graphene
> Issue Type: Feature Request
> Affects Versions: 2.0.0.Alpha2
> Reporter: Jan Papousek
> Fix For: 2.2-Tracking
>
>
> Locators in Graphene 1 contains #format(Object...) method which allows you to reuse in the following way:
> {code}
> JQueryLocator general = jq("div[id$=item{0}] td.rf-ac-itm-ico");
> for (int i=0; i<10; i++) {
> JQueryLocator icon = general.format(1);
> ...
> }
> {code}
> It would be nice to have something similar in Graphene 2 (using By instead of JQueryLocator).
> Other possibly usefel methods:
> - getDescendant()
> - getChild()
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 12 months
[JBoss JIRA] (ARQGRA-439) Infer WebDriver context for @FindBy injections when there is only one qualified browser
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-439?page=com.atlassian.jira.plugin... ]
Lukáš Fryč updated ARQGRA-439:
------------------------------
Fix Version/s: 2.2-Tracking
(was: 2.1-Tracking)
> Infer WebDriver context for @FindBy injections when there is only one qualified browser
> ----------------------------------------------------------------------------------------
>
> Key: ARQGRA-439
> URL: https://issues.jboss.org/browse/ARQGRA-439
> Project: Arquillian Graphene
> Issue Type: Feature Request
> Components: core, ftest
> Affects Versions: 2.0.2.Final
> Reporter: Juraj Húska
> Fix For: 2.2-Tracking
>
>
> When one is using qualified {{WebDriver}} instances, he needs to annotate also his {{WebElement}}, ... to distinguish in which context those elements should be resolved.
> This has to be done also when there is only one (though qualified) browser injected.
> Suppose:
> {code}
> @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")
> @BugReport
> 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}
> Graphene can interfere which {{WebDriver}} instance was injected and act accordingly. The idea is also described [here|https://issues.jboss.org/browse/ARQGRA-435?focusedCommentId=12965697...].
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 12 months
[JBoss JIRA] (ARQGRA-313) Allow to inject unique page fragment from page without specifying root locator
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-313?page=com.atlassian.jira.plugin... ]
Lukáš Fryč updated ARQGRA-313:
------------------------------
Fix Version/s: 2.2-Tracking
(was: 2.1-Tracking)
> Allow to inject unique page fragment from page without specifying root locator
> ------------------------------------------------------------------------------
>
> Key: ARQGRA-313
> URL: https://issues.jboss.org/browse/ARQGRA-313
> Project: Arquillian Graphene
> Issue Type: Feature Request
> Reporter: Lukáš Fryč
> Fix For: 2.2-Tracking
>
>
> The page fragment can contain instructions how to find itself in the given context:
> {code:java}
> @AutoFindBy(".rf-cal")
> public class Calendar {
> }
> {code}
> One can then inject such a page fragment without specifying locator:
> {code:java}
> @FindBy
> Calendar calendar;
> {code}
> Note that the context of searching is dependent upon an injection point (where is page fragment being injected).
> E.g.:
> * whole page
> * page fragment
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 12 months
[JBoss JIRA] (ARQGRA-337) Disallow initialization of page abstractions which has non-private members
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQGRA-337?page=com.atlassian.jira.plugin... ]
Lukáš Fryč updated ARQGRA-337:
------------------------------
Fix Version/s: 2.2-Tracking
(was: 2.1-Tracking)
> Disallow initialization of page abstractions which has non-private members
> --------------------------------------------------------------------------
>
> Key: ARQGRA-337
> URL: https://issues.jboss.org/browse/ARQGRA-337
> Project: Arquillian Graphene
> Issue Type: Enhancement
> Reporter: Lukáš Fryč
> Fix For: 2.2-Tracking
>
>
> It is not allowed to access Graphene-injected page abstractions directly through field references because then the object's calls can't be intercepted:
> {code:java}
> // not allowed
> class Page {
> @FindBy(...)
> Tree tree;
> }
> {code}
> The accessors should be used instead:
> {code:java}
> // allowed
> class Page {
> @FindBy(...)
> private Tree tree;
> public Tree tree() {
> return tree;
> }
> }
> {code}
> We need to disallow that - either provide a warning or fail.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 12 months