Mike just to give a short intro if you look at this example
https://gist.github.com/1271104

You see basically an example with one testgroup and one testcase
What happens here is that a testgroup is specified which can hold one or more testcases
and a simple ajax textcase is specified, with the default behavior.
What happens is
a) Internally a setup method is called which sets the system up
it is overwritten in this case.

b) a precondition method is called (currently not overwritten)
if this method returns false then the test has failed and the execution on the test is stopped

c) a run method is called which performs some runtime operation, in our case the ajax call is started

d) a postcondition now is called after the ajax cycle has successfully completed which does the asserts

e) a tearDown method is called internally

Any error from the ajax side also would make the test fail

Most of the tests follow this pattern, some inherit the standard testcases to adjust the control.

Currently the tests simply are analyzed on group level and the logging output and final result of each group test are put into the browsers console and a console logging area.

I will refine the API more now that I know other people are interested, but let me finish the server side statisitics collector first. Then I will stabilize the api, I am in some aspects still not quite happy with it. So expect some changes in the upcoming 2-3 weeks.



Werner




Am 10/7/11 4:16 PM, schrieb Mike Kienenberger:
Werner,

Well, I think I've answered my own question regarding the maven issues
-- changing the version from 2.1.4-snapshot to 2.1.3  makes things
work.

One thing I noticed is that your starting link location of
"http://localhost:9080/TestScripts/"; seems to be a broken link.  Using
http://localhost:9080/ and going from there seems to work.

On Fri, Oct 7, 2011 at 10:03 AM, Mike Kienenberger<mkien...@gmail.com>  wrote:
Hi Werner.

Since I have had a lot of "wait" issues with ajax + Selenium testing
my own JSF apps, I tried to take a look at what you were doing to see
if I could write my own app jsf tests using your new framework.

However, I am getting the following installation/build errors.   I'm
still on ant as I've never taken the time to learn the intricacies of
maven, so I'm not sure what needs to be done to fix them.   I'm
guessing it's because snapshot files don't exist in the public
repositories?   So I'd either need to build my own snapshot files and
install them as directed, or re-point maven to a specific released
build version?

Also, am I right in thinking your framework can be used for generic
JSF app testing?   Or is that some future goal not yet achieved?


1) org.apache.myfaces.core:myfaces-api:jar:2.1.4-SNAPSHOT

[...]

  Path to dependency:
        1) com.mycompany:IntegrationJSTest:war:1.0-SNAPSHOT
        2) org.apache.myfaces.core:myfaces-api:jar:2.1.4-SNAPSHOT

2) org.apache.myfaces.core:myfaces-impl:jar:2.1.4-SNAPSHOT

[...]

  Path to dependency:
        1) com.mycompany:IntegrationJSTest:war:1.0-SNAPSHOT
        2) org.apache.myfaces.core:myfaces-impl:jar:2.1.4-SNAPSHOT



On Fri, Oct 7, 2011 at 4:36 AM, Werner Punz<werner.p...@gmail.com>  wrote:
Thats what I am working on, my personal idea is, to run the tests and then
have a final result page which then can be analyzed by selenium.
Hence i was talking about having a server side statistics collector which
collects all the results over all pages.

It simply is better to have the tests themselves performed by javascript
because there you can deal better with the dom and with the jsf lifecycle.
In Selenium you only can issue wait ... seconds wheras
my tests directly can intercept the jsf lifecycle with listeners.


Werner


Am 10/7/11 10:30 AM, schrieb Mark Struberg:

I see.
Is there a way to kick this tests with Selenium? Of course only with
firefox - but better than nothing ;)

LieGrue,
strub



----- Original Message -----

From: Werner Punz<werner.p...@gmail.com>
To: dev@myfaces.apache.org
Cc:
Sent: Friday, October 7, 2011 10:14 AM
Subject: Re: [ANN] MyFaces jsf.js integration tests hosted on apache
extras

T here is one small reason. The tests run directly in the browser instead
of htmlunit (which has a lot of bugs, hence I shun it i already
had two adjustments regarding it in other tests)

So how do we run the tests in maven in 5 different browser engines,
three of them being windows only.
Dont get me wrong htmlunit is nice, but it does not give reliable
results when it comes to javascript and emulating browser quirks.


Thats the only reason.

Werner


Am 10/7/11 9:42 AM, schrieb Mark Struberg:

  woha, big +1 and thanks for the hard work.

  Btw, why not hosting it directly over here as a test module for MyFaces

core which could get executed before doing releases?

  LieGrue,
  strub



  ----- Original Message -----

  From: Werner Punz<werner.p...@gmail.com>
  To: dev@myfaces.apache.org
  Cc:
  Sent: Friday, October 7, 2011 8:57 AM
  Subject: Re: [ANN] MyFaces jsf.js integration tests hosted on apache

extras

  Am 9/29/11 9:35 PM, schrieb Werner Punz:

    Hello everyone, I just wanted everyone to know, that I am

currently in

    the process of cleaning up and dumping my jsf.js client side

javascript

    integration tests collected over the last year onto apache

extras.

    The project is hosted at


http://code.google.com/a/apache-extras.org/p/myfaces-js-integrationtests/

    and can be checked out via git. It is by far not done yet, so far

i have

    converted about 20% of my usually manually run javascript tests

to a

    small ajax jsf specific testing framework and also some server

side

    statistic collection has yet to be done but you already can have

a look.

    This project also in the future will be my primary workbench for

the

    javascripts before merging them into the trunk and branches.

    You already can have a look and run the tests, the explanation

can be

    found on the projects site.


    Werner


  Hi Just a short status update, I now have about 20 tests checked in

with

  13 testgroups. I also added Mojarra as optional test target. I found
  promptly three bugs, which I will forward to the Mojarra guys in the
  next week.

  The only stuff pending now is some cleanup and a server side test
  statistic so that we can get the test results into a final result
page.











Reply via email to