Hi Guys,
Above solution was working on a simple example, however Iβm quite struggling on the setup I want to have.
Iβm having issues and wonderings about the naming, case and correct read of the order.txt.
Sorry already for the amount of info below, but couldnβt have it simplier
To sum up, I have a structure like this :
zidework\
βββ Tests\
β βββ GLOBAL\
β β βββ TYPEA\
β β β βββ TYPEA1.robot
β β β βββ TYPEA2.robot
β β βββ TYPEB\
β β β βββ TYPEB1.robot
β β β βββ TYPEB2.robot
β β βββ TYPEC\
β β β βββ TYPEC1.robot
β β β βββ TYPEC2.robot
β β βββ TYPED\
β β β βββ TYPED1.robot
βββ order.txt
My need is to be able to group by βTYPExβ, for example A and C grouped, parallellized against B and D group. The .robot files might contain one or plus tests.
1. Standard Pabot exe and .pabotsuitenames
Simple pabot run pabot --processes 2 --dryrun . gives me this .pabotsuitenames file (OK):
--suite Zidework.Tests.GLOBAL.TYPEA.TYPEA1
--suite Zidework.Tests.GLOBAL.TYPEA.TYPEA2
--suite Zidework.Tests.GLOBAL.TYPEB.TYPEB1
--suite Zidework.Tests.GLOBAL.TYPEB.TYPEB2
--suite Zidework.Tests.GLOBAL.TYPEC.TYPEC1
--suite Zidework.Tests.GLOBAL.TYPEC.TYPEC2
--suite Zidework.Tests.GLOBAL.TYPED.TYPED1
Here already I see that the main root folder is named with βZβ uppercase instead of βzβ
2. Pabot order.txt
I set an order.txt file as following (simple copy from the generated one, grouped, and verified that if order.txt is missing got an error)
pabot --processes 2 --ordering order.txt --dryrun .
{
--suite Zidework.Tests.GLOBAL.TYPEA.TYPEA1
--suite Zidework.Tests.GLOBAL.TYPEA.TYPEA2
--suite Zidework.Tests.GLOBAL.TYPEB.TYPEB1
--suite Zidework.Tests.GLOBAL.TYPEB.TYPEB2
}
{
--suite Zidework.Tests.GLOBAL.TYPEC.TYPEC1
--suite Zidework.Tests.GLOBAL.TYPEC.TYPEC2
--suite Zidework.Tests.GLOBAL.TYPED.TYPED1
}
But got pabot running error :
[ ERROR ] Suite βZideworkβ contains no tests or tasks in suites, failed with 252 tests:
Only way it works is renaming Zidework to zidework (lowercase). There execution is made and seems to be made by group, even though βgroupβ is not mentioned.
3. Expected/needed structure
I set without the robot file as below which would be my behavior (to avoid update of order.txt as soon as a test is added), but got the same error. Only way it works is renaming βzideworkβ (case issue with z), but in this case the execution is not made by group tooβ¦
{
--suite Zidework.Tests.GLOBAL.TYPEA
--suite Zidework.Tests.GLOBAL.TYPEB
}
{
--suite Zidework.Tests.GLOBAL.TYPEC
--suite Zidework.Tests.GLOBAL.TYPED
}
4. Simple order test
Finally I just try to verify forced order execution:
--suite zidework.Tests.GLOBAL.TYPEC
--suite zidework.Tests.GLOBAL.TYPED
#WAIT
--suite zidework.Tests.GLOBAL.TYPEA
--suite zidework.Tests.GLOBAL.TYPEB
Here it doesnβt work (tests run in parallel with no order nor wait taken in account), unless I rename βZideworkβ with first letter in upper case (quite the reverse behavior as explained above).
If somebody already experienced issues like this, I would be interested in knowing how you managed this.
Already tried also to narrow down suites names in order.txt, pass --suite parameter in robot command, with no more luck. Also changed and tested encoding of file (CRLF/LF).
Thanks and regards.
Charlie