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

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.