Ways to find the total number of scenarios when the test execution starts?
I am working on a custom report formatter for a cucumber test framework. I have 20+ feature files and contains different tags for each files. I am using Cucumber CLI and passing specific tags to execute the tests.
Problem:
I need to implement a progress report which shows how many scenarios were executed vs how many scenarios are still remaining to be executed. The report will dynamically show the progress in terms % of test completion. I am able to count the total number of scenarios executed as it either passes/ fails using the @After hooks. However I am unable to find the total number of scenarios to be executed. I have tried to implement the ConcurrentEvent listener for TestRunStarted Event. But it does not provide any summary details. I believe Cucumber Runtime model may be able to provide this information, but could not get it to work. If you have solved similar problem, please post it here. Appreciate any help/ideas to solve this.
Finally I write a script to Click on nested Menu that is not recognized with TC-Engine.
def SelectContextMenueStrip(cls, Contain_0 = '', Contain_1 = ''): try: Index_0 = 0 Index_1 = 0 Delay(50) ContextMenuStrip = Aliases.JTL_Wawi.ContextMenuStrip Height = ContextMenuStrip.Height Width = ContextMenuStrip.Width Count = ContextMenuStrip.get_Items().Count IndividualHeight = Height / Count for Index_0 in range(0,Count,1): Item = ContextMenuStrip.GetItemAt(Width/2, IndividualHeight * Index_0 ) if Item != None: if ContextMenuStrip.GetItemAt(Width/2, IndividualHeight * Index_0 ).Text.OleValue == Contain_0: ContextMenuStrip.Click(Width/2, IndividualHeight * Index_0) if Contain_1 != '': ContextMenuStrip_1 = Aliases.JTL_Wawi.ContextMenuStrip.activeDropDowns_2.Item[0] Height_1 = ContextMenuStrip_1.Height Width_1 = ContextMenuStrip_1.Width Count_1 = ContextMenuStrip_1.get_Items().Count IndividualHeight_1 = Height_1 / Count_1 for Index_1 in range(0,Count_1,1): Item_1 = ContextMenuStrip_1.GetItemAt(Width_1/2, IndividualHeight_1 * Index_1 ) if Item_1 != None: if ContextMenuStrip_1.GetItemAt(Width_1/2, IndividualHeight_1 * Index_1 ).Text.OleValue == Contain_1: MouseX = ContextMenuStrip_1.Left MouseY = ContextMenuStrip_1.Top Sys.Desktop.MouseDown(VK_LBUTTON , MouseX + Width_1/2, MouseY + IndividualHeight_1 * Index_1) Sys.Desktop.MouseUp(VK_LBUTTON , MouseX + Width_1/2, MouseY + IndividualHeight_1 * Index_1) Index_1 += 1 Index_0 += 1 except Exception as exp: Log.Message('SelectContextMenueStrip - type:' + str(exp))
I use mouse position to click on desktop, Enjoy it 😉