@BeforeGroups/@AfterGroups

classic Classic list List threaded Threaded
22 messages Options
12
Reply | Threaded
Open this post in threaded view
|

@BeforeGroups/@AfterGroups

Simon Raveh

Hi,

After reading all the posts regarding this subject it is still not
clear to me what the behaver should be.

I have this simple case

public abstract class Base {

    @BeforeGroups(value = "a", groups = "a")
    public void setUp() throws Exception {
        System.out.println("class is " + getClass().getName() + " Befor
group  ");
    }

    @AfterGroups(value = "a", groups = "a")
    public void tearDown(){
        System.out.println("class is " + getClass().getName() + " After
group  ");
    }

}


public class TestA extends Base{

    @Test(groups = "a")
    public void testA() throws Exception {
        System.out.println("class is " + getClass().getName() + " test
method is testA");
    }
}

public class TestB extends Base{

    @Test(groups = "a")
    public void testB() throws Exception {
        System.out.println("class is " + getClass().getName() + " test
method is testB");
    }
}

My assumption was that the sequence of method calls will be as follow:

1. BeforeGroup method call
2. test method
3. test method
4. AfterGroup method call

But this is not what happened.
Running it in Intellij IDEA I get

class is web.TestA Befor group
class is web.TestA test method is testA
class is web.TestA After group
class is web.TestB test method is testB

As you can see the before/after group methods are not called for the
second class.

Any help will appreciate.

Simon


--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups "testng-users" group.
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
For more options, visit this group at http://groups.google.com/group/testng-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

Re: @BeforeGroups/@AfterGroups

Alexandru Popescu ☀

Hi!

The result depends on what exactly do you run :-). Are you running the
group "a"? Are you running  one of the test classes? etc.

Also, please keep in mind that sometimes for complex scenarios with
Before/After groups the plugins may get tricked - as it is quite
difficult to determine where there are any @Before/@After group
methods and where do they live (f.e. the Eclipse plugin issues a
warning if it finds groups usages when trying to run classes,
methods).

./alex
--
.w( the_mindstorm )p.
  TestNG co-founder
EclipseTestNG Creator


On 12/19/06, sraveh <[hidden email]> wrote:

>
> Hi,
>
> After reading all the posts regarding this subject it is still not
> clear to me what the behaver should be.
>
> I have this simple case
>
> public abstract class Base {
>
>     @BeforeGroups(value = "a", groups = "a")
>     public void setUp() throws Exception {
>         System.out.println("class is " + getClass().getName() + " Befor
> group  ");
>     }
>
>     @AfterGroups(value = "a", groups = "a")
>     public void tearDown(){
>         System.out.println("class is " + getClass().getName() + " After
> group  ");
>     }
>
> }
>
>
> public class TestA extends Base{
>
>     @Test(groups = "a")
>     public void testA() throws Exception {
>         System.out.println("class is " + getClass().getName() + " test
> method is testA");
>     }
> }
>
> public class TestB extends Base{
>
>     @Test(groups = "a")
>     public void testB() throws Exception {
>         System.out.println("class is " + getClass().getName() + " test
> method is testB");
>     }
> }
>
> My assumption was that the sequence of method calls will be as follow:
>
> 1. BeforeGroup method call
> 2. test method
> 3. test method
> 4. AfterGroup method call
>
> But this is not what happened.
> Running it in Intellij IDEA I get
>
> class is web.TestA Befor group
> class is web.TestA test method is testA
> class is web.TestA After group
> class is web.TestB test method is testB
>
> As you can see the before/after group methods are not called for the
> second class.
>
> Any help will appreciate.
>
> Simon
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups "testng-users" group.
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
For more options, visit this group at http://groups.google.com/group/testng-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

Re: @BeforeGroups/@AfterGroups

Cédric Beust ♔
In reply to this post by Simon Raveh
Indeed I'm seeing this behavior, it looks like a bug...

We'll look into it.

Thanks!

--
Cedric


On 12/19/06, sraveh < [hidden email]> wrote:

Hi,

After reading all the posts regarding this subject it is still not
clear to me what the behaver should be.

I have this simple case

public abstract class Base {

    @BeforeGroups(value = "a", groups = "a")
    public void setUp() throws Exception {
        System.out.println("class is " + getClass().getName() + " Befor
group  ");
    }

    @AfterGroups(value = "a", groups = "a")
    public void tearDown(){
        System.out.println("class is " + getClass().getName() + " After
group  ");
    }

}


public class TestA extends Base{

    @Test(groups = "a")
    public void testA() throws Exception {
        System.out.println("class is " + getClass().getName() + " test
method is testA");
    }
}

public class TestB extends Base{

    @Test(groups = "a")
    public void testB() throws Exception {
        System.out.println("class is " + getClass().getName() + " test
method is testB");
    }
}

My assumption was that the sequence of method calls will be as follow:

1. BeforeGroup method call
2. test method
3. test method
4. AfterGroup method call

But this is not what happened.
Running it in Intellij IDEA I get

class is web.TestA Befor group
class is web.TestA test method is testA
class is web.TestA After group
class is web.TestB test method is testB

As you can see the before/after group methods are not called for the
second class.

Any help will appreciate.

Simon


--
Cédric
--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups "testng-users" group.
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
For more options, visit this group at http://groups.google.com/group/testng-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

Re: @BeforeGroups/@AfterGroups

tarun3kumar
The same problem exists with Eclipse plugin and Ant task as well. I attach files to prove the bug.
I also wonder why the Before/AfterGroups and Before/AfterSuite run only if the class contains a test. I don't think it's right because such methods should initialize something statically (for example, a database connection) that actual tests will refer to. I'd prefer not to subclass them without need.

Thanks,
Oleg
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=54277&messageID=110535#110535

--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups "testng-users" group.
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
For more options, visit this group at http://groups.google.com/group/testng-users?hl=en
-~----------~----~----~----~------~----~------~--~---


tests.zip (4K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: @BeforeGroups/@AfterGroups

Alexandru Popescu ☀

On 12/27/06, Oleg Galkin <[hidden email]> wrote:
> The same problem exists with Eclipse plugin and Ant task as well. I attach files to prove the bug.
> I also wonder why the Before/AfterGroups and Before/AfterSuite run only if the class contains a test. I don't think it's right because such methods should initialize something statically (for example, a database connection) that actual tests will refer to. I'd prefer not to subclass them without need.
>

What version are you using?

./alex
--
.w( the_mindstorm )p.
  TestNG co-founder
EclipseTestNG Creator

> Thanks,
> Oleg
> ---------------------------------------------------------------------
> Posted via Jive Forums
> http://forums.opensymphony.com/thread.jspa?threadID=54277&messageID=110535#110535
>
> >
>
>
>

--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups "testng-users" group.
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
For more options, visit this group at http://groups.google.com/group/testng-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

@BeforeGroups/@AfterGroups

tarun3kumar

5.4
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=54277&messageID=110543#110543


--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups "testng-users" group.
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
For more options, visit this group at http://groups.google.com/group/testng-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

Re: @BeforeGroups/@AfterGroups

Alexandru Popescu ☀

On 12/27/06, Oleg Galkin <[hidden email]> wrote:
>
> 5.4

The fix is available only in SVN trunk and hopefully in the
development 5.5beta version available from the site.

./alex
--
.w( the_mindstorm )p.
  TestNG co-founder
EclipseTestNG Creator

> ---------------------------------------------------------------------
> Posted via Jive Forums
> http://forums.opensymphony.com/thread.jspa?threadID=54277&messageID=110543#110543
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups "testng-users" group.
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
For more options, visit this group at http://groups.google.com/group/testng-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

@BeforeGroups/@AfterGroups

tarun3kumar

> The fix is available only in SVN trunk and hopefully
> in the
> development 5.5beta version available from the site.

Does it run Before/AfterGroups for classes without test methods?

Thanks,
Oleg
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=54277&messageID=110561#110561


--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups "testng-users" group.
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
For more options, visit this group at http://groups.google.com/group/testng-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

@BeforeGroups/@AfterGroups

tarun3kumar
In reply to this post by Alexandru Popescu ☀

> The fix is available only in SVN trunk and hopefully
> in the
> development 5.5beta version available from the site.

I've tried the tests with 5.5beta. It works now but nevertheless Before/AfterGroups declared in classes without test methods aren't invoked.

Thanks,
Oleg
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=54277&messageID=110569#110569


--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups "testng-users" group.
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
For more options, visit this group at http://groups.google.com/group/testng-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

Re: @BeforeGroups/@AfterGroups

Cédric Beust ♔
Hi Oleg,

On 12/27/06, Oleg Galkin <[hidden email]> wrote:

> The fix is available only in SVN trunk and hopefully
> in the
> development 5.5beta version available from the site.

I've tried the tests with 5.5beta. It works now but nevertheless Before/AfterGroups declared in classes without test methods aren't invoked.

If you have code in your Before/AfterGroups that should always be run, regardless of whether that particular group contains methods, why not move that code in a Before/AfterSuite?

--
Cédric
--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups "testng-users" group.
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
For more options, visit this group at http://groups.google.com/group/testng-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

Re: @BeforeGroups/@AfterGroups

Alexandru Popescu ☀
On 12/27/06, C dric Beust   <[hidden email]> wrote:

> Hi Oleg,
>
> On 12/27/06, Oleg Galkin <[hidden email]> wrote:
> >
> > > The fix is available only in SVN trunk and hopefully
> > > in the
> > > development 5.5beta version available from the site.
> >
> > I've tried the tests with 5.5beta. It works now but nevertheless
> Before/AfterGroups declared in classes without test methods aren't invoked.
>
> If you have code in your Before/AfterGroups that should always be run,
> regardless of whether that particular group contains methods, why not move
> that code in a Before/AfterSuite?
>

I think the OP is asking about Before/AfterGroups (that must be run
around some groups) but are declared in classes that do not contain
test methods. At the first glance I would say that this should work,
as long as the declaring class is included in the test definition.

./alex
--
.w( the_mindstorm )p.
  TestNG co-founder
EclipseTestNG Creator

>  --
> C dric
>
>  >
>

--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups "testng-users" group.
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
For more options, visit this group at http://groups.google.com/group/testng-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

Re: @BeforeGroups/@AfterGroups

tarun3kumar
In reply to this post by Cédric Beust ♔

> If you have code in your Before/AfterGroups that
> should always be run,
> regardless of whether that particular group contains
> methods, why not move
> that code in a Before/AfterSuite?

Sometimes it's helpful to have some initialization around a group of tests but not the whole suite. Anyway, it seems to me it can be done using Before/AfterTest with a group. BTW, does it make sense to add one more attribute to Before/AfterTest to specify around which tests they should be run explicitly? Though, it can be simulated now with groups.

Playing with Before/After I've noticed another issue. Before/AfterMethod are invoked around each test method independent of which groups the test method and Before/AfterMethod belong to. So a BeforeMethod of group A will be invoked before a test method of group B. On the one hand, it looks reasonable because if a test includes both the groups all their methods should be run. On the other hand, it can discourage. What do you think?
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=54277&messageID=110763#110763


--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups "testng-users" group.
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
For more options, visit this group at http://groups.google.com/group/testng-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

Re: @BeforeGroups/@AfterGroups

tarun3kumar
In reply to this post by Alexandru Popescu ☀

> I think the OP is asking about Before/AfterGroups
> (that must be run
> around some groups) but are declared in classes that
> do not contain
> test methods. At the first glance I would say that
> this should work,
> as long as the declaring class is included in the
> test definition.

You're right. I wonder why their behaviour differs from Before/AfterSuite or Before/AfterTest that don't require any test method.
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=54277&messageID=110766#110766


--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups "testng-users" group.
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
For more options, visit this group at http://groups.google.com/group/testng-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

Re: @BeforeGroups/@AfterGroups

Alexandru Popescu ☀

On 12/28/06, Oleg Galkin <[hidden email]> wrote:

>
> > I think the OP is asking about Before/AfterGroups
> > (that must be run
> > around some groups) but are declared in classes that
> > do not contain
> > test methods. At the first glance I would say that
> > this should work,
> > as long as the declaring class is included in the
> > test definition.
>
> You're right. I wonder why their behaviour differs from Before/AfterSuite or Before/AfterTest that don't require any test method.

I will check this :-).

./alex
--
.w( the_mindstorm )p.
  TestNG co-founder
EclipseTestNG Creator

> ---------------------------------------------------------------------
> Posted via Jive Forums
> http://forums.opensymphony.com/thread.jspa?threadID=54277&messageID=110766#110766
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups "testng-users" group.
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
For more options, visit this group at http://groups.google.com/group/testng-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

Re: @BeforeGroups/@AfterGroups

Alexandru Popescu ☀
In reply to this post by tarun3kumar

On 12/28/06, Oleg Galkin <[hidden email]> wrote:
>
> > If you have code in your Before/AfterGroups that
> > should always be run,
> > regardless of whether that particular group contains
> > methods, why not move
> > that code in a Before/AfterSuite?
>
> Sometimes it's helpful to have some initialization around a group of tests but not the whole suite. Anyway, it seems to me it can be done using Before/AfterTest with a group. BTW, does it make sense to add one more attribute to Before/AfterTest to specify around which tests they should be run explicitly? Though, it can be simulated now with groups.
>

I don' think this would be needed, as we already have the @Before/@After Groups.

> Playing with Before/After I've noticed another issue. Before/AfterMethod are invoked around each test method independent of which groups the test method and Before/AfterMethod belong to. So a BeforeMethod of group A will be invoked before a test method of group B. On the one hand, it looks reasonable because if a test includes both the groups all their methods should be run. On the other hand, it can discourage. What do you think?

I expect this behavior if you have a non-group run (meaning that you
are running a group of classes or a suite definition in which you do
not define which exact groups to be run).

In case the above is not true, can you please send over (even
privately) a testcase that will reproduce the problem?

./alex
--
.w( the_mindstorm )p.
  TestNG co-founder
EclipseTestNG Creator

> ---------------------------------------------------------------------
> Posted via Jive Forums
> http://forums.opensymphony.com/thread.jspa?threadID=54277&messageID=110763#110763
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups "testng-users" group.
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
For more options, visit this group at http://groups.google.com/group/testng-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

Re: @BeforeGroups/@AfterGroups

tarun3kumar
> I expect this behavior if you have a non-group run
> (meaning that you
> are running a group of classes or a suite definition
> in which you do
> not define which exact groups to be run).
>
> In case the above is not true, can you please send
> over (even
> privately) a testcase that will reproduce the
> problem?

Attached.
Test definition does include which groups to run. But it includes two groups: a and b. The output is:

beforeMethodB
beforeMethodA
TestA.testA
beforeGroupsB
beforeMethodB
beforeMethodA
TestA.testB
afterGroupsB
beforeMethodB
beforeMethodA
TestB.testA
beforeMethodB
beforeMethodA
TestB.testB

beforeMethodA and testA belongs to group A and beforeMethodB and testB - to B.
TestNG version is 5.5beta.

Thanks,
Oleg
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=54277&messageID=110960#110960

--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups "testng-users" group.
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
For more options, visit this group at http://groups.google.com/group/testng-users?hl=en
-~----------~----~----~----~------~----~------~--~---


tests.zip (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: @BeforeGroups/@AfterGroups

tarun3kumar

> TestNG version is 5.5beta.

Oops, sorry. It was for 5.4. The output for 5.5 beta is a bit different:

beforeMethodB
beforeMethodA
TestA.testA
beforeGroupsB
beforeMethodB
beforeMethodA
TestA.testB
beforeMethodB
beforeMethodA
TestB.testA
beforeMethodB
beforeMethodA
TestB.testB
afterGroupsB
---------------------------------------------------------------------
Posted via Jive Forums
http://forums.opensymphony.com/thread.jspa?threadID=54277&messageID=110961#110961


--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups "testng-users" group.
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
For more options, visit this group at http://groups.google.com/group/testng-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

Re: @BeforeGroups/@AfterGroups

Alexandru Popescu ☀

Thank Oleg. Gonna look into this right away.

./alex
--
.w( the_mindstorm )p.
  TestNG co-founder
EclipseTestNG Creator


On 12/29/06, Oleg Galkin <[hidden email]> wrote:

>
> > TestNG version is 5.5beta.
>
> Oops, sorry. It was for 5.4. The output for 5.5 beta is a bit different:
>
> beforeMethodB
> beforeMethodA
> TestA.testA
> beforeGroupsB
> beforeMethodB
> beforeMethodA
> TestA.testB
> beforeMethodB
> beforeMethodA
> TestB.testA
> beforeMethodB
> beforeMethodA
> TestB.testB
> afterGroupsB
> ---------------------------------------------------------------------
> Posted via Jive Forums
> http://forums.opensymphony.com/thread.jspa?threadID=54277&messageID=110961#110961
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups "testng-users" group.
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
For more options, visit this group at http://groups.google.com/group/testng-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

Re: @BeforeGroups/@AfterGroups

Alexandru Popescu ☀
In reply to this post by tarun3kumar

Oleg, I have quickly checked the attached code and here is what I
would expect to happen, considering the suite definition:

From the Abstract class:

a) beforeGroupsB: should be run at some point before any test method
in group b is invoked

(so before any of  TestA.testB or TestB.testB were invoked)

b) afterGroupsB: should be run after all test methods belonging to
group b were invoked

(so afetr TestA.testB and TestB.testB were invoked)

c) beforeMethodB: should be invoked before any test method, as its
group is included in the current run

d) beforeMethodA: should be invoked before any test method, as its
group is included in the current run

I think there is a small confusion: the groups attribute on the
@BeforeMethod defines if the method is included in some groups or not.
Once it is included, then it will run before each test method (there
is no other dependency between it and the running @Tests - I guess you
were expecting to see a @BeforeMethod running before a specific @Tests
because they belong to the same group, but this is not the inteded
behavior).

Concluding the output you are seeing fro 5.5b is exactly what you
should expect from the run.

hth,

./alex
--
.w( the_mindstorm )p.
  TestNG co-founder
EclipseTestNG Creator

--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups "testng-users" group.
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
For more options, visit this group at http://groups.google.com/group/testng-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

Re: @BeforeGroups/@AfterGroups

Alexandru Popescu ☀

Oh and by the way: the current SVN trunk codebase will run
@Before/@AfterGroups methods defined in classes that are not defining
@Test methods as long as the class is included in the sutie definition
file.

./alex
--
.w( the_mindstorm )p.
  TestNG co-founder
EclipseTestNG Creator

--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups "testng-users" group.
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
For more options, visit this group at http://groups.google.com/group/testng-users?hl=en
-~----------~----~----~----~------~----~------~--~---

12