How to choose best automation Tool combination with selenium [closed] - java

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
It might be opinion based question but I am really confused about choosing automation tools combination.
Till date I have been using Selenium webdriver,maven and Java to build automation frameworks. This seems totally working fine.
Now a days I feel that many automation engineers moving to use of WebdriverJS , WebdriverIO, NodeJS etc.
Someone told me that if we build automation framework using WebdriverJS/ WebdriverIO/NodeJS, Then execution will be faster than Java.
I know that I should choose tool based on my requirements but at the same time I feel that we can not use WebdriverJS/ WebdriverIO/NodeJS in some kind of website where all elements must be located by xpath as most of elements changing class / id dynamically.
So If anyone can just give me hint about which tools to choose for which kind of website then it would be really helpful. i.e For AngularJS website Node.Js is fine for automation with selenium.

As per the Selenium Official Webpage, Download Section, you can see in the Selenium Client & WebDriver Language Bindings section the following are listed :
Java
C#
Ruby
Python
Javascript (Node)
So from my personal take would be, these 5 variants which are the most widely used Selenium Clients while dealing with Automation Framework with Selenium
Documentation
Leaving aside Selinium's GitHub ducumentation, its pretty clear majority of the documentation available on internet is on Selenium (Java). It's because of Java's world wide popularity as a Language. So learning becomes easier.
Even the frequency of Selenium (Java) Client Releases would support my native view.
But, personally I have found Selinium's GitHub Documentation for all the client bindings are perfect and precise.
WebdriverIO
WebdriverIO is another variant of the Selenium Release. No doubt the WebdriverIO team have played it hard in building up the catch-up game with the Selenium Client Releases. But my take would be WebdriverIO is still evolving.
Functional Perspective:
From a functional perspective my take will be either on NodeJS or WebdriverJS. Reason is simple I still feel the Selenium-RC way is still in practice when we inject javascript into the Web Browser once the browser loads completely and then use its javascript to drive the Application Under Test within the browser.

Related

How do I perform Web Scraping in Android? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I want to scrape my website and then use the data from the website to populate elements in my app, my website has login pages and certain pages only open after the login has been done.
I started working with HtmlUnit as it is a headless browser and completed the custom api in a java IDE, later i tried to use the jar i generated from the java IDE and found that there are incompatibility issues with HtmlUnit and Android.
Can anyone propose a solution to this problem?
Edit :
Since no one actually answered this question I am currently going with a work around using android's native WebView, settings its Visibility to invisible and then using javascript interfacing to a Java object, I can inject JS code to scrape any data.
Use Jsoup library for such purpose. Very handy and easy to use.
Start with this answer and follow documents and other examples.
Either you contribute to HtmlUnit to produce a version of HtmlUnit not using the missing dependencies from Android.
Or you can use an alternative method like this one, as this seems to be the path someone else go before you.
If a real headless browser able to manage any recent web features, would exist, it would mean a team would have developed it and then invest much effort in it (in supporting existing and coming features) consistently.
Apart from Opera, Chrome, IE, and Firefox browsers, there is no such team.
I would point out Chromium (CEF) as the most open and actively supported cross language wise. Try Cef for java

Using Behavioral Driven Development in Automation Framework [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I have an experience of developing Automation frameworks using Selenium Web-driver,Java and TestNG/ Junit. In my Automation frameworks I used to simply automate the manual test cases and the manual efforts of testers.
Now I have been assigned a Task where i need to develop the Automation Framework using Behavioral Driven Development.
What are the things I should know before i start BDD in Automation frameworks
&
What will make my framework different from my previous frameworks?
What are the things I should know before i start BDD in Automation frameworks
I will consider that you know how to work with BDD, so I'll stick literally to what's in the question.
First you must consider the roles and the people you'll engage in this BBD automation framework. If they're all technical people or if there are mix of technical and non-technical people involved in defining the scenarios and examples.
Then you must consider the scope of your automation tests. What will they test: web only? desktop browsers, apps, mobile browsers?
Do you have a test-launching language preferrence ?
Once you have the answers to that, then you'll have to look for a really important thing to look for when promoting BDD: tooling.
The non-technical and technical skills of your co-workers will have a great impact on the tool which will connect the tests specificacion to test implementation. There are many tools and some require less to more technical skills (althought they are simple): DaSpec, JBehave, Cucumber, calabash, BeHat... There are many and you must look for the one best fitting you company.
And then the scope will give you the other tooling you'll need, If you want to test only on desktop browsers, Selenium the de-facto standard for this. If you want to go mobile too selenium has support for that, but you'll need additional tooling like Selendroid and/or Appium. For native clients automation there are manny alternatives too, a quick search here or google will spit a lot of results.
Once you have made your choices. The next step is to measure the impact of BDD methodology on your company, the best bet (in my short experience with BDD) is to start with a project which has loose requirements if any. BDD could shine with that. You'll have to measure that in the first stages BDD has a steep ramp of effort as you put down your infrastructure and code and the first teams to work on it.
When you have the infrastructure and some initial code. The thing is to start with the BDD liturgy and accomodate that on your project's liturgy. Please be very helpful and be open to the opinions of everyone.
What will make my framework different from my previous frameworks?
I don't know if you're asking about an automation framework or your company's framework, sorry :(

Alternatives to Java applets [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
I'm planning to write a simple program that displays course prerequisites for students at my university in graph form (ie as a network of vertices and edges). I'd like to embed the program in a webpage to save people the hassle of downloading an executable.
Currently I'm looking at making my program a Java applet (Java also would give me access to the handy Swing library), but I don't like the fact that applets can't be viewed on most mobile devices.
What alternatives to applets exist for a project like this? I'd like to make it compatible with as many devices as possible, and also not have to build the graphics stuff from scratch.
One final consideration is I'm doing this mostly as a learning exercise. Ideally the tools I'd be working with would be helpful to know in the future.
Please don't use applets. They have been sufficiently deprecated.
The best way to do this is by using html/js/css. A lot of useful libraries exist that can help you with this task. jQuery seems obvious, but there's also d3.js or vis.js for displaying visual representations of data, and bootstrap for responsiveness (mobile friendliness).
You may use Angularjs with angular-chart for Showing graph in Web Browser.
If your graph data is dynamic you might use Nodejs and mongoDB for backend.
angular-chart is responsive and its easy to show dynamic graph. But as it uses HTML5 canvas some mobile browsers might not show its transitions smoothly depending on the device.
I personally do not prefer using applet in web browser when the same functionality can be achieved using great frameworks like Angularjs.
why dont you try to build your project through Servlet framework
by the way cgi were removed by servlet because of the handling of the request
applet uses the same concept

Replacement for GWT [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
The community reviewed whether to reopen this question 11 months ago and left it closed:
Original close reason(s) were not resolved
Improve this question
I built an application using GWT in 2012 and it has worked fine until now when a major functionality upgrade is required.
I used GWT because my background is Java and having worked in MVP type projects prior to that it was a good fit.
Today, any problem I encounter and do a google search for has answers that are posted 2 to 3 years ago ( and in a lot of cases don't solve my own issues ) This is telling me that GWT is being left behind.
Because I built the app primarly as a hobby to learn GWT I feel like I would like to learn a more recent framework when rebuilding my application.
So to narrow it down, I want to know if there is any suitable more recent alternative to GWT out there that still allows me to code in Java.
I understand this may seem like a broad question where answers will be mainly based on opinion but how else can you pick peoples brains except asking "What is your opinion" How do I do a,b,c using Java is going to be answered 3 different ways by 3 different people based on their opinion of how it should be done.
I have heard about Vaadin (https://vaadin.com/home)
Vaadin is a covering around GWT giving you more flexibility to work and the same time maintaining the GWT like experience.
Otherwise this is a good compilation, you could pick what you might need:
https://github.com/jashkenas/coffeescript/wiki/List-of-languages-that-compile-to-JS
As a long time GWT user I am increasingly drawn to AngularJS. Obviously we're talking JavaScript rather than Java here, but coming from a Java background myself I'm finding JavaScript with AngularJS a decent alternative to GWT.
Check OpenXava it's easy to use. http://www.openxava.org/ate/gwt-alternative
There is nothing wrong with GWT per se. Polyglot programming has real costs and there is plenty of activity e.g. on gitter. https://gitter.im/gwtproject/gwt
New users can use https://github.com/gwtboot to get started and there are modern ui kits like https://dominokit.github.io/domino-ui-demo/index.html?theme=indigo#home
Since you still want to code in Java and want to learn something new, i would suggest using "modern GWT", i.e. using elemental2 / j2cl. You should consider learning to refactor your app to separate your view layer from the underlying ui framework. Avoid the parts that will go away in GWT 3.0 such as RequestFactory
JSF? http://en.wikipedia.org/wiki/JavaServer_Faces
It's the "official" (part of Java EE) framework for Java web apps. I've used it briefly in the past and was relatively happy with it. I very much prefer it over other frameworks that still rely on JSPs.
cuba-platform if you are looking for ready made components and Web Firm Framework if you are looking for a framework which can be used to build any UI component. Both are java frameworks to build web ui.
I would recommend learning either Swing or JavaFX.
Swing has been arround since Java 1.2 and is the more "mature" one.
javaFX is their new "hip" version and was introduced into the JDK at version 7.
Personally I'd go for JavaFX just to be "future-proof".

Automation for GUI desktop application with java framework [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
Lately i bumped into selenuim for web automation which is wonderful tool , gives you the ability to record a test on the web browser and export it into java/c#/etc and modify it as you want in any Java IDE for example.
I know that selenium is only for Web .
Dose selenium got an extension / open source plug in to support desktop GUI application?
There is another framework that do that for desktop GUI application?
One way you can do this
another framework that do that for desktop GUI application
is by using Sikuli. Since it uses image recognition technology
can be used across all desktop applications, also can be driven by multiple languages
and its free.
Just to be full this answer, I'll add that you can combine it with Cucumber and Jenkins like is shown here.
Update
export scripts to Java
is not possible in this sense, since Sikuli scripts are written in Python scripting language and the scripts itself are run using the Jython interpreter (Java base implementation of Python language).
See this answer
and this answer.
Look at these resources how-to:
how-to-write-java-program-in-sikuli
sikuli-java-insertion-dev
use SikuliX API in your JAVA programs
Yes. UiPath can automate desktop, browser, remote desktops or java applications.
Unlike Selenium it has the ability to get access to the internal object model of a java app (recognise the controls and elements you want to click, type, scrape). You can use it from code (SDK) or create automation directly from UiPath Studio.
If you create your application using Swing, so you can test it with FEST. But this lib is no longer supported and works wrong with Linux. There are some another non-free test tools for Swing and JavaFX but I've never used these tools and cannot say whether they good or not.
You can found something about test tools for JavaFX here. For Swing here.

Categories