I apologize for this loooooong reply.
I’m really glad it helped You
.
I’m glad you’re glad 
About this:
loadVars | users.csv
open | ${URLForEachUser}
endLoadVars
From what i know it’s basiclly a loop wich start at “loadVars” and end on “endLoadVars”, so it’s should look like this:
loadVars | users.csv
open | ${URLForEachUser}
<fill form/submit and do everything you need to do on the page>
endLoadVars
As you might have surmised, I’m not a technical person. I’m essentially a business guy who reluctantly occasionally wrestles with simple technical problems out of necessity. Therefore, I need to translate technical jargon into something resembling plain English. Is the following correct?
- Katalon Recorder will attempt load users.csv which has a list of URLs such as URL#1, URL#2, URL#3, and so on.
- If successful with proceeding step then Katalon Recorder will open URL#1.
- If successful with proceeding step then Katalon Recorder will “make breakfast” for URL#1. By make breakfast, I mean Katalon Recorder will follow my instructions such as: open the refrigerator, take out the butter and cheese, place them on the counter, drop the cheese on the floor, shout an expletive, watch the dog come and begin eating the cheese, yell “bad dog!” at the dog (who feigns deafness as he continues eating the cheese), and so on. Well. Ok. Sure. Maybe those aren’t actually my instructions to Katalon Recorder… but I am getting hungry!
- If successful with proceeding step then when Katalon Recorder finishes making breakfast for URL#1, then Katalon Recorder will attempt to make breakfast for URL#2.
- If successful with proceeding step then when Katalon Recorder finishes making breakfast for URL#2, then Katalon Recorder will attempt to make breakfast for URL#3.
- And so on until Katalon Recorder has either been unsuccessful with a step or Katalon Recorder has made breakfast for all of the URLs in users.txt. Right?
- Then Katalon Recorder will take a nap because she will be disappointed because she did not get much done due to an early failure and/or she will be exhausted from all of the work she has done (including yelling at the cheese-loving dog… who was not really deaf)!
So “endLoadVars” should be at the end of file.
Does endLoadVars
mean TakeNap
when using my facetious anthropomorphism of Katalon Recorder?
This solution however have some big disadvantage: if something goes wrong on first loop it will stop and won’t check others URLs. For me it was a problem…
I already experienced the disadvantage you mentioned with my script above named, “Opening a list of URLs sequentially.” Katalon Recorder had a problem with one of my URLs. Let’s say Katalon Recorder did not find any cheese in the refrigerator for one of my records. Immediately thereafter Katalon Recorder took a nap (failed to run the test case on any of the subsequent records)! I reprimanded her, ran the test case again, yet Katalon Recorder ignored me and took a nap… once again! I threatened to fire Katalon Recorder but she simply ignored me. Ok, let me put aside my facetious anthropomorphism… at least for now.
Seriously, that was a problem for me. And seriously, I am glad to read that you have solved the problem (with a seemingly simple yet elegant workaround).
Frankly, that problem seemed utterly ridiculous to me. How often would a user actually want Katalon Recorder to behave (work) that way? I guesstimate (which, of course, is a portmanteau of guess + estimate) a user would want that behavior less than 5% of the time.
Imagine you had entered a supermarket with a list of, say, 25 items. Imagine you had put the first 6 items in your shopping cart (in American English we say, “shopping cart” whereas in British English they say “trolley” which sounds really weird to me) but then were unable to find the seventh item. Would you go home with only the 6 items or would you try to find and purchase the remaining 13 items on your list?
I’m always amazed that software companies employ product managers who, well, don’t seem to comprehend how to properly create good—let alone excellent—functional specifications. Bad functional specifications are a common bane in software companies.
Obviously when performing a test for a list of records (I’m referring to record in the way it is used in database terminology) the default behavior should be that when a test case cannot run on a particular record in the list, then the test case should skip that record and continue on to the subsequent record the list. Obviously, the error (or the errors) would noted in the log file. For what I have surmised would be uncommon cases when a user actually would want the current inane default behavior, a user could add a command like EndImmediatelyOnAnyError or, to use my lexicon TakeANapImmediatelyIfSomethingGoesWrong.
so i create one testsuite and make copy of file, rename it and change URL at the beginnig of file in open command.
I am confused.
I think I understand that you created a workaround. That is, you seem to have circumvented the problem of the supermarket shopper immediately terminating his shopping trip by only purchasing the 6 items in his shopping cart, if item #7 were unavailable in the supermarket. Right?
Now I am guessing.
Perhaps instead of creating a test suite with one test case, perhaps you created a test suite with two test cases: the wife and the husband. In doing so, if the husband failed to find a particular item on the shopping list his wife had given him, he would continue shopping (continue trying to find all of the items on the shopping list his wife had given him).
For example, if the husband were to fail to find item #7 in the supermarket, then the husband would continue shopping (would attempt to find items #8 through #25 in the supermarket). Is that correct?
If you don’t mind, I would appreciate it if you would send me a couple/few of screenshots of the relevant test suites you created.
By the way, I use Flameshot for taking screenshots. I like it very much. Because I’ve been running Manjaro XFCE for the past six months or so (I wanted a rolling release therefore I switched from a distro named GalliumOS which is based on Debian/Ubuntu in favor of Manjaro which a distro based on Arch Linux) I install Flameshot with Pamac which is a simple GUI for installing software applications. Regular Arch Linux is too difficult and too “techie” for me.
Again, I apologize for this long reply. Thanks for reading it.