From 88f6f695446f27b398855f5c02540cb33a82b079 Mon Sep 17 00:00:00 2001 From: Kory Gorsky Date: Fri, 19 Aug 2016 00:00:39 -0400 Subject: [PATCH 1/2] Adding support for Chrome and PhantomJS browsers --- drivers/ChromeDriver.cfc | 19 +++++++++++++++++++ drivers/PhantomJSDriver.cfc | 19 +++++++++++++++++++ selenium.cfc | 4 ++++ 3 files changed, 42 insertions(+) create mode 100644 drivers/ChromeDriver.cfc create mode 100644 drivers/PhantomJSDriver.cfc diff --git a/drivers/ChromeDriver.cfc b/drivers/ChromeDriver.cfc new file mode 100644 index 0000000..ae2fb0b --- /dev/null +++ b/drivers/ChromeDriver.cfc @@ -0,0 +1,19 @@ +component output="false" extends="WebDriver" { + + public ChromeDriver function init() { + var driver = createJavaObject( + "org.openqa.selenium.chrome.ChromeDriver", + variables.serverLibPath + ); + return super.init( driver=driver, driverType="Chrome" ); + } + + public void function setChromePath( required string path ) { + createObject( "java", "java.lang.System" ).setProperty( "webdriver.chrome.bin", arguments.path); + } + + public void function setUseExistingChromeInstance( required string toggle ) { + createObject( "java", "java.lang.System" ).setProperty( "webdriver.chrome.useExisting", arguments.toggle ); + } + +} \ No newline at end of file diff --git a/drivers/PhantomJSDriver.cfc b/drivers/PhantomJSDriver.cfc new file mode 100644 index 0000000..0ff5699 --- /dev/null +++ b/drivers/PhantomJSDriver.cfc @@ -0,0 +1,19 @@ +component output="false" extends="WebDriver" { + + public PhantomJSDriver function init() { + var driver = createJavaObject( + "org.openqa.selenium.phantomjs.PhantomJSDriver", + variables.serverLibPath + ); + return super.init( driver=driver, driverType="PhantomJS" ); + } + + public void function setPhantomJSPath( required string path ) { + createObject( "java", "java.lang.System" ).setProperty( "webdriver.phantomjs.bin", arguments.path); + } + + public void function setUseExistingPhantomJSInstance( required string toggle ) { + createObject( "java", "java.lang.System" ).setProperty( "webdriver.phantomjs.useExisting", arguments.toggle ); + } + +} \ No newline at end of file diff --git a/selenium.cfc b/selenium.cfc index 5a1e890..ca1782d 100644 --- a/selenium.cfc +++ b/selenium.cfc @@ -23,6 +23,10 @@ variables.driver = new cfselenium.drivers.InternetExplorerDriver(); } else if ( arguments.driverType == "firefox" || arguments.driverType == "ff" ) { variables.driver = new cfselenium.drivers.FireFoxDriver(); + } else if ( arguments.driverType == "chrome" || arguments.driverType == "googlechrome") { + variables.driver = new cfselenium.drivers.ChromeDriver(); + } else if ( arguments.driverType == "phantomjs" || arguments.driverType == "phantom") { + variables.driver = new cfselenium.drivers.PhantomJSDriver(); } else { variables.driver = new cfselenium.drivers.WebDriver(); } From 2d211c0c9d7b78237e9e248a30261e09ab6e27d3 Mon Sep 17 00:00:00 2001 From: Kory Gorsky Date: Fri, 19 Aug 2016 01:38:34 -0400 Subject: [PATCH 2/2] Fixing this/variables reference issue --- drivers/WebElement.cfc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/WebElement.cfc b/drivers/WebElement.cfc index 24e2fc0..49822da 100644 --- a/drivers/WebElement.cfc +++ b/drivers/WebElement.cfc @@ -35,7 +35,7 @@ } public string function getText() { - return this.webElement.getText(); + return variables.webElement.getText(); } public void function clear() {