webdriver-manager
Advanced tools
Changelog
12.0.0
This release gets the latest release for selenium standalone, chromedriver, iedriver, and gecko driver by downloading and parsing either a json or xml file. These json or xml files are cached in the selenium directory. This means for users that provide an alternative cdn will also be required to provide the proper xml or json server response to find these binaries.
Since we are always downloading the latest, the config.json
versions will no
longer be a place to override these.
If a new release is out and you have old binaries, running webdriver-manager start
without specifying any versions should throw an error. The error will
tell the user that the binary is not present.
Since we are downloading the latest and not maintaining a default version in
config.json
, we are dropping the default tag.
(fe309ef) feat(latest): get the latest version from the cdn (#198)
This reads the xml from the CDN to get the latest chromedriver, iedriver, or standalone version if the version is 'latest'. If the release is from Github, use the Github API to get the releases. Also store the downloaded information to a cache in the output directory (default: selenium/). If the file is older than one hour it will be rewritten.
When getting the status, we are no longer showing the default version. Default versions will be deprecated and will be removed from the config.json file.
When starting the standalone server, use the 'latest' version by default unless specified by --versions.{binary} flag.
Change the gulp update task to use 3.0.0-beta4 so Firefox tests will pass.
Changelog
11.0.0
(b5638ef) feat(update): on update, write full binary paths to file (#140)
Adding back in curl calls, these were removed on the new
Downloader.getFile
. Add curl call to reflect proxies.
Fix output dir to read from update's options instead of Config
Feature will help directConnect users for Protractor. The file will keep track of the last binary version as well as all other binaries downloaded.
The file will be created in the output directory. By default this is
selenium/update-config.json
. On clean
this file will be removed.
webdriver-manager update --versions.chrome=2.20 --standalone=false
--gecko=false
file created:
{
"chrome": {
"last": "/opt/src/webdriver-manager/selenium/chromedriver_2.20",
"all": ["/opt/src/webdriver-manager/selenium/chromedriver_2.20"]
}
}
then the user wants to use 2.25:
webdriver-manager update --versions.chrome=2.25 --standalone=false
--gecko=false
file created:
{
"chrome": {
"last": "/opt/src/webdriver-manager/selenium/chromedriver_2.25",
"all": ["/opt/src/webdriver-manager/selenium/chromedriver_2.20",
"/opt/src/webdriver-manager/selenium/chromedriver_2.25"]
}
}
(473ab3e) feat(android): match android arch to os.arch (#164)
The default was x86-64, but x86 cannot be emulated on ARM. This makes more sense
(c864c9a) feat(shutdown): do not error if you try to shutdown a server which is already off (#162)
When scripting, you might want to defensively run a shutdown
command. If the shutdown fails
because the server is already off, you don't care. If it fails for another reason, you do care.
So I made trying to shutdown a server which is already off just a warning. I added a flag in case
you want the old behavior though.
(338fffd)
feat(quiet/verbose): add --quiet
and --verbose
flags to control the level of output (#156)
I added the --quiet
flag for cases like:
where currently the start --detach; ./tests.sh; webdriver-manager shutdownselenium server output will get mixed in with other output. I also added the
--verboseflag for
webdriver-manager updatein case you *really* wanted to see all the output which gets eaten by using
--android-accept-licenses`.
(91e36a3) feat(android on windows): Support android VMs on windows (#154)
Closes https://github.com/angular/webdriver-manager/issues/51
(d533b03) feat(start android): extend the --detach flag to wait for appium/android (#141)
(26586f1) fix(start): wait for emulated android to really be ready before signaling (#161)
Before, we were just waiting for the emulator to be running, rather than waiting for the OS to be
booted up and ready to instance chrome.
While I was doing that I moved some stuff into lib/utils.ts
since I felt like too much of
lib/cmds/start.ts
was being devoted to this one feature.
Also closes https://github.com/angular/webdriver-manager/issues/166
(a7c6eb5) fix(update/android): 2a1505f broke android
(3ee3e1a) fix(fs): path.join does not handle absolute paths as desired (#152)
(deead0f) fix(downloader): destroy the request after receiving the header (#144)
Otherwise we’ll won’t terminate until the whole file was downloaded, even though we don’t need it.
(c16bf90) chore(es6): allow to use es6 promises (#160)