What is difference between Robot Framework and Appium? - appium

I see Robot Framework as a generic automation framework designed for testing mobile apps.
But how is it different than Appium? Is it because Appium is cross-platform?
My question really is whats the difference between robot framework and appium?

Robot Framework is a generic open source automation framework. It is not only used for testing mobile apps. It can be used for web testing, windows apps testing, api testing and much more. It is just a framework though. It requires different tools and libraries for doing specific tasks like AppiumLibrary can be used in RobotFramework for mobile testing and SeleniumLibrary for web testing.
Appium on the other hand is a framework primarily made for mobile testing and has built-in functionalities to do so.

"Robot Framework:
Open source
Generic Framework using which we can automate not only mobile but also web application.
Robot Framework is very flexible and it can be used to test web applications, mobile applications, desktop applications,
and RESTful and SOAP-based services
Robot Framework has an easy syntax, utilizing human-readable keywords i.e Uses Keyword driven approach
Appium :
Appium is an open-source tool for automating apps on Android, iOS, and Windows.
Appium can be used for automation of native apps (apps written using Android, iOS, or Windows SDKs), Hybrid apps,
and Mobile web apps (web applications accessible using a mobile web browser)
Easy-to-write tests across any language using any framework
Lets says if we want to use Robot framework to automate mobile apps, we still have to import appium
library inside the robot framework , only then we can automate mobile using Robot framework."
Here is the link to open source project - GitHub - testsigmahq/testsigma: A powerful open source test automation platform for Web Apps, Mobile Apps, and APIs. Build stable and reliable end-to-end tests # DevOps speed.

Related

How to use Dart Flutter for desktop and mobile applications

