В рамках автоматизированных тестов Selenium мне нравится делать скриншоты различных представлений пользовательского интерфейса, сохранять их в каком-то каталоге, а затем публиковать их с помощью инструмента CI ( Jenkins в нашем случае) для последнихуспешная сборка.
В тестовом примере HTML Selenium захват снимка экрана выглядит примерно так:
<tr>
<td>captureEntirePageScreenshot</td>
<td>/tmp/screenshot-reportpage-1.png</td>
<td></td>
</tr>
До сих пор я использовал следующие пути:/tmp/
так как тесты выполняются на Unix / Linux box, и я тоже разрабатываю на Linux.
Теперь я сталкиваюсь с проблемой, когда коллега, использующий Windows, должен выполнить те же самые тесты локально с Selenium IDE.Абсолютный путь Windows, такой как C:\screenshot-1.png
, будет работать на его компьютере, но не на сервере сборки, конечно.
Мы пытались использовать простой относительный путь, например, screenshot-1.png
или ./screenshot-1.png
, ночто не получается с неприятным сообщением об ошибке в IDE Selenium:
[error] Unexpected Exception: message -> Component returned failure code: 0x80520001
(NS_ERROR_FILE_UNRECOGNIZED_PATH) [nsILocalFile.initWithPath], QueryInterface -> function
QueryInterface() { [native code] }, result -> 2152857601, name -> NS_ERROR_FILE_UNRECOGNIZED_PATH,
filename -> chrome://selenium-ide/content/selenium-core/scripts/selenium-api.js, lineNumber -> 3030,
columnNumber -> 0, location -> JS frame :: chrome://selenium-ide/content/selenium-core/scripts/selenium-api.js
:: <TOP_LEVEL> :: line 3030, inner -> null, data -> null, initialize -> function initialize() { [native code] }
Вопрос в том, можно ли здесь указать относительный путь ?Есть ли любой способ заставить это работать в обеих средах без изменения тестовых файлов HTML?