[arquillian-issues] [JBoss JIRA] (ARQGRA-245) withTimeout() and withMessage() are not working with JVM7
Karel Piwko (JIRA)
jira-events at lists.jboss.org
Wed Dec 19 08:27:08 EST 2012
Karel Piwko created ARQGRA-245:
----------------------------------
Summary: withTimeout() and withMessage() are not working with JVM7
Key: ARQGRA-245
URL: https://issues.jboss.org/browse/ARQGRA-245
Project: Arquillian Graphene
Issue Type: Bug
Components: core
Affects Versions: 2.0.0.Alpha2
Reporter: Karel Piwko
Priority: Critical
When compiling with JDK7, following error happens:
{code}
@FindBy(className = "failed")
WebElement failedCasesCount;
@FindBy(className = "passed")
WebElement passedCasesCount;
@FindBy(className = "total")
WebElement totalCasesCount;
@FindBy(id = "qunit-tests")
QUnitResultsFragment results;
private URL pageUrl;
private long timeout = 60;
private TimeUnit unit = TimeUnit.SECONDS;
private int getExecutionResult(WebElement element) {
if (waitModel().withTimeout(timeout, unit).until(element(element).isPresent())) {
return Integer.valueOf(element.getText());
}
throw new QUnitExecutionException(MessageFormat.format(
"Unable to execute QUnit tests at {0} within {1}{2}, timeouted.",
pageUrl, timeout, unit));
}
{code}
{code}
[WARNING] /home/kpiwko/devel/wfk/wfk-qa/build/drone-qunit-integration/src/main/java/org/jboss/arquillian/drone/qunit/QUnitPage.java:[80,65] [unchecked] unchecked call to <V>until(Function<? super T,V>) as a member of the raw type FluentWait
[INFO] 1 warning
[INFO] -------------------------------------------------------------
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR]
V extends Object declared in method <V>until(Function<? super T,V>)
T extends Object declared in class FluentWait
/home/kpiwko/devel/wfk/wfk-qa/build/drone-qunit-integration/src/main/java/org/jboss/arquillian/drone/qunit/QUnitPage.java:[80,65] error: incompatible types
{code}
Further investigation shows that:
until() methods comes from Graphene
withTimeout() comes from WebDriver
withMessage() comes form WebDriver
until(String) comes from Graphene and seems to be leftover from Graphene1 migration.
The problematic part is about setting FLUENT generics to null as this cause ambiguity on JDK7.
I'd prefer to decouple direct WebDriverWait of Graphene from WebDriverWait of WebDriver and rather use a delegate.
That way we can create until(long,TimeUnit) or even withMessage(String), withTimeout(long,TimeUnit) methods which will be able to interfere types even on jdk7.
Marking this issues a critical. There is no workaround how to set dynamically set wait while using Graphene on JDK7.
--
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