Take the 2-minute tour ×
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It's 100% free, no registration required.

Our Web app is using ExtJS framework for rendering UI.

However, ExtJS-rendered UI is hard to test automatically because:

  • For most clickable elements, ExtJS uses generated ids like "ext-gen-345" which are likely to change on a subsequent visit to the same page.
  • Some elements require more than simple mouse/keyboard interactions due to the complex rendering carried out by ExtJS, e.g., JavaScript calls to ExtJS script must be done.
  • Testing complex components like data grids/tables requires cryptic and unreliable CSS locators; for instance there is no easy way to access "zip code" cell of a row for user with X in column "name".

Is there a open source Java framework that simplifies that?

Possible solution: I started to design a set of classes wrapped around WebElement instances from Selenium 2, e.g., I would have:

class ExtJsGrid {

    ExtJsGrid(WebElement element) { ... }

    List<String> getColumnNames() { ... }
    List<ExtJsRow> getRows()      { ... }
    void selectRow(int n)         { ... }
    ...
}

I'm pretty sure someone else have already solved that. I have even seen InfoStretch released a library that provides such wrappers for a whole hierarchy of ExtJS components. Unfortunately, the library is based on Selenium 1 and I cannot modify that, as it is not open source: they provide only compiled classes.

share|improve this question
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.