@Lampei, I could use a review, if you get a chance.
Additions
Implemented WebDriver Manager
After Firefox upgraded to v47 the other day and broke CFSelenium's brand-new WebDriver support for Firefox, I realized that the way we're managing driver binaries (manually, and in SCM) is brittle. (http://stackoverflow.com/a/37728659)
WebDriverManager manages those binaries, and that library has been implemented in this pull request. Driver binaries have been removed from the repo.
To Discuss
At the moment, I'm allowing the driver repository path be set like this:
selenium = new SeleniumWebDriver(driverType="firefox", defaultLocalDriverRepoPath="/your/custom/path");
...which, behind the scenes, sets a Java system property (wdm.targetPath) that WebDriverManager uses as the path to the repository (for downloaded drivers).
I think maybe I'd prefer if we just used the JVM property directly, and had users do createObject("java", "java.lang.System").setProperty("wdm.targetPath", "/custom/path/") if they want to have a custom repository location.
Thoughts?
Disambiguated Classes
For example:
Renamed webSelenium.cfc to SeleniumRC.cfc. (Also created a selenium.cfc which extends SeleniumRC.cfc, for backwards-compatibility.)
Renamed selenium.cfc to SeleniumWebDriver.cfc.
Split out RC and WebDriver test case base classes, because they had nothing in common:
CFSeleniumRCTestCase.cfc - Also created a CFSeleniumTestCase.cfc which extends it, for backwards-compatibility.
CFSeleniumWebDriverTestCase.cfc
Side note: Did those renames work out properly? I wanted to preserve history, so I did a rename rather than copy-paste of content, but the changes don't seem to reflect it.
@Lampei, I could use a review, if you get a chance.
Additions
Implemented WebDriver Manager
After Firefox upgraded to v47 the other day and broke CFSelenium's brand-new WebDriver support for Firefox, I realized that the way we're managing driver binaries (manually, and in SCM) is brittle. (http://stackoverflow.com/a/37728659)
WebDriverManager manages those binaries, and that library has been implemented in this pull request. Driver binaries have been removed from the repo.
To Discuss
At the moment, I'm allowing the driver repository path be set like this:
selenium = new SeleniumWebDriver(driverType="firefox", defaultLocalDriverRepoPath="/your/custom/path");
...which, behind the scenes, sets a Java system property (
wdm.targetPath
) that WebDriverManager uses as the path to the repository (for downloaded drivers).I think maybe I'd prefer if we just used the JVM property directly, and had users do
createObject("java", "java.lang.System").setProperty("wdm.targetPath", "/custom/path/")
if they want to have a custom repository location.Thoughts?
Disambiguated Classes
For example:
webSelenium.cfc
toSeleniumRC.cfc
. (Also created aselenium.cfc
which extendsSeleniumRC.cfc
, for backwards-compatibility.)selenium.cfc
toSeleniumWebDriver.cfc
.CFSeleniumRCTestCase.cfc
- Also created aCFSeleniumTestCase.cfc
which extends it, for backwards-compatibility.CFSeleniumWebDriverTestCase.cfc
Side note: Did those renames work out properly? I wanted to preserve history, so I did a rename rather than copy-paste of content, but the changes don't seem to reflect it.
Reworked
readme.md
in light of recent changes.