»
S
I
D
E
B
A
R
«
Selenium + ExtJs
August 26th, 2009 by Rikard Qvarforth
Selenium och ExtJs är inte ett klockrent giftemål. Den största nackdelan är att ExtJs auto genererar sina id’en på sina komponenter och under element. Men det finns hopp :)

Med xpath kan man få en hyfsad stabilt Selenium test med ExtJs. Men varför inte fråga ExtJs komponenterna själva vilket värde de har?

Till exempel vill man i sitt Selenium test kunna testa att vissa värden är förvalda i sin ExtJs kombobox. Med hjälp av Selenium’s metod

String evalResult getEval(String evalMe);

Kan man göra följande: String defaultValue = selenium.getEval(window.Ext.getCmp(‘myCombo’).getValue());

Ser ni att man använder sig av window.Ext… .. ?! där har vi fixen för att detta skall fungera :)

En kunglig kollega till mig listade ut att i eval körs med scopet av kommando fönstret och INTE av scopet av den sidan som just nu testas av Selenium!

Så gör icke detta om ni vill spara erat hår: selenium.getEval(Ext.getCmp(‘myCombo’).getValue());
utan selenium.getEval(window.Ext.getCmp(‘myCombo’).getValue());

om man kombinerar detta med PageObject pattern så får man även undan selenium api mojs i sina tester :)

Men mer om detta i annan post ..


2 Responses  
Mats writes:
October 15th, 2009 at 13:50
Finns lösning på problemet med de autogenererade id’na. Markupen som Ext använder för att generera t.ex en Ext.Button är stabil och kan användas så som beskrivs här:

http://wiki.openqa.org/display/SIDE/record+and+assert+Ext+JS

/Mats
Rikard Qvarforth writes:
December 7th, 2009 at 21:45
Ja men om man vill åt comboboxen värden eller mer avancerade componenter så har jag inte hittat någon bra lösning på detta :/ men tack för tipset! Läste din blogg, riktigt bra saker på den :)
Leave a Reply

»  Substance: WordPress   »  Style: Ahren Ahimsa
© copyright@alltomjava