badoo / badoo/parallel_cucumber

Parallel Cucumber only outputs JUnit .xml for 1 of the scenarios in each feature file

Open
#15 6 comments 0 reactions 0 assignees View on GitHub
Dominant language
Ruby
Stars
23
Forks
20
PR merge metrics
No merged PRs in 30d

Description

I am running parallel from a Rakefile using parallel_cucumber. What am I doing wrong if **I only get 1 JUnit file for 1 of the scenarios in my .feature file**?

I think both of my threads are getting the same file-name (named by feature file path: TEST-features-the_internet-basics.xml ) and one over-writes the other?

I get a process_0.log and a process_1.log file in my root folder but the JUnit .xml output files are NOT named this way, ending with the thread id.

Here is my project: https://github.com/djangofan/watir-cuke-starter
Here is my test output (with 2 .feature files containing 3 scenarios: resulting in only 2 junit .xml output files):

```
$ bundle exec rake test_parallel
0> Custom env: TEST=1 TEST_PROCESS_NUMBER=0; command: cucumber --format junit --out reports/win10_chrome/junit/ --format pretty features/the_internet/basics1.feature:6
1> Custom env: TEST=1 TEST_PROCESS_NUMBER=1; command: cucumber --format junit --out reports/win10_chrome/junit/ --format pretty features/the_internet/basics2.feature:6
2> Custom env: TEST=1 TEST_PROCESS_NUMBER=2; command: cucumber --format junit --out reports/win10_chrome/junit/ --format pretty features/the_internet/basics2.feature:13
0> Pid: 14744
1> Pid: 7308
2> Pid: 23348
1> # features/the_internet/the_internet.feature
1> Feature: Test The Internet
0> # features/the_internet/the_internet.feature
0> Feature: Test The Internet
2> # features/the_internet/the_internet.feature
2> Feature: Test The Internet
Given I am on the internet # features/step_definitions/the_internet_steps.rb:3
2> When I see a heading on the page # features/step_definitions/the_internet_steps.rb:7
2> Then I see the text 'Welcome' contained in the heading # features/step_definitions/the_internet_steps.rb:12
2> And show me the test setup # features/step_definitions/common_steps.rb:1
Given I am on the internet # features/step_definitions/the_internet_steps.rb:3
0> When I see a heading on the page # features/step_definitions/the_internet_steps.rb:7
0> Then I see the text 'Welcome' contained in the heading # features/step_definitions/the_internet_steps.rb:12
0> And show me the test setup # features/step_definitions/common_steps.rb:1
2> Test Setup: Selenium::WebDriver::Remote::Capabilities, WIN10, chrome, latest
2> 1 scenario (1 passed)
2> 4 steps (4 passed)
2> 0m9.216s
2> Report output at: reports/win10_chrome
2> Exited with status 0
Thread 2 has finished. Remaining(2): 0, 1
Given I am on the internet # features/step_definitions/the_internet_steps.rb:3
1> When I see a heading on the page # features/step_definitions/the_internet_steps.rb:7
1> Then I see the text 'Welcome' contained in the heading # features/step_definitions/the_internet_steps.rb:12
1> And show me the test setup # features/step_definitions/common_steps.rb:1
1 scenario (1 passed)Selenium::WebDriver::Remote::Capabilities, WIN10, chrome, latest
0> 4 steps (4 passed)
0> 0m9.464s
0> Report output at: reports/win10_chrome
0> Exited with status 0
Thread 0 has finished. Remaining(1): 1
1> Test Setup: Selenium::WebDriver::Remote::Capabilities, WIN10, chrome, latest
1> 1 scenario (1 passed)
1> 4 steps (4 passed)
1> 0m9.817s
1> Report output at: reports/win10_chrome
1> Exited with status 0
Thread 1 has finished. Remaining(0):
All threads are complete
************ FINAL SUMMARY ************
2 scenarios (2 passed)
12 steps (12 passed)
Took 0 Minutes, 16.74 Seconds

```

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the issue with the reported `bundle exec rake test_parallel` command from the Rakefile and inspect how parallel workers write JUnit output under `reports/win10_chrome/junit/`. Done means all three scenarios retain distinct JUnit XML results instead of one output file overwriting another.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
testing
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.