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 ..