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 >
