Skip to content

Commit f05897d

Browse files
committed
Merge pull request appium#145 from clicman/master
Add support for linkText and partialLinkText search locators to @SelendroidFindBy annotation
2 parents 3523698 + 5f909b3 commit f05897d

File tree

3 files changed

+32
-0
lines changed

3 files changed

+32
-0
lines changed

src/main/java/io/appium/java_client/pagefactory/AppiumAnnotations.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,18 @@ By getBy(Annotation annotation) {
8888
By getBy(Annotation annotation) {
8989
return By.xpath(getValue(annotation, this));
9090
}
91+
},
92+
BYLINKTEXT("linkText") {
93+
@Override
94+
By getBy(Annotation annotation) {
95+
return By.linkText(getValue(annotation, this));
96+
}
97+
},
98+
BYPARTIALLINKTEXT("partialLinkText") {
99+
@Override
100+
By getBy(Annotation annotation) {
101+
return By.partialLinkText(getValue(annotation, this));
102+
}
91103
};
92104

93105
private final String valueName;

src/main/java/io/appium/java_client/pagefactory/SelendroidFindBy.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,6 @@
2121
String className() default "";
2222
String tagName() default "";
2323
String xpath() default "";
24+
String linkText() default "";
25+
String partialLinkText() default "";
2426
}

src/test/java/io/appium/java_client/pagefactory_tests/SelendroidModeTest.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,12 @@ public class SelendroidModeTest {
6565

6666
@SelendroidFindBy(tagName = "TextView")
6767
private WebElement textTag;
68+
69+
@SelendroidFindBy(linkText = "Accessibility")
70+
private WebElement textLink;
71+
72+
@SelendroidFindBy(partialLinkText = "ccessibilit")
73+
private WebElement textPartialLink;
6874

6975
@Before
7076
public void setUp() throws Exception {
@@ -140,9 +146,21 @@ public void findByElementByCalssTest() {
140146
public void findByElementByTagTest() {
141147
Assert.assertNotEquals(null, textTag.getAttribute("text"));
142148
}
149+
143150
@Test
144151
public void findBySelendroidAnnotationOnlyTest() {
145152
Assert.assertNotEquals(null, textSelendroidId.getAttribute("text"));
146153
}
154+
155+
@Test
156+
public void findBySelendroidLinkTextTest() {
157+
Assert.assertEquals("Accessibility", textLink.getText());
158+
159+
}
160+
161+
@Test
162+
public void findBySelendroidPartialLinkTextTest() {
163+
Assert.assertEquals("Accessibility", textPartialLink.getText());
147164

165+
}
148166
}

0 commit comments

Comments
 (0)