[Kde-bindings] Qt and Multithread
Stefan Champailler
champailler at octalis.com
Tue Oct 18 08:51:15 UTC 2005
Dear all,
I'm still developping my robot for konqueror and I've stumbled on a
fundamental issue.
I want to have a robot that can control konqueror to make GUI testing
(and I have a good reason to do it like that, HttpUnit won't do it).
The thing I want to achieve is to have several little functions that
allow me to write scripts like this :
# this is ruby code...
openURL(google.org")
fillForm("search","what I serach for")
submitForm("search")
assert( link_present("www.mysite.com"))
To achieve this, ruby must have the control flow. However, if I use
Korundum and a KApplication, the control flow is passed to Qt. This
leads to code like this, with an event handler :
case scenarioStep
when 1
openURL(google.org")
when 2
fillForm("search","what I serach for")
...
end
scenarioStep++
this works but it's not nice : having to write down all these "when"
is not nice.
What I was thinking on is to have two threads. One threads running
the QT stuff (one window with a KHTML part) and another running my
script. This way the application loop control flow is handled
separately of the scenario control flow.
The problem is that first, if I create a thread beside the
KApplication.exec one, it is run only if events are thrown at the
KApplication.exec.
Second, if I write :
a = KDE::Application.new()
Thread.new {
a.exec
}
it crashes miserably.
Any suggestion ?
Thank you !
Stefan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-bindings/attachments/20051018/a6410845/attachment.sig>
More information about the Kde-bindings
mailing list