Return-Path: X-Original-To: apmail-myfaces-dev-archive@www.apache.org Delivered-To: apmail-myfaces-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id EEC5818B67 for ; Fri, 27 Nov 2015 14:58:11 +0000 (UTC) Received: (qmail 19913 invoked by uid 500); 27 Nov 2015 14:58:11 -0000 Delivered-To: apmail-myfaces-dev-archive@myfaces.apache.org Received: (qmail 19854 invoked by uid 500); 27 Nov 2015 14:58:11 -0000 Mailing-List: contact dev-help@myfaces.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "MyFaces Development" Delivered-To: mailing list dev@myfaces.apache.org Received: (qmail 19371 invoked by uid 99); 27 Nov 2015 14:58:11 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 27 Nov 2015 14:58:11 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 2ABF52C1F68 for ; Fri, 27 Nov 2015 14:58:11 +0000 (UTC) Date: Fri, 27 Nov 2015 14:58:11 +0000 (UTC) From: "Dennis Kieselhorst (JIRA)" To: dev@myfaces.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Comment Edited] (TOBAGO-1473) Remove selenium legacy dependency MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ 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() at jp.vmi.selenium.selenese.command.CommandList$$EnhancerByGuice$$eda6b15c$$FastClassByGuice$$64bfcffb.invoke() 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() 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() at jp.vmi.selenium.selenese.TestCase$$EnhancerByGuice$$6df3b740$$FastClassByGuice$$9ee2623e.invoke() 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() at jp.vmi.selenium.selenese.TestSuite.execute(TestSuite.java:158) at jp.vmi.selenium.selenese.TestSuite$$EnhancerByGuice$$5f71ecf1.CGLIB$execute$0() at jp.vmi.selenium.selenese.TestSuite$$EnhancerByGuice$$5f71ecf1$$FastClassByGuice$$c9431ffe.invoke() 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() 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() at jp.vmi.selenium.selenese.command.CommandList$$EnhancerByGuice$$eda6b15c$$FastClassByGuice$$64bfcffb.invoke() 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() 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() at jp.vmi.selenium.selenese.TestCase$$EnhancerByGuice$$6df3b740$$FastClassByGuice$$9ee2623e.invoke() 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() at jp.vmi.selenium.selenese.TestSuite.execute(TestSuite.java:158) at jp.vmi.selenium.selenese.TestSuite$$EnhancerByGuice$$5f71ecf1.CGLIB$execute$0() at jp.vmi.selenium.selenese.TestSuite$$EnhancerByGuice$$5f71ecf1$$FastClassByGuice$$c9431ffe.invoke() 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() 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)