- 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 electron-userland#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.