Comments (8)
I have ran into the same problem, the "get_handler" method has been removed in some old version and it will result in exception in new version of rf.
I have modified the wrapped_f method to fix it but the codes of robotframework is a bit complex for me, so I am not sure whether there will be any other issues.
def wrapped_f(q, *args, **kwargs): ''' Calls the decorated function and puts the result in a queue ''' try: context = EXECUTION_CONTEXTS.current runner = context.get_runner(keyword) ret = runner.run(Keyword(name=keyword, args=args), context) q.put(ret) except Exception as ex: print ex
from robotframework-async.
I think the implementation in robot framework changed. There is no longer a get_handler method.
I forked the library and did the necessary adaptations. Further I changed the implementation such that exceptions are handled. You can find my fork here:
https://github.com/rlehfeld/robotframework-async-keyword.git
from robotframework-async.
Is 3.0.2 the first incompatible version?
Is this true for newer versions as well?
from robotframework-async.
Looks like this issue is happening in ROBOT 3.0.4
robot.version
'3.0.4'
As a result, when I try running a simple script with "sleep", the execution hangs.
Python: 2.7.6
from robotframework-async.
Just debugged a bit further. Looks like the "get_handler" method has been removed from the robot.running.context lib.
There is "get_runner" method but it looks like this is for an entirely different purpose.
from robotframework-async.
@jeffjiang0613 provided here an in-comment fix/update to changed robotframework code. BUT, I think RF is not designed to run keyword's in threads (this way). The runner.run()
method (write) accesses, data thus syncing techniques (like semaphores) might be required in RF to work for this lib.
A small snippet with that lib produces sometimes an error like this:
[ ERROR ] Reading XML source 'output.xml' failed: ParseError: mismatched tag: line 100, column 2
Watching file output.xml shows, that a writer in thread and a writer in main thread can write both a the same time in this resource.
from robotframework-async.
@jeffjiang0613 provided here an in-comment fix/update to changed robotframework code. BUT, I think RF is not designed to run keyword's in threads (this way). The
runner.run()
method (write) accesses, data thus syncing techniques (like semaphores) might be required in RF to work for this lib.A small snippet with that lib produces sometimes an error like this:
[ ERROR ] Reading XML source 'output.xml' failed: ParseError: mismatched tag: line 100, column 2
Watching file output.xml shows, that a writer in thread and a writer in main thread can write both a the same time in this resource.
Yes,I met the issue.
from robotframework-async.
@jeffjiang0613 provided here an in-comment fix/update to changed robotframework code. BUT, I think RF is not designed to run keyword's in threads (this way). The
runner.run()
method (write) accesses, data thus syncing techniques (like semaphores) might be required in RF to work for this lib.
A small snippet with that lib produces sometimes an error like this:[ ERROR ] Reading XML source 'output.xml' failed: ParseError: mismatched tag: line 100, column 2
Watching file output.xml shows, that a writer in thread and a writer in main thread can write both a the same time in this resource.
Yes,I met the issue.
It seems that robot framework does not support call keywords concurrently even though I use threads in python.
from robotframework-async.
Related Issues (8)
- I am trying to use this keyward asyn run HOT 2
- How to handle failed test? HOT 1
- Printouts during async call causes corrupted Robot report file HOT 5
- robotframework-async on maven HOT 1
- Async Get keyword can not return HOT 2
- Run under python3.5 report - ImportError: No module named 'Queue' HOT 1
- traceback with Asynch Run HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from robotframework-async.