Closed
Bug 636191
Opened 14 years ago
Closed 14 years ago
Mozmill Endurance test for launching new tabs from Panorama
Categories
(Mozilla QA Graveyard :: Mozmill Tests, defect)
Mozilla QA Graveyard
Mozmill Tests
Tracking
(Not tracked)
VERIFIED
FIXED
People
(Reporter: u279076, Assigned: u279076)
References
Details
(Whiteboard: [mozmill-endurance][mozmill-panorama])
Attachments
(1 file, 3 obsolete files)
3.79 KB,
patch
|
whimboo
:
review+
|
Details | Diff | Splinter Review |
+++ This bug was initially created as a clone of Bug #636080 +++
Create a Mozmill Endurance test for memory footprint of opening new tabs in the main window vs panorama view.
Steps:
1. Start a new session
2. Open Panorama view
3. Click the + button in the tab group
4. Repeat from step 2 until 100 tabs are open
This test should be able to chart memory footprint before, during, and after.
Assignee: nobody → anthony.s.hughes
Status: NEW → ASSIGNED
Attachment #514990 -
Flags: review?(dave.hunt)
Comment 2•14 years ago
|
||
Comment on attachment 514990 [details] [diff] [review]
Patch v1
Looks good. Henrik could you please review?
Results for 100 iterations can be found here:
http://mozmill.blargon7.com/#/endurance/report/fbec1ff25afea97c50cc0889e2002e18
Attachment #514990 -
Flags: review?(hskupin)
Attachment #514990 -
Flags: review?(dave.hunt)
Attachment #514990 -
Flags: review+
Comment 3•14 years ago
|
||
Comment on attachment 514990 [details] [diff] [review]
Patch v1
>+++ b/firefox/enduranceTests/testTabbedBrowsing/testCreateNewTabInPanorama.js
Can we stick with 'open' and not 'create'? Should probably also apply to the other patch I have reviewed a minute ago.
>+var Endurance = require("../../../shared-modules/endurance");
>+var Tabs = require("../../../shared-modules/tabs");
>+var TabView = require("../../../shared-modules/tabview");
Imported module names should not use capital letters at the beginning of the name.
>+function setupModule() {
>+ controller = mozmill.getBrowserController();
>+ enduranceManager = new Endurance.EnduranceManager(controller);
>+
>+ tabBrowser = new Tabs.tabBrowser(controller);
>+ tabBrowser.closeAllTabs();
>+
>+ tabView = new TabView.tabView(controller);
nit: It would be cleaner if all instantiations of classes would happen right after each other, followed by the single closeAllTabs call.
>+function testCreateNewTabs() {
Create vs. Open
>+ enduranceManager.addCheckpoint("Load a web page in a new tab");
>+ controller.open(LOCAL_TEST_PAGE);
It's not a new tab.
>+ // Open a new tab via Panorama
>+ enduranceManager.addCheckpoint("Open a new tab via Panorama");
>+ tabView.open();
Do we also want to measure how long it takes to open the TabView?
>+ // Click the new tab button for the active group
>+ var group = tabView.getElement({
>+ type: "groups",
>+ subtype: "active"
>+ });
That should be tabView.getGroups({filter: "active"});
>+ var newTabButton = tabView.getElement({
>+ type: "group_newTabButton",
>+ parent: group
>+ });
>+ tabView.controller.click(newTabButton);
That's tabView.open({group: activeGroup});
Attachment #514990 -
Flags: review?(hskupin) → review-
(In reply to comment #3)
> Comment on attachment 514990 [details] [diff] [review]
> Patch v1
>
> >+++ b/firefox/enduranceTests/testTabbedBrowsing/testCreateNewTabInPanorama.js
>
> Can we stick with 'open' and not 'create'? Should probably also apply to the
> other patch I have reviewed a minute ago.
What's the difference? Please explain.
> >+ enduranceManager.addCheckpoint("Load a web page in a new tab");
> >+ controller.open(LOCAL_TEST_PAGE);
>
> It's not a new tab.
It's the new tab which is created at the end of the previous iteration.
> >+ // Click the new tab button for the active group
> >+ var group = tabView.getElement({
> >+ type: "groups",
> >+ subtype: "active"
> >+ });
>
> That should be tabView.getGroups({filter: "active"});
I tried using that method and it fails to get the active tab group. This is the only method which works.
> >+ var newTabButton = tabView.getElement({
> >+ type: "group_newTabButton",
> >+ parent: group
> >+ });
> >+ tabView.controller.click(newTabButton);
>
> That's tabView.open({group: activeGroup});
Should it not be the variable that I've assigned the group to? As you've already seen in the code above, I call it "group" not "activeGroup".
Comment 5•14 years ago
|
||
(In reply to comment #4)
> > Can we stick with 'open' and not 'create'? Should probably also apply to the
> > other patch I have reviewed a minute ago.
>
> What's the difference? Please explain.
Ok, lets keep it as it is. Just checked again our existing tab browser tests and open we should only use when a link gets opened in a new tab.
> > >+ enduranceManager.addCheckpoint("Load a web page in a new tab");
> > >+ controller.open(LOCAL_TEST_PAGE);
> >
> > It's not a new tab.
>
> It's the new tab which is created at the end of the previous iteration.
That's the previous iteration, so it's not new. But we can use "blank" instead.
> > That should be tabView.getGroups({filter: "active"});
>
> I tried using that method and it fails to get the active tab group. This is
> the only method which works.
What failed? If it is not working then soemthing in the code base has been changed and the API needs to be updated. But don't add workarounds for code we own ourselves. Run the test for the module under helperClasses to verify.
> > That's tabView.open({group: activeGroup});
>
> Should it not be the variable that I've assigned the group to? As you've
> already seen in the code above, I call it "group" not "activeGroup".
That was just an example.
Tested patch and it works beautifully with the recent tabViewAPI changes.
Attachment #514990 -
Attachment is obsolete: true
Attachment #516630 -
Flags: review?(hskupin)
Attachment #516630 -
Attachment is patch: true
Attachment #516630 -
Attachment mime type: application/octet-stream → text/plain
Comment on attachment 516630 [details] [diff] [review]
Patch v1.1
Sorry, I forgot something on this patch. Followup coming.
Attachment #516630 -
Flags: review?(hskupin)
Attachment #516631 -
Flags: review?(hskupin)
Attachment #516630 -
Attachment is obsolete: true
Comment 9•14 years ago
|
||
Comment on attachment 516631 [details] [diff] [review]
Patch v1.2
>+ activeTabView = new tabView.tabView(controller);
Just a note... that's a real downside of having a small first letter for module variables.
>+ enduranceManager.addCheckpoint("Load a web page in a new tab");
Can you please do the changes as you have made for:
http://hg.mozilla.org/qa/mozmill-tests/rev/eeb8014a7a46
>+ enduranceManager.addCheckpoint("Open a new tab via Panorama");
Anthony, can you please standardize the name we want to use for Panorama/TabView/Tab Groups tests? We should use the same name across the tests to avoid confusion. Aaron has checked in a patch today which mentioned Tab Groups, as listed in the all tabs menu.
I would love to see this test checked in before our testday tomorrow. Would that be possible Anthony?
Attachment #516631 -
Flags: review?(hskupin) → review-
Assignee | ||
Comment 10•14 years ago
|
||
Attachment #516631 -
Attachment is obsolete: true
Attachment #516721 -
Flags: review?(hskupin)
Updated•14 years ago
|
Attachment #516721 -
Flags: review?(hskupin) → review+
Assignee | ||
Comment 11•14 years ago
|
||
Comment on attachment 516721 [details] [diff] [review]
Patch v1.3 [checked-in]
Landed:
http://hg.mozilla.org/qa/mozmill-tests/rev/2ef376db037b [default]
Attachment #516721 -
Attachment description: Patch v1.3 → Patch v1.3 [checked-in]
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Status: RESOLVED → VERIFIED
Whiteboard: [mozmill-endurance][mozmill-panorama]
Updated•6 years ago
|
Product: Mozilla QA → Mozilla QA Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•