Thanks Ashish (and Peter in 1st place ;o)

I will put this in "my" FAQ

Jacques

De : "Ashish Vijaywargiya" <[EMAIL PROTECTED]>
> Hi ,
>
> Before few days I had asked questions on Selenium test cases.
> I had included the email address of Peter Goron in that email.
> I got excellent reply from him so thought to share with community memeber.
>
> Peter,
> Thanks for your kind reply.
> I am sharing the contents of your email on the mailing list.I hope it won't
> be of any problem for you.
> I will get back to you with more questions  :-)
>
> Here is the contents of Peter's reply :
> ---------------------------------------------------------------------------------------------------------------------------
> Hi Ashish,
>
> My answers are inline.
>
>
> > Dear Peter,
> >
> > Thanks for your kind reply.
> > I was waiting for reponse on this topic.
> > But I thought that you would be busy so didn't ping you again.
> >
>
> >> >         Ashish Vijaywargiya sent the following on 7/15/2007 10:32 AM:
> >> >         > Hi,
> >> >         >
> >> >         > We are trying to prepare selenium test cases on Ofbiz for
> >> >         client
> >> >         > demonstration.
> >> >         > We are facing some issues with those test cases.
> >> >         >
> >> >         > 1) For running "successive" test cases I used browser
> >> >         "Refresh" button
> >> >         > but I
> >> >         > think there might be some better option to handle this.
> >> >         > Is there any option exists in Selenium IDE ??
> I'm not sure to understand what you try to do.
>
> If you want to chain execution of different tests, there is the notion of
> test suite. A list of tests to run one after the other (see
>
http://labs.libre-entreprise.org/plugins/scmcvs/cvsweb.php/ofbizNeogia/neogia/manufacturing/webapp/manufacturing/tests/ManufacturingTestSuite.html?rev=1.9;content-type=text%2Fplain;cvsroot=neogia
> )
>
> Otherwise if you just want to replay the same test in a loop, I'm not
> aware of a such feature in selenium. Bur if the loop is finite, you can
> achieve a similar result by using a test suite that refers x times the
> same test.
>
> >> >         > 2) Suppose I have a condition to create the new user each
> >> >         time.
> >> >         > As I can put the value of user login say "user1" for the
> >> >         first time but
> >> >         > when
> >> >         > this test case runs second time it generates error (It hangs
> >> >         up in
> >> >         > between).
> >> >         > So Is there any option to put a "counter" or Javascript code
> >> >         in the Test
> >> >         > cases so I could create the "user2" when this test case runs
> >> >         second time ??
>
> The general problem behind you issue is how to run a test multiple times
> wihtout risking duplicated primary keys or having to remove all data
> created by the test.
>
> One solution is to always create business objects with different
> identifiers. Selenium provides a nice feature to do that:
> you can define variables during the test execution and use them anywhere
> in the test script after their creation.
>
> Here an example based on one of my test
> (
>
http://labs.libre-entreprise.org/plugins/scmcvs/cvsweb.php/ofbizNeogia/neogia/manufacturing/webapp/manufacturing/tests/TestCreateNomenclature.html?rev=1.6;content-type=text%2Fplain;cvsroot=neogia
> )
>
> <!-- create a variable named uid that contains an unique identifier -->
> <tr>
>        <td>store</td>
>        <td>javascript{(new Date()).getTime() % 10000}</td>
>        <td>uid</td>
> </tr>
>
>
> <!-- use of the variable named uid to fill a form entry -->
> <tr>
>        <td>type</td>
>        <td>partyId</td>
>        <td>user-${uid}</td>
> </tr>
> - Show quoted text -
>
>
> >> >         > 3) What is the difference between click and clickAndWait ??
> >> >         > I would like to understand why I'm getting different
> >> >         behaviors from click
> >> >         > and clickAndWait functions. Here is the scenario:
> >> >         > I want to perform the login and then verify some text on the
> >> >         page (what
> >> >         > should be pretty straight forward...) My first approach was
> >> >         using the click
> >> >         > function + pause function. Something like below:
> >> >         >
> >> >         > <tr>
> >> >         > <td>click</td>
> >> >         > <td>submit</td>
> >> >         > <td></td>
> >> >         > </tr>
> >> >         >
> >> >         > <tr>
> >> >         > <td>pause</td>
> >> >         > <td>3000</td>
> >> >         > <td></td>
> >> >         > </tr>
> >> >         >
> >> >         > The approach above worked fine and I was able to proceed
> >> >         with my test.
> >> >         > However, I was looking the clickAndWait functionality and,
> >> >         per my
> >> >         > understanding, this function should have a simlar behavior
> >> >         to my code
> >> >         > above.. then I wrote the following:
> >> >         >
> >> >         > <tr>
> >> >         > <td>clickAndWait</td>
> >> >         > <td>submit</td>
> >> >         > <td></td>
> >> >         > </tr>
> >> >         >
> >> >         > The code above is getting a "Permission Denied" message. I
> >> >         already check
> >> >         > the
> >> >         > URLs and I'm not launching a different domain (before I
> >> >         click I have
> >> >         > http://domain/Login/ and after the submission I have
> >> >         http://domain/App/).
>
> I think the right solution is to use clickAndWait command instead of
> click+pause because it always success contrary to click+pause (we dont
> known the page response time).
>
> I see no reason why you don't observe the same behavior with clickAndWait.
> Maybe it's because your are testing the login page that can be a little
> tricky to test due to the session handling.
>
> To be sure to always start a test in a clean session, my tests always do
> the same actions :
> 1. logoff
> 2. login
> 3. check error
>
> Here, an example of my standard login procedure under selenium  from
> (
>
http://labs.libre-entreprise.org/plugins/scmcvs/cvsweb.php/ofbizNeogia/neogia/manufacturing/webapp/manufacturing/tests/TestProcessRouting.html?rev=1.2;content-type=text%2Fplain;cvsroot=neogia
> )
> <!-- Begin of standard login procedure -->
> <tr>
>  <td>open</td>
>  <td>/manufacturing/control/logout</td>
>  <td></td>
> </tr>
> <tr>
>  <td>type</td>
>  <td>USERNAME</td>
>  <td>admin</td>
> </tr>
> <tr>
>  <td>type</td>
>  <td>PASSWORD</td>
>  <td>ofbiz</td>
> </tr>
> <tr>
>  <td>select</td>
>  <td>locale</td>
>  <td>value=fr</td>
> </tr>
> <tr>
>  <td>clickAndWait</td>
>  <td>submitButton</td>
>  <td></td>
> </tr>
> <tr>
>  <td>assertElementNotPresent</td>
>  <td>//[EMAIL PROTECTED]'errorMessage']</td>
>  <td></td>
> </tr>
> <!-- End of standard login procedure -->
>
>
>
> Best regards,
>
> Peter Goron
> --------------------------------------------------------
>
> On 7/15/07, Ashish Vijaywargiya <[EMAIL PROTECTED]>
> wrote:
> >
> > Hi,
> >
> > We are trying to prepare selenium test cases on Ofbiz for client
> > demonstration.
> > We are facing some issues with those test cases.
> >
> > 1) For running "successive" test cases I used browser "Refresh" button but
> > I think there might be some better option to handle this.
> > Is there any option exists in Selenium IDE ??
> >
> > 2) Suppose I have a condition to create the new user each time.
> > As I can put the value of user login say "user1" for the first time but
> > when this test case runs second time it generates error (It hangs up in
> > between).
> > So Is there any option to put a "counter" or Javascript code in the Test
> > cases so I could create the "user2" when this test case runs second time ??
> >
> > 3) What is the difference between click and clickAndWait ??
> > I would like to understand why I'm getting different behaviors from click
> > and clickAndWait functions. Here is the scenario:
> > I want to perform the login and then verify some text on the page (what
> > should be pretty straight forward...) My first approach was using the click
> > function + pause function. Something like below:
> >
> > <tr>
> > <td>click</td>
> > <td>submit</td>
> > <td></td>
> > </tr>
> >
> > <tr>
> > <td>pause</td>
> > <td>3000</td>
> > <td></td>
> > </tr>
> >
> > The approach above worked fine and I was able to proceed with my test.
> > However, I was looking the clickAndWait functionality and, per my
> > understanding, this function should have a simlar behavior to my code
> > above.. then I wrote the following:
> >
> > <tr>
> > <td>clickAndWait</td>
> > <td>submit</td>
> > <td></td>
> > </tr>
> >
> > The code above is getting a "Permission Denied" message. I already check
> > the URLs and I'm not launching a different domain (before I click I have
> > http://domain/Login/ and after the submission I have http://domain/App/).
> >
> >
> > I know that so many persons are using Selenium IDE since very long.
> > I am also looking at Selenium Forum for help but early help from Ofbiz
> > community members would be greatly appreciated.
> >
> > --
> > Thanks & Regards
> > Ashish Vijaywargiya
> > Indore , India
> >
> >
> -- 
> Thanks & Regards
> Ashish Vijaywargiya
> Indore, India
>

Reply via email to