RED Robot Editor - Is there anyway to execute multiple testsuites parallelly? - selenium-webdriver

I have 7 testsuites that are specific to languages something like German, Finish, Italy etc., I would like to execute all at one time. Kindly provide me solution on this. Referred to many materials, but having confusions that how we should work with RED Editor.

AFAIK the only possibility to add parallel execution to robot tests is to
parallelize code inside python classes or
make each test suite a
separate test call (i.e. with ctest execution) and call several of
them separately (ctest -j)
RIDE does not provide this, nor does robotframework natively.

In the recent releases of RED it is possible to use a custom script to launch robot from RED. The documentation shows some examples in the Launch Scripting section. In the section about launching using Gradle there is a nice Windows batch example.
This could be used to have RED launch Pabot to run several Robot sessions in parallel. This would allow you to achieve the parallelisation from RED you seek.
The Selenium Grid can help with this, but I'd consider it if the testing load needs to be spread across multiple machines. If only running locally, then pabot itself is sufficient.

Related

What do you even call the ability of code to auto update and how do you do it?

I'm having a hard time understanding how to even search online for this behavior. I've seen it several times before and know it's something that can be done but don't know if this is a language level feature or what. What do you call the ability for code that you edited to automatically be applied to an executed instance of said code being run.
To use a common version of this that I see: you'll have a game that you're developing open and you'll be running that game in your engine and then edit a value (let's say one representing walking speed) and then simply save that file (maybe compile it? maybe just that line? I don't know how it's done) and then, suddenly, that behavior is updated in the live instance of the program just like that.
It seems so much better then having to recompile a file, or a whole project, and then run it to be able to test it. How do I do this kind of rapid iteration and what is it called? NOTE: the first time I saw this was with Clojure in emacs. Does that have something to do with it?
You may want to read about the Clojure REPL and also here.
"Hot Reloading" is related and is commonly used in UI development in the browser with ClojureScript:
Shadow CLJS
Figwheel Main

Selenium WebDriver without a Test Runner?

I'm not sure if this question is going to be closed due to it being too novice but I thought I'll give this a shot anyway.
I am currently working on a Selenium Automation framework which, though seemingly well built, is running it's code by spawning threads. (The framework is proprietary so I'm unable to share the code)
This framework instead of using a Test Framework like JUnit or TestNG to run "Tests", uses a threaded approach to run. aka, the methods that read datasheet, instantate and execute the Drivers, report the results etc. them are executed by starting a thread, the class of which is instantiated at various places in the code on runtime.
My concern is: though it runs fine locally with providing the reports and what have you, what it would be unable to do, due to it not operating using a Test Runner, it's unable pass or fail a "Test".
Therefore, on putting this up on a build pipeline, "Test"s wouldn't be executed as there are no "tests" so to speak, thereby making it making it lose it's juice on CI/CD as far as reporting of build pipeline success or failure is concerned.
Am I justified/unjustified in my concerns? Why? And is there a workaround for this? At what ROI?
Resources or links shall be welcomed and beer shall be owed!! :-)
Cheers,
Danesh

Can I make a terminal program in C to edit photos in GIMP [macOS]?

I am editing a large batch of photos using the same steps, and want to create a program to run through terminal that will run the process for me. I am comfortable with writing in C, but I am unsure of how to start on the code/what commands to use.
When I am in GIMP, I start by opening a .xcf file, and importing the photo I wish to edit in as the bottom layer. Next, I resize the layer to 1000px wide. After that, I edit the curves with a preset I have saved, and then do the same with the brightness controls. Finally, I export the file as a .png with a specific name: 01-0xx.png, based on the number of the photo in the set.
This sounds like a job for macros or the automation tools available in Gimp:
Ref: Gimp Automate Editing https://www.gimp.org/tutorials/Automate_Editing_in_GIMP/
This tutorial will describe and provide examples for two types of
automation functions. The first function is a tool to capture and
execute “Macro” commands. The second function is a set of Automation
Tools to capture and run a “Flow” or “Process”. The code for this
tutorial is written using Gimp-Python and should be platform portable
– able to run on either Linux or Windows operating systems. *
The goal of these functions is to provide tools that speed up the
editing process, make the editing process more repeatable, and reduce
the amount of button pushing the user has to do. Taking over the
button pushing and book-keeping chores allows the user to focus on the
more creative part of the editing process.
I haven't ever used GIMP, but programs of this sort typically have automation scripting support, and this is the right place to start.
Could be done with C, but the learning curve is steep.
You can write Gimp scripts in Scheme (Lisp) or Python, and if you know C you can learn enough Python in a couple of hours. See an example of a Python batch script here.
Side note #1: Curves+Brightness contrast can be done in one single call to Curves (with a different curve of course). Each operation entails some color loss, so the fewer, the better.
Side note #2: It may be simpler to do this with without Gimp using:
The ImageMagick tool box (command called from a shell script)
An image library with any language ("pillow" for python).
Your Curves preset is just what is called a "CLUT" (Color Look-Up Table).

command line support for KIF for running tests on real device

I am using KIF to test my application. I want to start my tests from command line, I looked into the tool WaxSim, looks like it's for running the tests on a simulator. But is there a way to use KIF tests in continous Integration with the real device. It would be helpful if I can invoke the tests from command line which run in a real device.
I know it is possible to do this with apple UI automation on ios5 beta version, but let me know if there is a way to do this in ios4.
Your help will be much appreciated.
-Teja
From the KIF google group
Right now, no, there isn't. Are there any particular device-only needs you have, or is it just on general principle? We're looking in to a way of doing device tests in CI, but it's a tough nut to crack. All of the frameworks for controlling devices are private.

what is a console app mainly used for?

I have always used winforms to do my projects but I have never really explored the console application. I have seen some videos of different programs done in console applications for example, games, engines, display images using the keyboard keys and more but what exactly is a console app for?
More backend types of things, typically for apps that require no user interaction (backup jobs, etc… that run on a scheduled basis).
This question is in danger of being closed ... but I'll try to answer.
Really console applications have a history - in the days when a console, which may have been a teletype with a single output line, to a tty style console with a several line screen was the main UI for computers from mainframes to personal computers running CP/M, DOS or one of almost hundreds of different operating systems.
Whilst #james_schorr is parially correct, some technical people still find console apps to be efficient ways of performing certain sorts of operations - even with user interaction. For example I use git and mercurial from the command line in preference to a UI like tortoise.
They have some advantages (especially on Unix and Linux) because you can combine the commands in scripts using pipes (i.e. where standard out of one is fed directly into standard input of the next) to form very powerful operations.
I use them primarily for command line apps that perform repetitive tasks. You can support input parameters through the args array parameter to the Main method.
Simplicity. Throwawy apps. Test apps. Logging consoles. Ensuring it will work on Mono and/or from a command line. Or just laziness. Take your pick.
Specifically text-based programs, which represent decades of our programming heritage.
Before Windowing came about mainstream, users were quite happy to work in in console based text programs.
I can remember when we could write real business/financial apps in DOS or green-terminal UNIX that people actually wanted.
They could be used for virtually any task, but are mainly used for automated tasks, tasks that don't require too much advanced user intervention, tasks where a GUI would consume too much CPU power, tasks where large amounts of data are used as inputs or outputs that the user doesn't need to view, etc.

Resources