- Supports Electron
3.x.y
releases.
- Supports Electron
2.0.x
releases.
- Supports Electron
1.8.x
releases.
- Updated README with better examples and fixed typos.
- Use launcher.bat instead of launcher.exe for Windows
- Added
webdriverOptions
to allow specifying additional webdriver options.
- Added
webdriverLogPath
to the Spectron typescript definition. - Fixed typescript definition reference to the Electron API.
- Added a
chromeDriverArgs
option to theApplication
constructor that can be used to pass arguments directly tochromedriver
.
- Supports Electron
1.7.x
releases.
- Updated typescript definition for WebDriver logging support.
- Enhanced waitUntilTextExists() to find substrings in case the selector matches multiple elements.
- Added a
chromeDriverArgs
option to theApplication
constructor that can be used to pass arguments directly tochromedriver
.
- Added a
spectron.d.ts
file referenced from thetypes
field in thepackage.json
. - Switched to using the WebdriverIO
timeouts
API instead of the deprecatedtimeoutsAsyncScript
API.
- 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.x
releases.
- Supports Electron
1.5.x
releases.
- Fixed an issue where an error would be thrown when the
process
global was set tonull
.
- Supports Electron
1.4.x
releases. - The
Application.isRunning()
API is now public. - Added an
Application.getSettings()
API to access the settings specified to theApplication
constructor. - Fixed an issue where
waitUntilWindowLoaded()
did not properly resolve when thewebContents
reported 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.x
releases.
- Add
ignoreRules
option toapp.client.auditAccessibility(options)
. See README for usage details.
- Add
app.client.auditAccessibility
API that audits the window for accessibility issues. See README for usage details.
- Add
chromeDriverLogPath
option toApplication
. See README for usage details.
- Add
debuggerAddress
option toApplication
. See README for usage details.
- Supports Electron
1.2.x
releases.
- Improve detection of Node integration inside application and gracefully handle disabled Node integration.
- Add support for the async
WebContents.savePage
API. See the README for usage details.
- Add support for the async
BrowserWindow.capturePage
API. See the README for usage details.
- Supports Electron
1.1.x
releases.
- Added a new
requireName
option toApplication
for if your app is re-assigning therequire
function to a different name onwindow
. - Fixed an issue where applications setting
nodeIntegration
tofalse
could not be tested.
- Spectron now runs with
electron-chromedriver
1.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
Application
object.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.transferPromiseness
instead ofapp.client.transferPromiseness
to 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
connectionRetryCount
config option toApplication
that sets the default number of connection retries to make to ChromeDriver. - Added a
connectionRetryTimeout
config option toApplication
that sets the default number of milliseconds to wait when connecting to ChromeDriver.
- Added a
cwd
config option toApplication
that sets the working directory of the launched application. This option defaults toprocess.cwd()
. - Added a
getCwd
command helper to get the current working directory of the main process.
- Added a
startTimeout
config option toApplication
that sets the default millisecond timeout to wait for ChromeDriver to start up. This option defaults to 5 seconds. - Added a
nodePath
config option toApplication
that sets the path to anode
executable that will be used to launch the ChromeDriver startup script.
- Added
getMainProcessGlobal
command helper to get a global from the main process.
- Remove use of deprecated Electron APIs.
- Added
getMainProcessLogs
command helpers to get main process logs. - Added
getRenderProcessLogs
command helpers to get render process logs.
- Added a
waitTimeout
config option toApplication
that 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
setRepresentedFilename
andgetRepresentedFilename
command helpers. - Added
isDocumentEdited
andsetDocumentEdited
command helpers. setWindowDimensions
was renamed tosetWindowBounds
to mirror the new ElectronBrowserWindow.setBounds
API. It also takes abounds
object argument instead of multiple arguments for size and position. See theREADME
for an examplegetWindowDimensions
was renamed togetWindowBounds
to mirror the new ElectronBrowserWindow.getBounds
API. See theREADME
for an example.