2. července 2016
Když potřebujete testovat v end 2 end testech upload souboru, jak to uděláte?
Dialog otevření okna je mimo dosah selenium webdriveru, pro přímou manipulaci s ním by bylo potřeba použít nějakou externí utilitu. Tímto směrem ale nepůjdeme. Pokud nevíte jak to udělat jinak, vězte, že to lze řešit šalamounským přístupem.
Princip je jednoduchý, k elementu typu file je možné se chovat jako k běžnému inputu, a tedy poslat na něj text pomocí metody sendKeys.
var fileElement = element(by.id('file'));
fileElement.sendKeys(absolutePathToFile);
Zbývá nezapomenout, že cesta musí být absolutní a je hotovo
Funkční ukázku si můžete prohlédnout zde: https://github.com/VitaPlsek/protractor-upload-test
Jde o malou aplikaci v JavaScriptu, která umožní vybrat soubor a zobrazí o něm informace.
Testovací scénář upload.scenario.js, využívá page object upload.js. V něm se můžete přesvědčit, že opravdu do pole jen posílá text.
© Víťa Plšek