Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Selenium3 5 integration #140

Merged
merged 6 commits into from
Aug 20, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion htmlelements-java/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<name>Yandex QATools HtmlElements For Java</name>

<properties>
<selenium.version>2.53.0</selenium.version>
<selenium.version>3.5.1</selenium.version>
<phantomjs-maven-plugin.version>0.7</phantomjs-maven-plugin.version>
<phantomjs.binary.version>1.9.8</phantomjs.binary.version>
</properties>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

import org.openqa.selenium.By;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.FindBy.FindByBuilder;
import org.openqa.selenium.support.pagefactory.AbstractAnnotations;

import ru.yandex.qatools.htmlelements.element.HtmlElement;
import ru.yandex.qatools.htmlelements.exceptions.HtmlElementsException;

Expand All @@ -24,7 +26,7 @@ public By buildBy() {
Class<?> clazz = elementClass;
while (clazz != Object.class) {
if (clazz.isAnnotationPresent(FindBy.class)) {
return buildByFromFindBy(clazz.getAnnotation(FindBy.class));
return new FindByBuilder().buildIt(clazz.getAnnotation(FindBy.class), null);
}
clazz = clazz.getSuperclass();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
package ru.yandex.qatools.htmlelements.loader.decorator;

import java.lang.reflect.Field;

import org.openqa.selenium.By;
import org.openqa.selenium.support.FindAll;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.FindBys;
import org.openqa.selenium.support.pagefactory.Annotations;
import ru.yandex.qatools.htmlelements.exceptions.HtmlElementsException;

import java.lang.reflect.Field;
import ru.yandex.qatools.htmlelements.exceptions.HtmlElementsException;

import static ru.yandex.qatools.htmlelements.utils.HtmlElementUtils.*;

/**
* Extends default field annotations handling mechanism with processing annotation for blocks and lists of blocks.
* Extends default field annotations handling mechanism with processing
* annotation for blocks and lists of blocks.
*
* @author Alexander Tolmachev starlight@yandex-team.ru
* Date: 15.08.12
* @author Alexander Tolmachev starlight@yandex-team.ru Date: 15.08.12
*/
public class HtmlElementFieldAnnotationsHandler extends Annotations {
public HtmlElementFieldAnnotationsHandler(Field field) {
Expand All @@ -36,17 +37,17 @@ public By buildBy() {
private By buildByFromFindAnnotations() {
if (getField().isAnnotationPresent(FindBys.class)) {
FindBys findBys = getField().getAnnotation(FindBys.class);
return buildByFromFindBys(findBys);
return new FindBys.FindByBuilder().buildIt(findBys, null);
}

if (getField().isAnnotationPresent(FindAll.class)) {
FindAll findBys = getField().getAnnotation(FindAll.class);
return buildBysFromFindByOneOf(findBys);
FindAll findAll = getField().getAnnotation(FindAll.class);
return new FindAll.FindByBuilder().buildIt(findAll, null);
}

if (getField().isAnnotationPresent(FindBy.class)) {
FindBy findBy = getField().getAnnotation(FindBy.class);
return buildByFromFindBy(findBy);
return new FindBy.FindByBuilder().buildIt(findBy, null);
}
return null;
}
Expand All @@ -62,7 +63,7 @@ private By buildByFromHtmlElementAnnotations() {
Class<?> fieldClass = getField().getType();
while (fieldClass != Object.class) {
if (fieldClass.isAnnotationPresent(FindBy.class)) {
return buildByFromFindBy(fieldClass.getAnnotation(FindBy.class));
return new FindBy.FindByBuilder().buildIt(fieldClass.getAnnotation(FindBy.class), null);
}
fieldClass = fieldClass.getSuperclass();
}
Expand All @@ -81,7 +82,7 @@ private By buildByFromHtmlElementListAnnotations() {
Class<?> listParameterClass = getGenericParameterClass(getField());
while (listParameterClass != Object.class) {
if (listParameterClass.isAnnotationPresent(FindBy.class)) {
return buildByFromFindBy(listParameterClass.getAnnotation(FindBy.class));
return new FindBy.FindByBuilder().buildIt(listParameterClass.getAnnotation(FindBy.class), null);
}
listParameterClass = listParameterClass.getSuperclass();
}
Expand Down