myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dennis Kieselhorst (JIRA)" <...@myfaces.apache.org>
Subject [jira] [Comment Edited] (TOBAGO-1473) Remove selenium legacy dependency
Date Fri, 27 Nov 2015 14:58:11 GMT

    [ https://issues.apache.org/jira/browse/TOBAGO-1473?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15029940#comment-15029940
] 

Dennis Kieselhorst edited comment on TOBAGO-1473 at 11/27/15 2:57 PM:
----------------------------------------------------------------------

I played around with selenese-runner and was able to execute most of the test scripts.

However we need to find a replacement for TobagoSelenium.checkPage and implement missing stuff
like this (I will create pull requests for this https://github.com/vmi/selenese-runner-java/issues/173
):
{noformat}
java.lang.UnsupportedOperationException: Unknown locator type: class=tobago-popup
	at jp.vmi.selenium.selenese.locator.WebDriverElementFinder.findElementsInternal(WebDriverElementFinder.java:218)
	at jp.vmi.selenium.selenese.locator.WebDriverElementFinder.findElements(WebDriverElementFinder.java:259)
	at jp.vmi.selenium.selenese.locator.WebDriverElementFinder.findElements(WebDriverElementFinder.java:271)
	at jp.vmi.selenium.selenese.locator.WebDriverElementFinder.findElement(WebDriverElementFinder.java:288)
	at com.thoughtworks.selenium.webdriven.commands.IsElementPresent.handleSeleneseCommand(IsElementPresent.java:36)
	at com.thoughtworks.selenium.webdriven.commands.IsElementPresent.handleSeleneseCommand(IsElementPresent.java:26)
	at com.thoughtworks.selenium.webdriven.SeleneseCommand.apply(SeleneseCommand.java:36)
	at jp.vmi.selenium.selenese.subcommand.WDCommand.execute(WDCommand.java:39)
	at jp.vmi.selenium.selenese.command.Assertion.executeImpl(Assertion.java:98)
	at jp.vmi.selenium.selenese.command.AbstractCommand.execute(AbstractCommand.java:145)
	at jp.vmi.selenium.selenese.command.CommandList.doCommand(CommandList.java:98)
	at jp.vmi.selenium.selenese.command.CommandList$$EnhancerByGuice$$eda6b15c.CGLIB$doCommand$13(<generated>)
	at jp.vmi.selenium.selenese.command.CommandList$$EnhancerByGuice$$eda6b15c$$FastClassByGuice$$64bfcffb.invoke(<generated>)
	at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228)
	at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
	at jp.vmi.selenium.selenese.inject.ScreenshotInterceptor.invoke(ScreenshotInterceptor.java:29)
	at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
	at jp.vmi.selenium.selenese.inject.HighlightInterceptor.invoke(HighlightInterceptor.java:40)
	at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
	at jp.vmi.selenium.selenese.inject.CommandLogInterceptor.invoke(CommandLogInterceptor.java:78)
	at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
	at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52)
	at jp.vmi.selenium.selenese.command.CommandList$$EnhancerByGuice$$eda6b15c.doCommand(<generated>)
	at jp.vmi.selenium.selenese.command.CommandList.execute(CommandList.java:152)
	at jp.vmi.selenium.selenese.TestCase.execute(TestCase.java:299)
	at jp.vmi.selenium.selenese.TestCase$$EnhancerByGuice$$6df3b740.CGLIB$execute$0(<generated>)
	at jp.vmi.selenium.selenese.TestCase$$EnhancerByGuice$$6df3b740$$FastClassByGuice$$9ee2623e.invoke(<generated>)
	at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228)
	at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
	at jp.vmi.selenium.selenese.inject.ExecuteTestCaseInterceptor.invoke(ExecuteTestCaseInterceptor.java:55)
	at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
	at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52)
	at jp.vmi.selenium.selenese.TestCase$$EnhancerByGuice$$6df3b740.execute(<generated>)
	at jp.vmi.selenium.selenese.TestSuite.execute(TestSuite.java:158)
	at jp.vmi.selenium.selenese.TestSuite$$EnhancerByGuice$$5f71ecf1.CGLIB$execute$0(<generated>)
	at jp.vmi.selenium.selenese.TestSuite$$EnhancerByGuice$$5f71ecf1$$FastClassByGuice$$c9431ffe.invoke(<generated>)
	at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228)
	at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
	at jp.vmi.selenium.selenese.inject.ExecuteTestSuiteInterceptor.invoke(ExecuteTestSuiteInterceptor.java:54)
	at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
	at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52)
	at jp.vmi.selenium.selenese.TestSuite$$EnhancerByGuice$$5f71ecf1.execute(<generated>)
	at jp.vmi.selenium.selenese.Runner.run(Runner.java:637)
	at org.apache.myfaces.tobago.example.test.AutomaticSeleniumTest.testPageConsistency(AutomaticSeleniumTest.java:69)
{noformat}


was (Author: deki):
I played around with selenese-runner and was able to execute most of the test scripts.

