Closed Bug 599866 Opened 14 years ago Closed 12 years ago

Update restart test module testMultipleExtensionInstallation to reflect the new Add-ons API

Categories

(Mozilla QA Graveyard :: Mozmill Tests, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: aaronmt, Unassigned)

References

Details

Attachments

(1 file, 2 obsolete files)

      No description provided.
Assignee: nobody → aaron.train
Status: NEW → ASSIGNED
Depends on: 600052
Attached patch WIP v1 (obsolete) — Splinter Review
An update on this one. I'm running into a problem before the second add-on is installed, where the test is continuing (it will restart and begin test2.js) and ignore the second countdown in the modal dialog. I'd appreciate if you ran this Henrik so you can see it.

Here is the WIP v1. Not sure what's up with that.
Comment on attachment 480236 [details] [diff] [review]
WIP v1

While I'm checking a drive-by review...

>+++ b/firefox/restartTests/testMultipleExtensionInstallation/test1.js
[..]
> const TIMEOUT = 5000;
>-const gInstallTimeout = 10000;

Please leave the install timeout but simply reduce the time.

>+const ADDONS = [{
>+  extensionName: "DOM Inspector",
>+  extensionId: "inspector@mozilla.org",
>+  extensionURL: "https://addons.mozilla.org/en-US/firefox/addon/6622/"
>+ },{
>+  extensionName: "Mozilla QA Companion",
>+  extensionId: "{667e9f3d-0096-4d2b-b171-9a96afbabe20}",
>+  extensionURL: "https://addons.mozilla.org/en-US/firefox/addon/5428/"
>+ }

I would prefer to use ACR and QAC. Also strip the "extension" part from all keys please.

>+  for each(var addon in persisted.addons) {

persisted.addons.forEach()

>+    // Switch to the Extensions pane
>+    var category = addonsManager.getCategoryById({id: "extensions"});
>+    addonsManager.setCategory({category: category});

setCategoryById

>+    // Check some properties of the ready to be installed extension
>+    var installedAddon = addonsManager.getAddons({
>+                  attribute: "name", 
>+                  value: addon.extensionName
>+                })[0];

Please fix the indentation. Also use the guid.

>+    // Check if the restart and undo links and remove button are present
>+    // XXX: Bug 599771
>+    //var restartLink = am.getAddonLink({addon: addon, link: "restart"});
>+    //controller.assertNodeExist(restartLink);
>+    var undoLink = addonsManager.getAddonLink({
>+                     addon: installedAddon,
>+                     link: "undo"
>+                   });
>+    controller.assertNode(undoLink);

Undo is not necessary here.

>+    var removeButton = addonsManager.getAddonButton({
>+                         addon: installedAddon,
>+                         button: "remove"
>+                       });
>+    controller.assertNode(removeButton);

Same for remove.

>+  controller.assertJS("subject.extensions[0].name == subject.extensionName", {
>+    extensions: itemElem.childNodes, 
>+    extensionName: persisted.currentAddon.extensionName
>+  });

.assert please.

>-  // Will the extension be installed from https://preview.addons.mozilla.org/?
>-  var isAMOUrl = itemElem.childNodes[0].url.indexOf('preview.addons.mozilla.org') != -1;
>+  // Will the extension be installed from https://addons.mozilla.org
>+  var isAMOUrl = itemElem.childNodes[0].url.indexOf('addons.mozilla.org') != -1;
>   controller.assertJS("subject.isExtensionFromAMO == true",
>                       {isExtensionFromAMO: isAMOUrl});

Please don't change the urls. We still want to use preview.

>+++ b/firefox/restartTests/testMultipleExtensionInstallation/test2.js
[..]
>+  // Switch to the Extensions pane
>+  var category = addonsManager.getCategoryById({id: "extensions"});
>+  addonsManager.setCategory({category: category});

setCategoryById

>+  for each(var addon in persisted.addons) {

forEach again.


The reason why it stops could be the usage of 'for each'. Please replace it with forEach and test again.
Attachment #480236 - Flags: feedback-
Depends on: 599682
Depends on: 599771
Attached patch WIP v2 (obsolete) — Splinter Review
forEach is cool, and am using it but it doesn't resolve the issue. I've spent a few hours trying to figure out what's happening on the second pass. What's happening is that on the second pass, when the software dialog comes up, the test is supposed to wait like it has on the first pass, but the test continues. I've attached the WIP, would be good if you can try it out and see.
Attachment #480236 - Attachment is obsolete: true
Attachment #480795 - Attachment is patch: true
Attachment #480795 - Attachment mime type: application/octet-stream → text/plain
Forgot to mention, the problem will go away if you sleep before the AOM opens, so we need to wait for something to fix the issue, just not sure what to wait for.
the patch cannot be applied cleanly. Can you please update it?
Attached patch WIP v3Splinter Review
I've removed the opening and checking of the add-ons in the AMO for the time being, but the issue with the countdown timer still exists.

Try this out. I bet you'll know what to wait for when the install dialog comes up the second time and the test continues.
Attachment #480795 - Attachment is obsolete: true
Depends on: 604759
No longer depends on: 604759
Move of Mozmill Test related project bugs to newly created components. You can
filter out those emails by using "Mozmill-Tests-to-MozillaQA" as criteria.
Product: Testing → Mozilla QA
Version: Trunk → unspecified
Don't have time available to rewrite/unbitrot 4.0 addon tests. Opening up assignment.
Assignee: aaron.train → nobody
Status: ASSIGNED → NEW
This test has been rewritten on bug 671315 -> invalid.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → INVALID
Product: Mozilla QA → Mozilla QA Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: