Login | Register
My pages Projects Community openCollabNet

Discussions > users > RE: [maxq-users] anybody want these features?

maxq
Discussion topic

Back to topic list

RE: [maxq-users] anybody want these features?

Author pombredanne
Full name Philippe Ombredanne
Date 2004-04-12 08:44:52 PDT
Message On the topic of multiple languages generation, and GUI
integration/assertion generation, Frank Cohen and I had a separate
discussion.

One tool that is great and that could be adapted for GUI based
recording, to supplement the proxy based recording of MaxQ would be the
Mozilla DOM Inspector, available both with Mozilla and Firefox.
It has a complete access to the internals of the pages being browsed,
AND a nifty little feature that let you click on some element on the
page, and highlight that element in the displayed DOM tree in another
pane, and with a green highlight box on the browser window.

You could imagine to patch the tool (it is open source after all), so
that a ctrl-click on a page element could generate an assertion, and may
be a shift-click could hint the recorder that this element should be
considered as a variable for tests execution purpose (i.e. a form
field). To one click = one assertion, right while you are browsing!!

You could also imagine that the output of a session would be emitted as
XML, and that there would be a library of transforms available to
generate Jython, Python, Junit/HttpUnit, Canoo web tests ant scripts,
Cactus scripts, Perl, Groovy, ....
See some of our exchanges below.

This has been a itch for me for a while.
Doing decent web gui unit testing and perf testing has been a real pain
when you have to write manual tests...
Peter, Frank, what about starting something?
Would the maxq leaders welcome our efforts under their roof?
Would we need another roof?
What about OpenTests for a name? or maxq++?
--
Cheers
Philippe

philippe ombredanne | nexB - Open IT Asset Management
1 650 799 0949 | pombredanne at nexb.com
http://www.nexb.com



Philippe Ombredanne wrote:

> Let's work it out.
> The stuff is called the DOM inspector.
> It has real time access to all the DOM representation of a page
> displayed in the browser, together with point and click capabilities.
> Like that you could imagine a context where instead of recording
> everything, you could do selective recording, or give hints on what
> specifically you would want to record for test assertions...
> You could also have a system where no proxy is needed, and therefore
> everything including https, can be part of a recorded session.
> The code is mostly C++ with some Xul.
> Check http://www.mozilla.o​rg/projects/inspecto​r/ and
> http://www.brownhen.​com/DI.html and
> http://books.mozdev.​org/html/mozilla-app​-b-sect-3.html
> Here is what it looks like:

Frank Cohen wrote:
>I like the benefits you list: selective recording, avoids https proxy
>problem
>There are a couple of things I would like to accomplish:
>If possible, write it in Java so I can plug it into TestMaker
>Make it so it outputs Jython scripts and Java classes
>Make its output able to plug into my XSTest framework - that turns unit

>tests into scalability and load tests.
>
>Check out these:
>http://jrex.mozdev.o​rg/index.html
>http://jazilla.mcbri​dematt.dhs.org/

Frank Cohen wrote:
>> If possible, write it in Java so I can plug it into TestMaker

Philippe Ombredanne wrote:
> I am all for it. We develop all our software in Java and some Python.
> C++ is a pain...
> I like the two links you have sent below.
> Some of the things we could do:
> * I like the DOM inspector which already has all the logic,
> especially the point and click on wysiwyg stuffs in the pages
> to discover their DOM properties, without disturbing the
> browsing. It could be a way to do the selective marking of
> page elements eligible for recording. I.e. you could
> Ctrl-click on an input tag while browsing to make it part of
> the recording, or generate a specific assertion on the value
> of the element... Typically one way to get fairly robust
> access to a single element is a combination of :
> - tidy, and make the HTML well formed and XML well formed
> - get a relative anchor to some stable place in the HTML page
> (via regex or relative Xpath query)
> - from that node make absolute Xpath which will return stable results.
> The point and click could generate all the expressions
> necessary for that.
>
> Point and click may be hard to reproduce in an alternative
> Java implementation of Mozilla, but may-be not.
>
> * What we would need then would be a way that we can hook
> Java in the process, so we code most of our stuff in Java/Jython.
> It could be done may be with a simple JNI done just once to
> establish the hooks.

Frank Cohen wrote:
> >Make it so it outputs Jython scripts and Java classes
> >Make its output able to plug into my XSTest framework - that
> >turns unit tests into scalability and load tests.

