tokunbo / behave-parallel Goto Github PK
View Code? Open in Web Editor NEWThis project forked from behave/behave
BDD, Python style, parallelism
License: Other
This project forked from behave/behave
BDD, Python style, parallelism
License: Other
Hi, I have tried the project in both the branches but none of them generates junit reports. I am using this command to run scenarios:
./bin/behave --processes 4 --parallel-element scenario features/context.local_params.feature --junit --junit-directory="/Users/../../reports"
As a test-developer, I would like to use the parallel feature on all my scenarios except those that belong to a feature tagged with @Sequential. In that case, I'd like the feature to run each of its scenarios one after another. Other features without the sequential tag can have their scenarios split up and ran in parallel.
I looked at the behave version used by behave-parallel and noticed that it is Python 2. Is there any way to make it compatible with Python 3?
First of all thanks for this awesome functionality.
I have been trying to tweak Allure reporting framework for which i'm heavily depending on environment methods which behave provides.
One thing i noticed was when you run parallel-element as "scenario" it doesn't execute before & after feature methods. Just wanted to understand if this is a designed in that manner or possibly an issue.
Lemme know if u need any log.
At some point, I need to add --start-interval where if you have 3 processes and --start-interval 5, it'll start each process with 5 second delay. Suddenly hitting selenium-grid with 10+ number of begin-session requests at the exact same time is a bit more than grid can handle.
Cloned repository to my own git repo and install it as a dependency using pip in a virtual environment.
My pip requirements file looks like this
enum34==1.0.4
parse==1.6.6
parse-type==0.3.4
six==1.9.0
wheel==0.24.0
[email protected]
The tag definitely exists, so it's not a problem with installing the requirement.
Runs fine on OS X, but on Windows the following fatal error occurs before any tests run.
λ behave --processes 4 --format plain --parallel-element scenario
INFO: 4 scenario(s) and 0 feature(s) queued for consideration by 4 workers. Some may be skipped if the -t option was given...
Traceback (most recent call last):
File "c:\developer\TAS\behave-parallel-tutorial\venv\Scripts\behave-script.py", line 9, in <module>
load_entry_point('behave==1.2.2.16', 'console_scripts', 'behave')()
File "c:\developer\tas\behave-parallel-tutorial\venv\lib\site-packages\behave\__main__.py", line 96, in main
failed = runner.run()
File "c:\developer\tas\behave-parallel-tutorial\venv\lib\site-packages\behave\runner.py", line 508, in run
return self.run_with_paths()
File "c:\developer\tas\behave-parallel-tutorial\venv\lib\site-packages\behave\runner.py", line 513, in run_with_paths
return self.run_multiproc()
File "c:\developer\tas\behave-parallel-tutorial\venv\lib\site-packages\behave\runner.py", line 631, in run_multiproc
p.start()
File "C:\Python27\Lib\multiprocessing\process.py", line 130, in start
self._popen = Popen(self)
File "C:\Python27\Lib\multiprocessing\forking.py", line 277, in __init__
dump(process_obj, to_child, HIGHEST_PROTOCOL)
File "C:\Python27\Lib\multiprocessing\forking.py", line 199, in dump
ForkingPickler(file, protocol).dump(obj)
File "C:\Python27\Lib\pickle.py", line 224, in dump
self.save(obj)
File "C:\Python27\Lib\pickle.py", line 331, in save
self.save_reduce(obj=obj, *rv)
File "C:\Python27\Lib\pickle.py", line 419, in save_reduce
save(state)
File "C:\Python27\Lib\pickle.py", line 286, in save
f(self, obj) # Call unbound method with explicit self
File "C:\Python27\Lib\pickle.py", line 649, in save_dict
self._batch_setitems(obj.iteritems())
File "C:\Python27\Lib\pickle.py", line 681, in _batch_setitems
save(v)
File "C:\Python27\Lib\pickle.py", line 286, in save
f(self, obj) # Call unbound method with explicit self
File "C:\Python27\Lib\multiprocessing\forking.py", line 67, in dispatcher
self.save_reduce(obj=obj, *rv)
File "C:\Python27\Lib\pickle.py", line 401, in save_reduce
save(args)
File "C:\Python27\Lib\pickle.py", line 286, in save
f(self, obj) # Call unbound method with explicit self
File "C:\Python27\Lib\pickle.py", line 548, in save_tuple
save(element)
File "C:\Python27\Lib\pickle.py", line 331, in save
self.save_reduce(obj=obj, *rv)
File "C:\Python27\Lib\pickle.py", line 419, in save_reduce
save(state)
File "C:\Python27\Lib\pickle.py", line 286, in save
f(self, obj) # Call unbound method with explicit self
File "C:\Python27\Lib\pickle.py", line 649, in save_dict
self._batch_setitems(obj.iteritems())
File "C:\Python27\Lib\pickle.py", line 681, in _batch_setitems
save(v)
File "C:\Python27\Lib\pickle.py", line 331, in save
self.save_reduce(obj=obj, *rv)
File "C:\Python27\Lib\pickle.py", line 419, in save_reduce
save(state)
File "C:\Python27\Lib\pickle.py", line 286, in save
f(self, obj) # Call unbound method with explicit self
File "C:\Python27\Lib\pickle.py", line 649, in save_dict
self._batch_setitems(obj.iteritems())
File "C:\Python27\Lib\pickle.py", line 681, in _batch_setitems
save(v)
File "C:\Python27\Lib\pickle.py", line 286, in save
f(self, obj) # Call unbound method with explicit self
File "C:\Python27\Lib\pickle.py", line 748, in save_global
(obj, module, name))
then
λ Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Python27\Lib\multiprocessing\forking.py", line 381, in main
self = load(from_parent)
File "C:\Python27\Lib\pickle.py", line 1378, in load
return Unpickler(file).load()
File "C:\Python27\Lib\pickle.py", line 858, in load
dispatch[key](self)
File "C:\Python27\Lib\pickle.py", line 880, in load_eof
raise EOFError
EOFError
and finally
pickle.PicklingError: Can't pickle <function do_nothing at 0x00000000037BD518>: it's not found as behave.runner.do_nothing
Any hints as to what might be causing this?
As a test-developer, I would like to be given a choice to apply parallelism to feature elements or to individual scenarios within features.
The "refactor" branch has better code, get it reviewed then merge to master soon!
Hi,
Would it be possible to bump the version of behave being used to 1.2.5 as it introduces some new features?
Thank you in advance.
-Neil
Any idea's on what is causing my error
I'm running:
C:\github\behave-parallel\bin\behave --processes 4 --parallel-element scenario --format plain
Traceback (most recent call last):
File "", line 1, in
File "C:\Python27\lib\multiprocessing\forking.py", line 380, in main
prepare(preparation_data)
File "C:\Python27\lib\multiprocessing\forking.py", line 489, in prepare
file, path_name, etc = imp.find_module(main_name, dirs)
ImportError: No module named behave
Traceback (most recent call last):
File "C:\github\behave-parallel\bin\behave", line 42, in
sys.exit(behave_main0())
File "C:\github\behave-parallel\bin\behave", line 33, in behave_main0
return behave_main()
File "C:\github\behave-parallel\behave__main__.py", line 111, in main
failed = runner.run()
File "C:\github\behave-parallel\behave\runner.py", line 561, in run
return self.run_with_paths()
File "C:\github\behave-parallel\behave\runner.py", line 583, in run_with_paths
return self.run_multiproc()
File "C:\github\behave-parallel\behave\runner.py", line 654, in run_multiproc
self.joblist_index_queue = multiprocessing.Manager().JoinableQueue()
File "C:\Python27\lib\multiprocessing__init__.py", line 99, in Manager
m.start()
File "C:\Python27\lib\multiprocessing\managers.py", line 528, in start
self._address = reader.recv()
EOFError
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.