Can you explain me how to use Dart flutter with just an ordinary desktop web site?
Let's say I have a website, which has a good responsive design, but I want to make it more handy for mobile users. So, I decide to use Dart, I create a server and then? Do I need to redirect users to f.e. m.mysite.com which is built on flutter widgets, but PC users will redirect to mysite.com? Also, there is an information that since June 2019 you can write desktop web application. What does it mean, we couldn't do that before?
As #Randal Schwartz noted, Flutter Web is in very early stages of development (alpha, I believe), meaning you should not roll with it in production. However, it is the only way to use Flutter to build websites. You can find it at:
https://flutter.dev/web
https://flutter.dev/docs/get-started/web
https://flutter.dev/docs/development/platform-integration/web
If you want to use Dart (not Flutter) in a website, you can try these. They are more mature than Flutter Web, but you'll lose "Flutter" features:
VueDart (https://refi64.com/vuedart/)
AngularDart (https://angulardart.dev/)
React-Dart (https://github.com/cleandart/react-dart) (This one is tricky!)
These are all ports of popular JS frameworks (Vue, Angular, and React) to Dart, so you can use them for responsive website design. Note that you might have to do some background research in the original JS framework, to fill in documentation.
Note: All of the above work on both Mac and Windows. Flutter Web/Dart frameworks are not platform dependent.
Flutter has primarily targeted the mobile platform. What is changing is that Flutter is also being developed for desktop and web applications. Not clear what you mean by "desktop web". Both desktop and web flutter are "not ready for prime time", but progress is being made rapidly.

Ant Design antd vs antd-mobile for non-native mobile web development

Reading about Ant Design I am getting confused about which library to use for mobile web development. There are two libraries, antd and antd-mobile. While it is clear that antd-mobile supports react-native on iOS and Android, it is unclear which one is best suited for plain mobile (non-native / SPA) web development.
Reading the antd introduction you see statements like "Ant Design which is specially created for internal desktop applications, ...", while reading the antd-mobile introduction you will see "Support Web / iOS / Android platform (Based on React Native)"
From this I would think that ant is somehow not very suitable for web development other than web based desktop (i.e. Elektron) apps.
But trying to build a normal web app with ant-mobile I couldn't get it to work. For example the Button is showing but DatePicker is not. Switching to ant everything seems to work fine.
Am I right to assume that for any non-native mobile development you need to use ant instead of ant-mobile?
If so, what is this supported "Web" platform that antd-mobile is mentioning?
From my experience:
Antd:
Intended for full browser web only (or electron) development, they are no mobile first design, some cases you have to tweak to make you web page look good in mobile.
Antd-mobile:
Antd mobile exports 2 versions of components, the web one (which uses DOM) and the react native version (uses View, Text etc...)
Web version: You can think it's like jQuery Mobile, Sencha Touch etc, it's intended to build pure mobile web page/application, the application that you are going to see in a mobile browser. example, go and open facebook.com, amazon.com with a mobile browser (they look really different then the desktop one).
React Native version: You will use this to build a Mobile App (a hybrid app) that sits in Google Play store/App Store, an app that needs to be installed.
Hope it helps.
If I made mistakes please let me know.

How to integrate with BlackBerry Java SDK with BlackBerry WebWorks in one application

I want to develop some modules with BlackBerry Java SDK in my application, and develop other modules with BlackBerry WebWorks. That I could take the advantage of both Java SDK & WebWorks. I don't know how to integrate them in one application.
I would seriously consider choosing one or the other. All the major APIs are accessible via WebWorks, and if you need a Java component you can build an extension.
The other way around, I suppose you could use some kind of webview that uses local html/css/js assets alongside a Java app, but that's a mess. You're better off just going with WebWorks.
You can use WebWorks to create your UI and then, what ever Java code you have you would have to import the Extension (.jar file) to your WebWorks project.
https://bdsc.webapps.blackberry.com/html5/documentation/ww_developing/using_javascript_extensions_1866976_11.html

What is RhoMobile for?

I do not understand. I have to download xcode and bunches of other stuff to make it work. I don't understand what I'm getting. Is it that I can use Ruby instead of Objective-C and it compiles down to a native app? Thanks.
Rhomobile, selected Best Startup at Interop 2009, lets developers use HTML and Ruby to create native iPhone, BlackBerry, Windows Mobile, Symbian, and Android applications.
The development in it is called rhodes.
Rhodes is a free and open source MVC-based framework written in Ruby under the MIT license for building native cross-platform mobile development applications. Rhodes enables developers to harness their traditional web skills such as HTML, HTML5, CSS, and JavaScript, instead of in Objective-C or other complex native device OS language, to create a native app, and porting the app in cross operating systems such as Android, Appleā€™s iPhone and iPad, BlackBerry, Windows Mobile, Symbian and HP/Palm's Linux-based WebOS.
Download rhoStudio. Using the rhoStudio you can create your iOS, android,BB,WP application easily.
What you have to do is to code in simple html, javascript and if you want to use MVC architecture you have to use Ruby for that. As it is build on Ruby framework.
Good thing is it also supports HTML 5.
Once you build the project you can transform into any of your favorite device application.
with just only couple of commands.
I just coded in html in rhoStudio and now I can run the same application in my Xcode also. its fun.
At the same time of development you can run your project for other devices too.
The ruby that you write is compiled to Ruby bytecode and the compiled bytecode is executed as a resource by Rhodes and compiled to native code. A rubyVM interpreter is integrated into the application.

BlackBerry J2ME vs HTML Javascript framework like PhoneGap

A client wants a blackberry application for listening live radio for his radio station. We focused on iPhone development. I know Java language have done several projects. However haven't tried yet J2ME. Which do you recommend J2ME or HTML Javascript framework like PhoneGap or any other cross platform framework? What are the advantages and disadvantages of them? Thanks.
If you are comfortable with Java Swing or other Java UI programming then going with native is probably a great idea.
If you are more comfortable with HTML, JavaScript and CSS then use PhoneGap. If you are planning on deploying your application to more than one platform then definitely use PhoneGap. PhoneGap also allows you to write native BlackBerry Java code and integrate that with the HTML / JS code in case the specific APIs you need are not exposed.
With the imminent release of BlackBerry OS 6 things should get a lot better on that platform for both PhoneGap (since the browser is now WebKit based) and for native Java programming.
There are many other comparisons between PhoneGap and X on stackoverflow, though most other cross platform frameworks don't support BlackBerry.
J2ME: Blackberry supports this (and is fact still the BB's core), however it's a rapidly aging platform. You can't do many interesting things in BB without the proprietary APIs.
Phonegap: Haven't used it myself but I've heard so-so things about it. High footprint, lowest-common-denominator etc.

Resources