tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel DEMEY <demey.emman...@gmail.com>
Subject Re: JS changes merged to master branch
Date Wed, 19 Dec 2012 12:34:52 GMT
Hi,

I have just started to migrate Tapestry5-jQuery to Tapestry 5.4, and i have
a problem with Asset paths.

I have this configuration in my AppModule :

configuration.add(SymbolConstants.ASSET_URL_FULL_QUALIFIED, false);

configuration.add(SymbolConstants.ASSET_PATH_PREFIX, "/assets");

In the AssetPathConstructorImpl class, you create a "prefix" attribute
starting by "/" + contextPath.

In my case, the contextPath is "/tapestry-jquery", so in the generated
HTML, I have "//tapestry5-jquery/assets/..." and the asset is not resolved.

It is the same with ASSET_URL_QUALIFIED = true, I have got : "
http://localhost:8080//tapestry5-jquery/assets/bf0cb3d5827775a3/meta/tapestry5/tapestry-console.css
";

What am I doing wrong?

Thanks
Manu


2012/12/18 Alex Kotchnev <akochnev@gmail.com>

> Geb seems all sexy and flexible at first, but when when I was trying to
> switch a bunch of test cases away from plain Selenium to Geb, it ended up
> being more of a PITA than of help. The whole jquery syntax seems nice and
> all, but when you can't use something like selenium IDE to test your
> locators, it's just one more thing to poke around with and wonder "why the
> heck does this not click on the button I need".
>
> Cheers - Alex K
>
> On Tue, Dec 18, 2012 at 11:36 AM, Howard Lewis Ship <hlship@gmail.com
> >wrote:
>
> > Luke Daley, the author of Geb
> >
> > On Monday, December 17, 2012, Kalle Korhonen wrote:
> >
> > > On Mon, Dec 17, 2012 at 6:26 PM, Howard Lewis Ship <hlship@gmail.com
> > <javascript:;>>
> > > wrote:
> > >
> > > > I'm having dinner with Luke this week, perhaps you can send me more
> > > issues
> > > > and I can discuss those with him?
> > > >
> > >
> > > Luke who? (Skywalker?) Our Geb tests randomly fail with:
> > >
> > > org.openqa.selenium.NoSuchElementException: Unable to locate element:
> > > {"method":"tag name","selector":"html"}
> > > Command duration or timeout: 985 milliseconds
> > > For documentation on this error, please visit:
> > > http://seleniumhq.org/exceptions/no_such_element.html
> > > Build info: version: '2.25.0', revision: '17482', time: '2012-07-18
> > > 22:18:01'
> > > System info: os.name: 'Linux', os.arch: 'amd64', os.version:
> > > '3.2.9-2.fc16.x86_64', java.version: '1.6.0_35'
> > > Driver info: driver.version: RemoteWebDriver
> > > Session ID: f266610c-15e8-48e5-914c-ebaf252ab34d
> > >         at
> > >
> >
> org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:188)
> > >         at
> > >
> >
> org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)
> > >         at
> > >
> >
> org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:498)
> > >         at
> > >
> >
> org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:268)
> > >         at
> > >
> >
> org.openqa.selenium.remote.RemoteWebDriver.findElementByTagName(RemoteWebDriver.java:321)
> > >         at org.openqa.selenium.By$ByTagName.findElement(By.java:319)
> > >         at
> > >
> >
> org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:260)
> > >         at
> > >
> >
> geb.navigator.factory.BrowserBackedNavigatorFactory.getBase(BrowserBackedNavigatorFactory.groovy:33)
> > >         at
> > > geb.content.NavigableSupport.getNavigator(NavigableSupport.groovy:39)
> > >         at geb.content.NavigableSupport.$(NavigableSupport.groovy:56)
> > >         at
> > >
> >
> geb.content.PageContentTemplateFactoryDelegate.module(PageContentTemplateFactoryDelegate.groovy:70)
> > >         at
> > >
> >
> geb.content.PageContentTemplateFactoryDelegate.module(PageContentTemplateFactoryDelegate.groovy:42)
> > >         at
> > >
> >
> com.channelmouth.vuact.website.pages.base.LayoutPage._clinit__closure2_closure4(LayoutPage.groovy:18)
> > >         at
> > >
> >
> com.channelmouth.vuact.website.pages.base.LayoutPage._clinit__closure2_closure4(LayoutPage.groovy)
> > >         at
> > >
> >
> geb.content.PageContentTemplate.invokeFactory(PageContentTemplate.groovy:97)
> > >         at
> > >
> >
> geb.content.PageContentTemplate.create_closure1(PageContentTemplate.groovy:59)
> > >         at
> > >
> >
> geb.content.PageContentTemplate.create_closure1(PageContentTemplate.groovy)
> > >         at
> > > geb.content.PageContentTemplate.create(PageContentTemplate.groovy:82)
> > >         at
> > > geb.content.PageContentTemplate.get(PageContentTemplate.groovy:54)
> > >         at
> > > geb.content.NavigableSupport.getContent(NavigableSupport.groovy:45)
> > >         at
> > >
> geb.content.NavigableSupport.propertyMissing(NavigableSupport.groovy:129)
> > >         at geb.Browser.propertyMissing(Browser.groovy:202)
> > >         at geb.spock.GebSpec.propertyMissing(GebSpec.groovy:55)
> > >
> > > It looks like a Selenium problem more than a Geb one, Google finds a
> lot
> > of
> > > hits with the same issue. We keep updating all dependencies to the
> latest
> > > available and it used to be far worse. Obviously it has something to do
> > > with with page and test structure as well but it appears semi randomly
> in
> > > multiple different tests and purely increasing timeouts or
> restructuring
> > > tests doesn't help (although it may alleviate issues in some case).
> It's
> > a
> > > bit too grey world of testing to my liking.
> > >
> > > Kalle
> > >
> > >
> > > On Mon, Dec 17, 2012 at 4:52 PM, Josh Canfield <joshcanfield@gmail.com
> > <javascript:;>
> > > > >wrote:
> > > >
> > > > > I gave up on Geb for the moment because it was really really slow
> > when
> > > > > trying to get values from the page. The jQuery-like DSL seems to
> > prefer
> > > > > being pretty over being performant... I ended up having to inject
> > > actual
> > > > > jquery into the page.
> > > > >
> > > > >
> > > > >
> > > >
> > >
> >
> http://markmail.org/message/cwvyuhuqtewxz3d4#query:+page:1+mid:2cbmqh46p4apz3lm+state:results
> > > > >
> > > > > That wasn't exactly my problem, but the same issue if you had too
> > many
> > > > > items in a dropdown etc..
> > > > > Josh
> > > > >
> > > > > On Mon, Dec 17, 2012 at 3:23 AM, Taha Siddiqi <
> > > tawus.tapestry@gmail.com <javascript:;>
> > > > > >wrote:
> > > > >
> > > > > > Geb is definitely better in some respects.
> > > > > >
> > > > > > 1. Ajax calls are handled better.
> > > > > > 2. The concept of Page is lot easier to maintain and reuse.
> > > > > > 3. Element selection seems natural if you are using jQuery.
> > > > > > 4. Form handling is much better.
> > > > > >
> > > > > > One problem though is that if you have quick zone updates like
> > > attached
> > > > > to
> > > > > > keyup event, Geb really gets confused.
> > > > > >
> > > > > > regards
> > > > > > Taha
> > > > > >
> > > > > > On Dec 17, 2012, at 1:58 PM, Lance Java wrote:
> > > > > >
> > > > > > >> Some day, scrap the SeleniumTests and replace with
Geb!
> > > > > > > I've found selenium testing to be flaky at best. I'm interested
> > to
> > > > hear
> > > > > > your
> > > > > > > thoughts on what Geb will solve since it uses selenium's
> > WebDriver
> > > > > under
> > > > > > the
> > > > > > > hood. Does Geb have better mechanisms for waiting for the
> client
> > to
> > > > be
> > > > > > in a
> > > > > > > particular state? With selenium, I sometimes find myself
> > resorting
> > > to
> > > > > > > Thread.sleep() which I hate.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > View this message in context:
> > > > > >
> > > > >
> > > >
> > >
> >
> http://tapestry.1045711.n5.nabble.com/JS-changes-merged-to-master-branch-tp5718747p5718772.html
> > > > > > > Sent from the Tapestry - Dev mailing list archive at
> Nabble.com.
> > > > > > >
> > > > > > >
> > > ---------------------------------------------------------------------
> > > > > > > To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
> > <javascript:;>
> > > > > > > For additional commands, e-mail: dev-help@tapestry.apache.org
> > <javascript:;>
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Howard M. Lewis Ship
> > > >
> > > > Creator of Apache Tapestry
> > > >
> > > > The source for Tapestry training, mentoring and support. Contact me
> to
> > > > learn how I can get you up and productive in Tapestry fast!
> > > >
> > > > (971) 678-5210
> > > > http://howardlewisship.com
> > > >
> > >
> >
> >
> > --
> > Howard M. Lewis Ship
> >
> > Creator of Apache Tapestry
> >
> > The source for Tapestry training, mentoring and support. Contact me to
> > learn how I can get you up and productive in Tapestry fast!
> >
> > (971) 678-5210
> > http://howardlewisship.com
> >
>



-- 
Emmanuel DEMEY
Ingénieur Etude et Développement
ATOS Worldline
+33 (0)6 47 47 42 02
demey.emmanuel@gmail.com
http://emmanueldemey.fr/

Twitter : @EmmanuelDemey

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message