New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Parallel Execution support #2
Comments
@aliaksandrbasau @nvborisenko will it unblock current issue? |
@DzmitryHumianiuk, @nvborisenko, |
The issue is currently blocked by SpecFlowOSS/SpecFlow#894 and SpecFlowOSS/SpecFlow#886. |
Right, specflow cannot generate [Parallelization] attribute into *.cs files. Only 1 possible way is to specify parallelization on assembly level. I propose to support this in our agent due there are no others ways for parallelization with nunit3 provider. But there are some another runners which support parallelization, eg SpecRun. This guy can execute tests in the same feature in parallel. Let's try to test our agent with this runner and see results. My idea here is to support official stuff. Parallelization on feature level will be available in the next releases (might be). |
We could generate [Parallelization] attributes for tests by implementing a custom generator class based on NUnit3TestGeneratorProvider (https://groups.google.com/forum/#!topic/specflow/8Tp0QyfgpbU). I tried to run tests with SpecRun. SpecFlowOSS/SpecFlow#886 currently blocks the further development. Integration with RP works when NUnit 3 tests are executed in parallel on fixture level. SpecFlowOSS/SpecFlow#894 blocks running them in parallel on test level. xunit only supports running tests in parallel on feature level (these 3 runners are mentioned on https://github.com/techtalk/SpecFlow/wiki/Parallel-Execution). It should not be so difficult to support it. |
@aliaksandrbasau SpecFlowOSS/SpecFlow#886 closed on Aug 29. 2017 |
@DzmitryHumianiuk I saw that one. Still waiting for SpecFlowOSS/SpecFlow#894 to be resolved. |
@aliaksandrbasau Alex, I played with ContextInjection and it seems workable. Only 1 issue that I didn't resolve: I cannot get the context in As I understand the current progress of this issue you are waiting until #894 will be resolved. But #894 is about nunit and level of parallelism. I think this is related only to specflow and nunit, no additional work is required from our side. Alex, could you please share your current work in separate branch? So, I think we can release a new version of agent, that supports simple model of parallelization (TestFixture level). It would be better than waiting until deeper level of parallezation will be officially supported. Thanks in advance. |
@nvborisenko Sure. Sounds reasonable. Let's release the agent with feature-level parallelization support. I will work on it on weekend and will publish the branch with my results. |
@nvborisenko The issue with getting a context in |
Created pull request into specflow repo about internal TestStatus property SpecFlowOSS/SpecFlow#963 |
@nvborisenko Kolya, PR has been merged. Do we expected any activities on the current issue? |
Waiting new release of specflow, and then we will rewrite agent. |
SpecFlow 2.3 is released |
@yurahunter Thanks! I will work on re-testing and merging the changes for Parallel Execution support I implemented. |
@aliaksandrbasau thanks! Looking forward for this feature |
@nvborisenko Could you please release a new version of ReportPortal.Shared that will have dependency on ReportPortal.Client (>= 2.0.0)? |
@aliaksandrbasau no big changes in client 2.0.0. You can use beta of shared. New release of shared is coming which will shared across app domains. I propose to start development with current beta, and then migrate to released shared library. Thanks for understanding. |
@nvborisenko WellKnownIssueType struct is missing in ReportPortal.Client 2.0.0-beta3 that is referenced by the latest ReportPortal.Shared (2.0.0-beta3). I am okay with having a new beta release of ReportPortal.Shared. Or I can always hard-code issue types :) What do you think? |
ReportPortal.Shared.2.0.0-beta4 pushed to nuget |
@nvborisenko Many thanks! |
I have committed the initial version (pull request #21). It was tested with NUnit3, MSTest, XUnit and SpecRun and with Log4Net logger. MbUnit unit framework seems dead so I didn't spend any time testing it. |
@aliaksandrbasau I've installed ReportPortal.SpecFlowPlugin beta-20 but the issue is still reproducable. |
@yurahunter I am going to try to reproduce it myself later. But for now, could you do a preliminary investigation and post your findings (e.g. exception, Fiddler log, etc.)? |
@aliaksandrbasau sorry, test run is empty for beta-7, but for beta 20 I'm getting following exception
ReportPortal.Client version="2.0.0" |
@yurahunter Thanks! I will investigate the issue later. I suspect that either FeatureInfo.Description or FeatureInfo.Tags are empty, and the agent doesn't handle it well. |
@aliaksandrbasau Yes! You are right. It requires feature description |
@yurahunter I have created a pull request (#23) to fix the issue. Many thanks for reporting it! And sorry about it. |
SpecFlow throws the following exception when scenarios are run in parallel:
At the moment there is no way to resolve the issue because of inherited limitation of SpecFlow that will be addressed in SpecFlowOSS/SpecFlow#552.
The text was updated successfully, but these errors were encountered: