I am running the tests against IE7 and all the tests are failing for TelluriumIssueTestCase as the test is not able to find the following element. //descendant-or-self::table[descendant::a and @id="resultstable" and @class="results"]/tbody/tr[child::th]/th[11]
I will update the version that I have and re-run the tests. Thanks Haroon 2009/4/15 John <[email protected]> > > BTW, I changed the code a bit to reduce the loop in the test. So, do > not compare > the results directly with the ones for Firefox. Also repeat count 2 > seems too low and may be > there are still some random effects. Haroon, if you run the tests, > please check out the latest > one form svn and set the repeat count to at least 10. > > Thanks, > > Jian > > On Apr 15, 5:49 pm, John <[email protected]> wrote: > > Finally, I got a Windows box and installed everything to run the > > benchmark test. Here are the results I got for IE 6.0: > > > > Final results: > > TestName: testFlowByDefaultXPath, TotalTime: 39268ms, RepeatCount: 2, > > AverageAccumulatedTime: 11164ms > > TestName: testFlowByJavascriptXPath, TotalTime: 34487ms, RepeatCount: > > 2, AverageAccumulatedTime: 10422ms > > TestName: testFlowByJQuerySelector, TotalTime: 26376ms, RepeatCount: > > 2, AverageAccumulatedTime: 6641ms > > TestName: testFlowByDefaultXPathNoGroup, TotalTime: 34080ms, > > RepeatCount: 2, AverageAccumulatedTime: 10734ms > > TestName: testFlowByJavascriptXPathNoGroup, TotalTime: 37612ms, > > RepeatCount: 2, AverageAccumulatedTime: 10727ms > > TestName: testFlowByJQuerySelectorNoGroup, TotalTime: 27408ms, > > RepeatCount: 2, AverageAccumulatedTime: 6976ms > > TestName: testGetDataByDefaultXPath, TotalTime: 73504ms, RepeatCount: > > 2, AverageAccumulatedTime: 36166ms > > TestName: testGetDataByJavascriptXPath, TotalTime: 70176ms, > > RepeatCount: 2, AverageAccumulatedTime: 34189ms > > TestName: testGetDataByJQuerySelector, TotalTime: 4437ms, > > RepeatCount: 2, AverageAccumulatedTime: 179ms > > > > Seems jQuery is much better than both XPath libraries from performance > > aspect, though still lower than what we expected. To be > > fair, we may need to run more tests for different types of webs. > > Could someone use our benchmark project as a template > > and donate some test code to us, or just report the results to us. > > > > Thanks, > > > > Jian > > > > On Apr 15, 2:31 pm, John <[email protected]> wrote: > > > > > Just came across a post discussing the jQuery selector speed, > > > > >http://www.nabble.com/selector-best-practice-td22032693s27240.html > > > > > Seems jQuery selector is slower than native DOM operators in Firefox. > > > But I still think it is a huge enhancement to Tellurium for the > > > following > > > reasons: > > > > > 1) jQuery hides browser details and you do not need to worry about > > > if your code may not work in other browsers > > > 2) jQuery selector can return multiple elements in one method call, > > > which > > > makes Tellurium much faster in some use cases such as getting data > > > from a big table. > > > 3) Tellurium engine will use jQuery and exploit the UI module so that > > > the UI module will be a speed bless instead of a curse. > > > > > Last but not the least, jQuery is designed to speed up the testing in > > > IE, > > > I still think we can get much better speed in IE. > > > > > On Apr 15, 2:12 pm, Jian Fang <[email protected]> wrote: > > > > > > Hi Dominicm, > > > > > > For abstract container, you do not need (should not actually, maybe I > gave > > > > bad examples in my tutorials?) to specify the clocator and you can > use > > > > > > ui.Container(uid:'coupon'){ > > > > > > > > Table(uid:'table',clocator:[id:'MVContentPredictionsTable']){ > > > > > Container(uid:"all",clocator:[:]){ > > > > > } > > > > > } > > > > > } > > > > > > Does the inner Container include any attributes in clocator? Could > you post > > > > the generated jQuery selector here? > > > > > > Also, you could run our benchmark project in IE if you have any time. > > > > > > Thanks, > > > > > > Jian > > > > > > On Wed, Apr 15, 2009 at 2:05 PM, dominicm < > [email protected]>wrote: > > > > > > > Hi John, > > > > > > > Forgot to mention that results were from IE. > > > > > > > The JQuery selector used was generated using Tellurium, so maybe > there > > > > > is some tuning to do. > > > > > > > It's probably inserting the "*" because of the abstract container > in > > > > > the ui module > > > > > > > ui.Container(uid:'coupon',clocator:[:]){ > > > > > > Table(uid:'table',clocator:[id:'MVContentPredictionsTable']){ > > > > > Container(uid:"all",clocator:[:]){ > > > > > } > > > > > } > > > > > } > > > > > > > If I remove the "*" then things are much faster. > > > > > > > In all cases the getText command does not return anything, although > > > > > the XPath version does. > > > > > > > On Apr 15, 6:22 pm, John <[email protected]> wrote: > > > > > > I added another set of tests without group locating and here are > the > > > > > > results I tested in my Linux box with Firefox 2. > > > > > > > > Final results: > > > > > > TestName: testFlowByDefaultXPath, TotalTime: 44432ms, > RepeatCount: 2, > > > > > > AverageAccumulatedTime: 13502ms > > > > > > TestName: testFlowByJavascriptXPath, TotalTime: 38527ms, > RepeatCount: > > > > > > 2, AverageAccumulatedTime: 13528ms > > > > > > TestName: testFlowByJQuerySelector, TotalTime: 42404ms, > RepeatCount: > > > > > > 2, AverageAccumulatedTime: 14776ms > > > > > > TestName: testFlowByDefaultXPathNoGroup, TotalTime: 38111ms, > > > > > > RepeatCount: 2, AverageAccumulatedTime: 13488ms > > > > > > TestName: testFlowByJavascriptXPathNoGroup, TotalTime: 41408ms, > > > > > > RepeatCount: 2, AverageAccumulatedTime: 13420ms > > > > > > TestName: testFlowByJQuerySelectorNoGroup, TotalTime: 54359ms, > > > > > > RepeatCount: 2, AverageAccumulatedTime: 14643ms > > > > > > TestName: testGetDataByDefaultXPath, TotalTime: 90851ms, > RepeatCount: > > > > > > 2, AverageAccumulatedTime: 44811ms > > > > > > TestName: testGetDataByJavascriptXPath, TotalTime: 91112ms, > > > > > > RepeatCount: 2, AverageAccumulatedTime: 44755ms > > > > > > TestName: testGetDataByJQuerySelector, TotalTime: 1665ms, > > > > > > RepeatCount: 2, AverageAccumulatedTime: 165ms > > > > > > > > Where TotalTime is the total test run time, RepeatCount is the > number > > > > > > of repeated tests. AverageAccumulatedTime is the average time > > > > > > for the time the code spent on a list of test methods that we > think > > > > > > are not affected by network latency, which should be more > accurate > > > > > > than the TotalTime. > > > > > > > > Seems jQuery Selector is a bit slower than XPath in Firefox, but > > > > > > almost at the same speed (This also means there are room for us > > > > > > to improve the jQuery selector). But for Bulk data, jQuery is way > > > > > > better since it only uses one method call. > > > > > > > > Hope someone can checkout the benchmark project and provide us > the > > > > > > results in IE and other web browsers. > > > > > > > > Thanks, > > > > > > > > Jian > > > > > > > > On Apr 15, 12:30 pm, Jian Fang <[email protected]> wrote: > > > > > > > > > Also, why you have * before "table#MVContentPredictionsTable"? > "*" > > > > > matches > > > > > > > all and does not really contribute > > > > > > > to anything, but may cause some performance problem, thus > jQuery > > > > > selector > > > > > > > will automatically skip that. Could you remove the "*" and > re-run the > > > > > code? > > > > > > > > > Thanks, > > > > > > > > > Jian > > > > > > > > > On Wed, Apr 15, 2009 at 12:01 PM, dominicm < > [email protected] > > > > > >wrote: > > > > > > > > > > Hi All, > > > > > > > > > > I've conducted some very basic relative timings for JQuery vs > XPath > > > > > > > > selectors in Selenium, using the same rather old and > difficult > > > > > > > > frontend code as I used when baselining css selectors. > > > > > > > > > > Code is as follows: > > > > > > > > > > Use faster XPath library > > > > > > > > sel.useXpathLibrary("javascript"); > > > > > > > > sel.isElementPresent("//descendant-or-self::*/descendant-"+ > > > > > > > > "or-self::tab...@id='MVContentPredictionsTable']/tbody/tr[child::td] > > > > > > > > [8]/td[5]/des"+ > > > > > > > > "cendant-or-self::*"); > > > > > > > > > > sel.getText("//descendant-or-self::*/descendant-"+ > > > > > > > > "or-self::tab...@id='MVContentPredictionsTable']/tbody/tr[child::td] > > > > > > > > [8]/td[5]/des"+ > > > > > > > > "cendant-or-self::*"); > > > > > > > > > > sel.isElementPresent("jquery=* > table#MVContentPredictionsTable > > > > > > tbody > > > > > > > > > tr:has(td):eq(8) > td:eq(5)"); > > > > > > > > sel.getText("jquery=* table#MVContentPredictionsTable > tbody > > > > > > > tr:has > > > > > > > > (td):eq(8) > td:eq(5)"); > > > > > > > > > > Performance for the above for both JQuery and css was > appalling, > > > > > > > > taking over 2 minutes in total, compared to 20secs for XPath. > > > > > > > > > > The only way I could get JQ to respond in a decent time > (4secs) was > > > > > to > > > > > > > > modify the selector to > > > > > > > > "jquery=*#MVContentPredictionsTable > tbody > > tr:has(td):eq(8) > > > > > > td:eq > > > > > > > > (5)" > > > > > > > > but this did not find the correct element- Hide quoted text - > > > > > > > > - Show quoted text - > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "tellurium-users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/tellurium-users?hl=en -~----------~----~----~----~------~----~------~--~---
