- Supports Electron
3.x.yreleases.
- Supports Electron
2.0.xreleases.
- Supports Electron
1.8.xreleases.
- Updated README with better examples and fixed typos.
- Use launcher.bat instead of launcher.exe for Windows
- Added
webdriverOptionsto allow specifying additional webdriver options.
- Added
webdriverLogPathto the Spectron typescript definition. - Fixed typescript definition reference to the Electron API.
- Added a
chromeDriverArgsoption to theApplicationconstructor that can be used to pass arguments directly tochromedriver.
- Supports Electron
1.7.xreleases.
- Updated typescript definition for WebDriver logging support.
- Enhanced waitUntilTextExists() to find substrings in case the selector matches multiple elements.
- Added a
chromeDriverArgsoption to theApplicationconstructor that can be used to pass arguments directly tochromedriver.
- Added a
spectron.d.tsfile referenced from thetypesfield in thepackage.json. - Switched to using the WebdriverIO
timeoutsAPI instead of the deprecatedtimeoutsAsyncScriptAPI.
- Reverted the console warning about incompatible minor versions since it caused launch issues.
- Display a warning in the console when the installed minor versions of Electron and Spectron do not match.
- Supports Electron
1.6.xreleases.
- Supports Electron
1.5.xreleases.
- Fixed an issue where an error would be thrown when the
processglobal was set tonull.
- Supports Electron
1.4.xreleases. - The
Application.isRunning()API is now public. - Added an
Application.getSettings()API to access the settings specified to theApplicationconstructor. - Fixed an issue where
waitUntilWindowLoaded()did not properly resolve when thewebContentsreported as loaded. - Fixed an issue where
waitUntilTextExists()did not properly reject when the element did not exist or a timeout occurred. - Fixed an issue where a broken pipe error could occur in certain apps.
- Supports Electron
1.3.xreleases.
- Add
ignoreRulesoption toapp.client.auditAccessibility(options). See README for usage details.
- Add
app.client.auditAccessibilityAPI that audits the window for accessibility issues. See README for usage details.
- Add
chromeDriverLogPathoption toApplication. See README for usage details.
- Add
debuggerAddressoption toApplication. See README for usage details.
- Supports Electron
1.2.xreleases.
- Improve detection of Node integration inside application and gracefully handle disabled Node integration.
- Add support for the async
WebContents.savePageAPI. See the README for usage details.
- Add support for the async
BrowserWindow.capturePageAPI. See the README for usage details.
- Supports Electron
1.1.xreleases.
- Added a new
requireNameoption toApplicationfor if your app is re-assigning therequirefunction to a different name onwindow. - Fixed an issue where applications setting
nodeIntegrationtofalsecould not be tested.
- Spectron now runs with
electron-chromedriver1.0 and is targeted at apps using Electron 1.0 or later. - No API changes.
- Added a
restart()method toApplication - Added support for the full Electron API
- Many custom helpers have been removed in favor of accessing the Electron
APIs directly through the new properties on the
Applicationobject.app.client.getWindowBounds()should now beapp.browserWindow.getBounds()app.client.getClipboardText()should now beapp.electron.clipboard.readText()- See the README or #18 for more details.
- You should now use
app.transferPromisenessinstead ofapp.client.transferPromisenessto ensure these new properties are correctly transferred to chained promises.
- Add the
getAppPath(name)that maps to therequire('electron').app.getPath(name)API.
- Upgraded to WebdriverIO 4.0.4
- Added a
connectionRetryCountconfig option toApplicationthat sets the default number of connection retries to make to ChromeDriver. - Added a
connectionRetryTimeoutconfig option toApplicationthat sets the default number of milliseconds to wait when connecting to ChromeDriver.
- Added a
cwdconfig option toApplicationthat sets the working directory of the launched application. This option defaults toprocess.cwd(). - Added a
getCwdcommand helper to get the current working directory of the main process.
- Added a
startTimeoutconfig option toApplicationthat sets the default millisecond timeout to wait for ChromeDriver to start up. This option defaults to 5 seconds. - Added a
nodePathconfig option toApplicationthat sets the path to anodeexecutable that will be used to launch the ChromeDriver startup script.
- Added
getMainProcessGlobalcommand helper to get a global from the main process.
- Remove use of deprecated Electron APIs.
- Added
getMainProcessLogscommand helpers to get main process logs. - Added
getRenderProcessLogscommand helpers to get render process logs.
- Added a
waitTimeoutconfig option toApplicationthat sets the default millisecond timeout for all wait-based command helpers likewaitUntil,waitUntilWindowLoaded, etc. This option defaults to 5 seconds. - Added a
windowByIndex(index)command helper that focuses a window by index in thewindowHandles()array order. - Added
setRepresentedFilenameandgetRepresentedFilenamecommand helpers. - Added
isDocumentEditedandsetDocumentEditedcommand helpers. setWindowDimensionswas renamed tosetWindowBoundsto mirror the new ElectronBrowserWindow.setBoundsAPI. It also takes aboundsobject argument instead of multiple arguments for size and position. See theREADMEfor an examplegetWindowDimensionswas renamed togetWindowBoundsto mirror the new ElectronBrowserWindow.getBoundsAPI. See theREADMEfor an example.