Selenium WebDriver Automation script for application Developed using NW.js Technology - node.js

Iam trying to Automate my application which is a standalone application 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.
It does not make use any of the traditional browsers(IE/Firefox/Chrome/Safari)
I automated the basic login functionality of my application using selenium web driver and python script and when i run it, it invokes my application but unable to identify the objects in the App.
I tried with other testing tools, like
UFT
TestComplete
White
Ranorex
WinTask
All of these tools are invoking my application, but unable to identify the objects inside the App like login link etc.
when i use object spy,it always highlights the main window only and does not identifies the objects inside the application
My developer was saying that the app uses web view tag?
developer has given us the Chrome Dev tools, using which we can inspect the objects properties, but despite this i still see errors when i try to run my automation script developed in selenium python script
Not sure which testing framework and test automation tools will match my requirements
Any one can please guide me, Iam struggling with the Test Automation tools to make it identify the objects inside the application
The Application is built using CSS3.0,HTML5.0,JavaScript,C++ and node.js Technologies

WebDriver is extended by several broweser drivers which selenium supports including 3rd party browser drivers... Find your browser driver in the link http://www.seleniumhq.org/download/ . and you should include that in your project otherwise it tries to trigger firefox driver which is inbuilt. If you dont find your browser driver type means selenium webdriver is not the one for you..... You should try some other automation tools

Related

Controlling two chrome instances through Cucumber scenario, driven by Watir Webdriver

I am working on a web application, where I receive a phone call, which is initiated by another web application. To achieve this, I need to open two chrome browsers having two different URLs. I am using cucumber to write scenario and watir webdriver to drive the script. I have implemented Page Object Model as a part of framework. I tried making some changes to support files - i.e., hook.rb, env.rb and driver.rb. But it's not working out. Is there a way to achieve this?

Blue Prism applicaton modeler fails to identify authentication pop up window on firefox

I am trying to automate a web application using firefox on blue prism. When I use the application modeler to launch the web application, first it is asking for credentials to login on a pop up window. Application modeler cannot identify this pop up has appeared. So I cannot automate the login. However after login manually, I can spy other elements in the application as normal. Any idea on how to automate the pop up window asking for user name and password?
I assume that you specified your application as browser based in application modeler. It's hard to answer your question without knowing how this web application looks and works like. There are few options that you can try nevertheless:
In the latest version (6.4) Blue Prism introduced Firefox plug-in. If you would be able to upgrade your version to the latest one (if you are not using it already), then maybe you'll be able to spy the pop up.
If this web application does not necessarily need be launched via Firefox in particular, then you can test its behavior and spying possibilities on other browsers - Internet Explorer and Google Chrome (supported by BP since 6.3 version).
You can spy the whole browser's window using Region mode and use Surface Automation techniques to input credentials and log in. SA functionalities are greatly improved since version 6.
You can try using web services (if applicable with this website) to connect with the API of the web application, you'll be able to pass/validate your credentials via web services as well. Blue Prism natively supports SOAP based web services, you might need to come with some code stages to wrap it up. It's pretty advanced stuff though and I wouldn't recommend it as a 1st choice.
Hope this helps.

running headless chrome in an microsoft azure web app

I am currently using phantomjs to generate screenshots of web pages.
Due to various issues including web fonts, and video tag support, I would like to try switching to headless chrome.
Has anyone had success running headless chrome in an azure web app?
I cannot find a .net api, and assume I need to run node.js with puppeteer If I want a javascript api similar to phantomjs.
Right now most of the big libraries are made for NodeJS. It's possible to run Chrome headless without it, but you'll need a library for your .NET API to effectively communicate with Chrome. If none exist, then the protocol itself is documented here, and you could build one for .NET.
If you're struggling to get Chrome running on Azure I have a service that offers Docker images, which could be as simple as a few commands to have up and running (located here). Other than that there's a few open-source options out there, but they have differing issues and uses-cases.

Is there a way to package chrome apps using nodejs-webkit

Lets say i have an app and i want it to be executable standalone. I've found that you can do that with normal webpages, webapps, using https://github.com/rogerwang/node-webkit.
But if its chrome packaged app how do you do that.
I know it's possible as you can see in slides it uses webkit.
https://speakerdeck.com/u/zcbenz/p/node-webkit-app-runtime-based-on-chromium-and-node-dot-js
Theoretically it is possible but you will have to implement by hand all of the chrome apis you use in your chrome app

App for Google Chrome

I have created an App for google chrome which just opens a web page. I am new in the topic
of Apps. I was thinking if it is possible to execute some linux command by using an App
in google chrome. For instance, an App which can open a terminal or open a program
installed in my machine like Gimp, Kate, Libre Office ...
From the instructions in the web page of google I saw that the only actions for an App
are limited to open a web address but I dont know if it is possible to extend the capabilities
of the Apps,
Regards.
Aren't apps sandboxed into the Google Chrome Process to ensure they can't affect other processes and for other security reasons. If so, you won't be able to execute programs/commands or view the User's Files unless you use some workaround such as Google's Native Client.
Google has locked down capabilities to stop malicious Web Apps from executing code and bringing malware and exploits.
You can write a NPAPI Plugin or a custom URI scheme associated to Unix terminal.

Resources