• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Locating components with Jemmy...

 
Ranch Hand
Posts: 194
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'm returning to Java after many years away; I'm generally a web application programmer in various scripting languages, so returning to stand-alone GUI apps in Java is slow going. I try to follow TDD in whatever language I'm working in.

I'm having trouble locating components with Jemmy. Their on-line API documention appears to no longer be linked for netbeans site, nor are the classes listed in the master list. However some google search's turned up some possibly orphaned pages. The book I've been working from references a "NameBasedChooser" for locating components when you have multiple similar type compoents (such as 3 JLists). However, there doesn't seem to be any "NameBasedChooser" class in the Jemmy package at this time. I found a NameComponentChooser but it doesn't seem to work.

The text based chooser fails because the first JList tends to contain superstrings of all the possible search terms in the later JLists.

Can anyone offer advice? or links to more complete Jemmy tutorials than at the jemmy.netbeans.org site? Thank you.

Eric
 
author
Posts: 11962
5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Could you explain more about why the NameComponentChooser doesn't work for you?

If I remember correctly, it's doing something like the following:
 
Eric Nielsen
Ranch Hand
Posts: 194
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Looks like it was just an oversight on my part -- the first JList that Jemmy kept claiming for any of the latter ones was wrapped in a JScrollPane. I had named the JScrollPane not the wrapped JList, so of course the NameComponentChooser argument on the JListOperator wasn't finding anything.
 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'm having a similar problem (I believe).

I have a button labeled "Continue" but there is text above it that instructs a user to click "Continue" I feel like my clickContinue() is clicking on the text instead of the button:

public SomeArbitraryPage clickContinue() {
JLabelOperator alternateContinueButton = new JLabelOperator(appFrame, "Continue");
alternateContinueButton.waitComponentShowing(true);
alternateContinueButton.clickMouse();
return new SomeArbitraryPage(sessionObject);
}

The unit tests where I lead up to clicking this, as well as the actual clicking test pass. How would one make it so that I either loop through and click both... or just click the second one it finds?

Thanks!
 
reply
    Bookmark Topic Watch Topic
  • New Topic