Selenium WebDriver Automation for NW.js Desktop based with web implemented application

49 views
Skip to first unread message

Vijay Pusuluri

unread,
Feb 2, 2016, 9:05:36 AM2/2/16
to webdriver
1. Downloaded 

Application Description:
I am using chrome driver to drive my NW.js application.I am trying to automate my application which is a standalone Desktop based and web technologies implemented  The Application is build using NW.JS technologies and based on chromium embedded framework.

NW.JS is a desktop application with web technologies implementation. The Application to be tested is actually embedded inside the Web Took Kit and looks like a normal window application
 Iam using chrome driver to drive my NW.js application. Iam trying to Automate my application which is a standalone 
  NW.JS is a desktop application with web technologies implementation.      The  Application to be tested is actually embedded inside the Web Took Kit and looks like a normal window application.  It does not make use any of the traditional browsers(IE/Firefox/Chrome/Safari etc.) 
     I automated the basic login functionality of my application using selenium web driver with java program  and when i run it,  it invokes my application but unable to identify the objects in the App. 
       Iam using the chrome driver,which makes use of chrome options,i have see in the chrome documentation, that chrome  now    supports web view tags   under this  link:https://sites.google.com/a/chromium.org/chromedriver/downloads
it is given that Access to <web view> tags is now possible through ChromeOptions.windowTypes,  
 but i don't see the windowTypes method for chrome options class,is the web view tag only supported for Mobile applications and not for NW.js destkop based applications with Web technologies implementation?

2.My java program:
import java.io.File;
import java.util.Arrays;

import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeDriverService;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.DesiredCapabilities;

public class MyDummyCEFTest 
{
public static void main(String args[]) throws Exception
{
   File file=new File("C:\\Program Files (x86)\\ChartInstaller\\nwtest.exe");
       System.setProperty("webdriver.chrome.driver","C:\\Program Files (x86)\\Chart Installer\\chromedriver.exe");
   ChromeOptions options = new ChromeOptions();
   options.setBinary(file);
   options.setBinary("C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe");
       //options.addArguments(" standalone.nw --server stage");
   //options.addArguments(" standalone.nw --server stage");
   DesiredCapabilities capabilities = DesiredCapabilities.chrome();
   capabilities.setCapability(ChromeOptions.CAPABILITY, options);
   Thread.sleep(6000);
   ChromeDriver driver = new ChromeDriver(capabilities);
   System.out.println("The Page Title is " + driver.getTitle());
   //driver.findElementByLinkText("Login").click();
   driver.findElement(By.linkText("Login")).click();
   Thread.sleep(6000);
}
}
3.After running this java program from eclipse
My application gets invoked,but it does not click on the login link

4.The following errors are displayed
Starting ChromeDriver 2.20 (f78bfbe2ce0143a245540aed91630a10e50d0e7d) on port 13380
Only local connections are allowed.
Exception in thread "main" org.openqa.selenium.WebDriverException: chrome not reachable
  (Driver info: chromedriver=2.20 (f78bfbe2ce0143a245540aed91630a10e50d0e7d),platform=Windows NT 10.0 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 63.30 seconds
Build info: version: '2.49.1', revision: '7203e46', time: '2016-01-21 17:35:35'
System info: host: 'VijayBhaskar-PC', ip: '14.99.239.32', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.7.0_71'
Driver info: org.openqa.selenium.chrome.ChromeDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:170)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:138)
at MyDummyCEFTest.main(MyDummyCEFTest.java:22)

Can anyone please help me to figure out what could be the issue? Thanks in Advance
Reply all
Reply to author
Forward
0 new messages