However we need to find a replacement for TobagoSelenium.checkPage and implement missing stuff
like this (I will create pull requests for this https://github.com/vmi/selenese-runner-java/issues/173):
{noformat}
java.lang.UnsupportedOperationException: Unknown locator type: class=tobago-popup
	at jp.vmi.selenium.selenese.locator.WebDriverElementFinder.findElementsInternal(WebDriverElementFinder.java:218)
	at jp.vmi.selenium.selenese.locator.WebDriverElementFinder.findElements(WebDriverElementFinder.java:259)
	at jp.vmi.selenium.selenese.locator.WebDriverElementFinder.findElements(WebDriverElementFinder.java:271)
	at jp.vmi.selenium.selenese.locator.WebDriverElementFinder.findElement(WebDriverElementFinder.java:288)
	at com.thoughtworks.selenium.webdriven.commands.IsElementPresent.handleSeleneseCommand(IsElementPresent.java:36)
	at com.thoughtworks.selenium.webdriven.commands.IsElementPresent.handleSeleneseCommand(IsElementPresent.java:26)
	at com.thoughtworks.selenium.webdriven.SeleneseCommand.apply(SeleneseCommand.java:36)
	at jp.vmi.selenium.selenese.subcommand.WDCommand.execute(WDCommand.java:39)
	at jp.vmi.selenium.selenese.command.Assertion.executeImpl(Assertion.java:98)
	at jp.vmi.selenium.selenese.command.AbstractCommand.execute(AbstractCommand.java:145)
	at jp.vmi.selenium.selenese.command.CommandList.doCommand(CommandList.java:98)
	at jp.vmi.selenium.selenese.command.CommandList$$EnhancerByGuice$$eda6b15c.CGLIB$doCommand$13(<generated>)
	at jp.vmi.selenium.selenese.command.CommandList$$EnhancerByGuice$$eda6b15c$$FastClassByGuice$$64bfcffb.invoke(<generated>)
	at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228)
	at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
	at jp.vmi.selenium.selenese.inject.ScreenshotInterceptor.invoke(ScreenshotInterceptor.java:29)
	at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
	at jp.vmi.selenium.selenese.inject.HighlightInterceptor.invoke(HighlightInterceptor.java:40)
	at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
	at jp.vmi.selenium.selenese.inject.CommandLogInterceptor.invoke(CommandLogInterceptor.java:78)
	at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
	at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52)
	at jp.vmi.selenium.selenese.command.CommandList$$EnhancerByGuice$$eda6b15c.doCommand(<generated>)
	at jp.vmi.selenium.selenese.command.CommandList.execute(CommandList.java:152)
	at jp.vmi.selenium.selenese.TestCase.execute(TestCase.java:299)
	at jp.vmi.selenium.selenese.TestCase$$EnhancerByGuice$$6df3b740.CGLIB$execute$0(<generated>)
	at jp.vmi.selenium.selenese.TestCase$$EnhancerByGuice$$6df3b740$$FastClassByGuice$$9ee2623e.invoke(<generated>)
	at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228)
	at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
	at jp.vmi.selenium.selenese.inject.ExecuteTestCaseInterceptor.invoke(ExecuteTestCaseInterceptor.java:55)
	at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
	at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52)
	at jp.vmi.selenium.selenese.TestCase$$EnhancerByGuice$$6df3b740.execute(<generated>)
	at jp.vmi.selenium.selenese.TestSuite.execute(TestSuite.java:158)
	at jp.vmi.selenium.selenese.TestSuite$$EnhancerByGuice$$5f71ecf1.CGLIB$execute$0(<generated>)
	at jp.vmi.selenium.selenese.TestSuite$$EnhancerByGuice$$5f71ecf1$$FastClassByGuice$$c9431ffe.invoke(<generated>)
	at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228)
	at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
	at jp.vmi.selenium.selenese.inject.ExecuteTestSuiteInterceptor.invoke(ExecuteTestSuiteInterceptor.java:54)
	at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
	at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52)
	at jp.vmi.selenium.selenese.TestSuite$$EnhancerByGuice$$5f71ecf1.execute(<generated>)
	at jp.vmi.selenium.selenese.Runner.run(Runner.java:637)
	at org.apache.myfaces.tobago.example.test.AutomaticSeleniumTest.testPageConsistency(AutomaticSeleniumTest.java:69)
{noformat}

> Remove selenium legacy dependency
> ---------------------------------
>
>                 Key: TOBAGO-1473
>                 URL: https://issues.apache.org/jira/browse/TOBAGO-1473
>             Project: MyFaces Tobago
>          Issue Type: Improvement
>            Reporter: Dennis Kieselhorst
>            Assignee: Dennis Kieselhorst
>             Fix For: 3.0.0
>
>
> The selenium tests were migrated to use Webdriver in TOBAGO-1369 to make them runnable
with current browser versions. This change has not been merged to 3.x branch yet. We need
a different implementation in future as the current Selenium legacy support will be dropped
in Selenium 3.
> Since everybody is happy with the current approach (record scripts with Selenium IDE
and run them in Unittests) we should stick to this. Unfortunately there is no official runner
for it (see https://code.google.com/p/selenium/issues/detail?id=175). Adapting this kind of
approach using
> Arquillian Graphene/ Gebish will be lots of effort, but there is a runner on Github that
looks promising: https://github.com/vmi/selenese-runner-java (Apache license)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message