Philippe Ombredanne wrote:
> One idea could be to output recordings in a language neutral
> way, i.e. XML, and to create transforms to emit Java, Python,
> HTTPUnit java scripts, Canoo web tests scripts, Maxq scripts,
> TestMaker/XSTests scripts, and even possibly Java or Python
> wrappers to the web pages, that could expose the recorded
> session as a web service, that you could call over and over.
> Also create a binding so apps can receive events generated by
> the recording in the DOM explorer.

-----Original Message-----
From: petersm [mailto:petersm at venzia dot com]
Sent: Monday, April 12, 2004 8:11 AM
To: MaxQ list
Subject: [maxq-users] anybody want these features?


Ok, after having used MaxQ for a few days, here are some ideas that I
would
like to run past everyone and see what the consensus is.

1 - I feel that MaxQ should easily be integrated into whatever other
tests
(unit, etc) that a team is doing on their web apps already. If we
provide
multiple language support (python, perl, tcl?, java?, etc) instead of
just
jython, then a team could use MaxQ to write tests that would be placed
with
their other tests and run at the same time. They would also be able to
manage,
update, modify, etc those tests as their project changes. I have already
begun
the research into making this possible with perl. I don't think it will
be
that hard to do. But maybe as we add more and more languages, we might
want to
consider changing the underlying structure to accomodate this. Or, maybe
not.
I'll find out more as I go along.

2 - Almost everytime I request a page I want to verify something other
than
whether it was successful or not. I want to check that the page contains
some
string or regular expression, etc. Maybe we could have someway to do
this from
the gui. It is easy enough to do this to the code afterwards but if I
could do
it in the gui as I am running my test and looking at the page that I
want to
test I feel it would be a great enhancement. Maybe something along these
lines
in the gui..

Test -> Page -> Contains (brings up a dialog box asking for a string to
use
for the test)
Test -> Page -> Contains RegEx (brings up a dialog box asking for a
regular
expression to use to test this page)

and maybe more as we think of them.

This would then generate the code right then and there.

Ok, now the invitation for feedback, criticism... :)
Go!

Michael Peters
Venzia

--------------------​--------------------​--------------------​---------
To unsubscribe, e-mail: users-unsubscribe@ma​xq.tigris.org
For additional commands, e-mail: users-help at maxq dot tigris dot org






--------------------​--------------------​--------------------​---------
To unsubscribe, e-mail: users-unsubscribe@ma​xq.tigris.org
For additional commands, e-mail: users-help at maxq dot tigris dot org

« Previous message in topic | 2 of 14 | Next message in topic »

Messages

Show all messages in topic

[maxq-users] anybody want these features? petersm <petersm at venzia dot com> petersm <petersm at venzia dot com> 2004-04-12 08:11:19 PDT
     RE: [maxq-users] anybody want these features? pombredanne Philippe Ombredanne 2004-04-12 08:44:52 PDT
         RE: [maxq-users] anybody want these features? petersm <petersm at venzia dot com> petersm <petersm at venzia dot com> 2004-04-12 09:03:17 PDT
             RE: [maxq-users] anybody want these features? pombredanne Philippe Ombredanne 2004-04-12 09:36:59 PDT
                 Re: [maxq-users] anybody want these features? fcohen Frank Cohen 2004-04-12 10:07:00 PDT
                     RE: [maxq-users] anybody want these features? pombredanne Philippe Ombredanne 2004-04-12 10:14:47 PDT
                         Re: [maxq-users] anybody want these features? James Cooper <pixel at bitmechanic dot com> James Cooper <pixel at bitmechanic dot com> 2004-04-13 16:35:28 PDT
                             Re: [maxq-users] anybody want these features? fcohen Frank Cohen 2004-04-13 16:49:41 PDT
                                 RE: [maxq-users] anybody want these features? pombredanne Philippe Ombredanne 2004-04-13 20:21:54 PDT
                                 Re: [maxq-users] anybody want these features? James Cooper <pixel at bitmechanic dot com> James Cooper <pixel at bitmechanic dot com> 2004-04-13 21:36:09 PDT
                                     Re: [maxq-users] anybody want these features? fcohen Frank Cohen 2004-04-14 07:10:10 PDT
                                         Re: [maxq-users] anybody want these features? petersm <petersm at venzia dot com> petersm <petersm at venzia dot com> 2004-04-14 07:56:46 PDT
                     Re: [maxq-users] anybody want these features? petersm <petersm at venzia dot com> petersm <petersm at venzia dot com> 2004-04-12 12:22:13 PDT
                         RE: [maxq-users] anybody want these features? pombredanne Philippe Ombredanne 2004-04-13 16:26:42 PDT
Messages per page: