{ "info": { "author": "Mozilla Automation and Testing Team", "author_email": "tools@lists.mozilla.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "[Mozmill](https://developer.mozilla.org/en/Mozmill) is a test tool and\nUI automation framework for writing tests and other automation scripts\nfor Gecko based applications like Firefox and Thunderbird.\nIt's built as a [python](http://python.org) command-line tool. The python package provides a\nmechanism for running the tests from the command line as well as\nproviding a way to test restarting the application.\nMozmill has an extensive API to help you write functional tests that\nsimulate user interactions.\n\nThe [Mozmill test automation project](https://wiki.mozilla.org/QA/Mozmill_Test_Automation)\nwas started in January 2009 and covers the automation work for\nFirefox. Checkout the [project page](https://wiki.mozilla.org/QA/Mozmill_Test_Automation)\nor have a look at the\n[Mozmill Tests documentation](https://developer.mozilla.org/en/Mozmill_Tests)\nto get an impression of how to contribute in writing and running\n[Mozmill tests](https://developer.mozilla.org/en/Mozmill_Tests).\nExisting tests get run in the\n[release testing](https://developer.mozilla.org/en/Mozmill/Release_Testing)\ncycle for new major or security releases of Firefox.\n\nAlso the Mozilla Messaging team has an active project which handles\n[Thunderbird Testing with Mozmill](https://developer.mozilla.org/en/Thunderbird/Thunderbird_MozMill_Testing).\n\n\n# Installation\n\nMozmill is available as a python package.\nSee [the installation page](./Installation) for instructions for how\nto get Mozmill set up on your system.\n\n\n# Python Client\n\nThe [Mozmill python package](http://pypi.python.org/pypi/mozmill)\ninvokes and runs a Gecko application, performs automatic test scripting,\nand accumulates and reports results.\n\n\n## Running the command line client\n\nAfter [installing](./Installation)\nthe python package you can run Mozmill with the `mozmill` command.\nThe `mozmill` command is run with one or more test (`-t mytest.js`) or \ntest manifest (`-m manifest.ini`):\n\n mozmill -m functional_tests.ini \n mozmill -t mytest.js -t myothertest.js\n\n`mozmill --help` displays the available command-line options and more\nin-depth information about the command line utility. For the format\nand usage of test manifests, see\nhttp://hg.mozilla.org/automation/ManifestDestiny/file/tip/README.txt .\n\n\n## Control flow\n\nThe Mozmill python package bundles the Mozmill and [jsbridge](./jsbridge)\nextensions into a profile on invocation.\n\nMozmill is run like:\n\n mozmill -app firefox -b path/to/binary -t path/to/test.js [options]\n\nThis will do the following:\n\n- the application, in this case `firefox`, will be looked for by\n [mozrunner](/en/Mozrunner)\n\n- a [profile object](/en/Mozprofile) will be created of the type\n appropriate to the application under test\n\n- a [python-javascript bridge](./jsbridge) will be created which will\n be used to communicate between the python runner and the JavaScript\n testing environment\n\n- the `test.js` file will be sent over the jsbridge where it is\n loaded and executed (see: \n [resource://mozmill/modules/frame.js](https://github.com/mozilla/mozmill/blob/master/mozmill/mozmill/extension/resource/modules/frame.js) )\n\n- events will be sent from JavaScript back to python where they will\n be listened for \n (see: [resource://mozmill/modules/frame.js](https://github.com/mozilla/mozmill/blob/master/mozmill/mozmill/extension/resource/modules/frame.js) )\n\n- upon test run conclusion, the results will be reported by \n [pluggable event handlers](./EventHandlers)\n\n\n## Example API Usage\n\nSince Mozmill 2.0, the \n[MozMill class](https://github.com/mozilla/mozmill/blob/master/mozmill/mozmill/__init__.py)\nis usable as a robust API. An example API usage is available at\nhttps://github.com/mozilla/mozmill/tree/master/mozmill .\n\n\n## Architecture\n\nPython Mozmill is a test harness and an event dispatcher.\n\nThe Mozmill python package is built of a number of different package dependencies:\n\n- [jsbridge](./jsbridge) : python to JavaScript bridge interface\n- [mozrunner](/en/Mozrunner) : Reliable start/stop/configuration of Mozilla Applications (Firefox, Thunderbird, etc.)\n- [mozinfo](/en/Mozinfo) : unified Mozilla interface to system information\n- [manifestparser](http://hg.mozilla.org/automation/ManifestDestiny) : parses test and addon manifests\n\nSee [Architecture](./Architecture) for additional information on \nprogram design.\n\n\n## Event Dispatching\n\nMozmill dispatches events from the JavaScript tests and modules to the\npython runner. See [Event Handlers](./EventHandlers) for how this works.\n\n\n## Getting Data to and From the Tests\n\nIt is desirable to transfer data to and from the JavaScript tests. There\nare a few mechanisms to do so:\n\n- [event handlers](./EventHandlers) send data from the JavaScript\n application layer to the python harness\n- the `persisted` object: a \n [JSObject](https://github.com/mozilla/mozmill/blob/master/jsbridge/jsbridge/jsobjects.py)\n that is persisted between tests\n even if the application under test is shutdown or restarted. Each\n [MozMill](https://github.com/mozilla/mozmill/blob/master/mozmill/mozmill/__init__.py)\n instance carries a `persisted` object. The amount of\n persisted data must be kept small, however, or [jsbridge](./jsbridge) will fail.\n- create your own \n [JSObject](https://github.com/mozilla/mozmill/blob/master/jsbridge/jsbridge/jsobjects.py)\n for finer-tuned control getting data to and from the tests. \n\nSee also \n[Bug 668550 - python should have some way of transfering data to the test on the JS side](https://bugzilla.mozilla.org/show_bug.cgi?id=668550)\n\n\n## Python Callbacks\n\nJavaScript tests may invoke arbitrary python using the `PythonCallbacks`\n[event handler](./EventHandlers) included with Mozmill. The \n[mozmill JavaScript module](https://github.com/mozilla/mozmill/blob/master/mozmill/mozmill/extension/resource/modules/mozmill.js)\nhas the `firePythonCallback()` function, which takes the `filename`,\nthe name of the `method` in the file, a list of ordered `args`, and a\n`kwargs` object. This function will dispatch a\n`mozmill.firePythonCallback` [event](./EventHandlers) to the\n[mozmill.python_callbacks module](https://github.com/mozilla/mozmill/blob/master/mozmill/mozmill/python_callbacks.py)\nwhich will import and fire the appropriate callback. The `filename`\nis relative to the location of the JavaScript test file. Note that any\nreturn value from the python callback will not be sent to the\nJavaScript test or otherwise utilized.\n\n\nSee the `mutt` \n[python_callbacks.js test](https://github.com/mozilla/mozmill/blob/master/mutt/mutt/tests/js/frame/python_callback.js)\nand accompanying [python_callbacks.py](https://github.com/mozilla/mozmill/blob/master/mutt/mutt/tests/js/frame/python_callback.py)\nfor an example.\n\nIt is important for successful runs that the python callback is fired\nsuccessfully. Otherwise a [jsbridge](./jsbridge) error will occur via\nthe python error and the harness will fail.\n\n\n## Restart and Shutdown\n\nJavaScript tests may initiate shutdown and restart of the\nbrowser. There are two types of shutdown/restart events:\n\n- user shutdown : the test indicates a shutdown or restart. This does\n not stop the browser but indicates that a further action will cause\n a restart or shutdown (such as triggering `Ctrl+Q`)\n- runner shutdown : the test tells the runner to shutdown or restart, \n potentially giving a next test to run in the same file.\n\nBoth cases fire an [event](./EventHandlers), `mozmill.userShutdown`,\nthat lets the python harness anticipate the type of shutdown or\nrestart. The following parameters are sent with the event:\n\n- `user` : true or false; whether the shutdown was signalled by a\n \"user\" event\n- `restart`: true or false; whether the shutdown is a restart or not\n- `next`: name of the next test function to run, in the current test\n file, if any; otherwise the next test file (if any) will be run\n- `resetProfile`: true or false; whether to reset the profile to the\n beginning state. Note that this is not available to user restart\n events as there is a race condition that does not permit the profile\n to be reliably reset before application restart\n\nSee the methods `startUserShutdown`, `restartApplication`, and\n`stopApplication` on the \n[MozMillController](https://github.com/mozilla/mozmill/blob/master/mozmill/mozmill/extension/resource/modules/controller.js)\nfor specifics.\n\nAdditionally, `mozmill --restart` signals a harness restart between\nevery test file. This is good for isolating test behaviour, but\nnegative in that the browser restart causes the run to take longer.\n\n\n# Learning Mozmill Testing\n\n- [Introduction to Mozmill](https://developer.mozilla.org/en/Mozmill/First_Steps/Tutorial%3a_Introduction_to_Mozmill) :\n detailed tutorial that walks through introducing each Mozmill API object as it is needed\n- [Mozmill tests](https://developer.mozilla.org/en/Mozmill_Tests) :\n how to setup and run the [QA](http://quality.mozilla.org/) \n [mozmill tests](http://hg.mozilla.org/qa/mozmill-tests/)\n\nThere is API documentation for the Mozmill JavaScript tests.\n\n\n## Mozmill Test API\n\n- [controller object reference](https://developer.mozilla.org/en/Mozmill/Mozmill_Controller_Object)\n- [element object reference](https://developer.mozilla.org/en/Mozmill/Mozmill_Element_Object) (**Mozmill 2.0+**)\n- [finding mozmill elements](https://developer.mozilla.org/en/Mozmill/Finding_Mozmill_Elements) (**Mozmill 2.0+**)\n- [mozmill object reference](https://developer.mozilla.org/en/Mozmill/Mozmill_Base_Object_Interfaces)\n- [extending the element hierarchy](https://developer.mozilla.org/en/Mozmill/Mozmill_Element_Object/Extending_the_MozMill_element_hierarchy)\n- [elementslib object reference](https://developer.mozilla.org/en/Mozmill/Mozmill_Elements_Library_Object)\n (*deprecated in Mozmill 2.0* - see \n [finding mozmill elements](https://developer.mozilla.org/en/Mozmill/Finding_Mozmill_Elements))\n- [assertions API reference](https://developer.mozilla.org/en/Mozmill/Mozmill_Unit_Test_Framework)\n\n\n# Finding and Reporting Bugs\n\nMozmill is under active development. Check out the \n[Auto-tools Mozmill project page](https://wiki.mozilla.org/Auto-tools/Projects/Mozmill)\nfor information on development. If you think you've found a bug in Mozmill,\nplease check the \n[list of existing bugs](https://bugzilla.mozilla.org/buglist.cgi?resolution=---&component=Mozmill&product=Testing). \nIf your found bug is not listed there, please \n[file a new bug](https://bugzilla.mozilla.org/enter_bug.cgi?product=Testing&component=Mozmill)\nin [bugzilla](https://bugzilla.mozilla.org/)\nunder the \"Testing\" Product and \"Mozmill\" Component. Please\nprovide as much as possible details and attach the Mozmill test if\navailable, which shows the problem. Thanks for helping us make Mozmill\nbetter! \n\n\n# Updating the Documentation\n\nThe [MDN](http://developer.mozilla.org/en/Mozmill) pages are mirrored\nfrom the [mozmill repository](https://github.com/mozilla/mozmill).\nSee the notes on our [documentation strategy](./Documentation) .\n\n\n# Resources\n\nSeveral online resources exist for Mozmill:\n\n- [MDN Mozmill page](http://developer.mozilla.org/en/Mozmill)\n- [github repository](https://github.com/mozilla/mozmill)\n- [Python Package Index page](http://pypi.python.org/pypi/mozmill)\n- [Auto-tools Mozmill project page](https://wiki.mozilla.org/Auto-tools/Projects/Mozmill) \n for the development of Mozmill\n\nIn addition a `#mozmill` channel exists on irc://irc.mozilla.org/\n. Please stop by and say hi!", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/mozilla/mozmill", "keywords": "mozilla", "license": "http://www.mozilla.org/MPL/2.0/", "maintainer": null, "maintainer_email": null, "name": "mozmill", "package_url": "https://pypi.org/project/mozmill/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/mozmill/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/mozilla/mozmill" }, "release_url": "https://pypi.org/project/mozmill/2.0.10.2/", "requires_dist": null, "requires_python": null, "summary": "UI Automation tool for Mozilla applications", "version": "2.0.10.2" }, "last_serial": 1683582, "releases": { "1.5.0": [ { "comment_text": "", "digests": { "md5": "10acdbf6c0b1edd68b94ce5e56c19644", "sha256": "b26938a8912bc1d68d306f88b39dc61a356cd6b04041040c256c5afe155f2464" }, "downloads": -1, "filename": "mozmill-1.5.0.tar.gz", "has_sig": false, "md5_digest": "10acdbf6c0b1edd68b94ce5e56c19644", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 551272, "upload_time": "2011-06-15T09:41:00", "url": "https://files.pythonhosted.org/packages/81/9b/2280db90e256645116fa404efa8ea19b93d0cc94548986932d73c8319459/mozmill-1.5.0.tar.gz" } ], "1.5.1": [ { "comment_text": "", "digests": { "md5": "8dd7ffc81c7740d748208d63c78fe0b8", "sha256": "769f5a7935a7b6247004514dc0b86190eeb8cadb014c6566adb58301e350b6eb" }, "downloads": -1, "filename": "mozmill-1.5.1.tar.gz", "has_sig": false, "md5_digest": "8dd7ffc81c7740d748208d63c78fe0b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 557115, "upload_time": "2011-06-15T09:41:31", "url": "https://files.pythonhosted.org/packages/3d/75/fa83d006addba87b425d919461421a191e1fe5c03b777cb233a8f363a492/mozmill-1.5.1.tar.gz" } ], "1.5.11": [ { "comment_text": "", "digests": { "md5": "bb8581f9274d0fb534ec84750785aa95", "sha256": "8a29e79d8a42db097224cad7e15f6862d460191396540f1f9fc35e3797de23f1" }, "downloads": -1, "filename": "mozmill-1.5.11.tar.gz", "has_sig": false, "md5_digest": "bb8581f9274d0fb534ec84750785aa95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 557416, "upload_time": "2012-04-18T02:07:39", "url": "https://files.pythonhosted.org/packages/fd/86/2ec8c326ca5593b0e86d539ba7d84287aac0542ba17449394c003ee60d4d/mozmill-1.5.11.tar.gz" } ], "1.5.12": [ { "comment_text": "", "digests": { "md5": "f10af029b704ada68142d362f0b581fd", "sha256": "3c53ce708b05faacc74b65da21244bf18d593e3dedc95d3b809ea938be4ec7d5" }, "downloads": -1, "filename": "mozmill-1.5.12.tar.gz", "has_sig": false, "md5_digest": "f10af029b704ada68142d362f0b581fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 557850, "upload_time": "2012-05-07T10:17:21", "url": "https://files.pythonhosted.org/packages/55/78/61f81b8be62fb3f548363d65f859ace979849ebc247122eb5b00f8d6c234/mozmill-1.5.12.tar.gz" } ], "1.5.13": [ { "comment_text": "", "digests": { "md5": "6adfabee1351d647ca3042ce887b236a", "sha256": "791af6f8ecdddb9ab1e9c7aeb9b939ac43acfc186b71f3503fe658553294f473" }, "downloads": -1, "filename": "mozmill-1.5.13.tar.gz", "has_sig": false, "md5_digest": "6adfabee1351d647ca3042ce887b236a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 561794, "upload_time": "2012-06-15T21:48:34", "url": "https://files.pythonhosted.org/packages/94/7d/6be5e68c02cc848cad2ba58f26e00d1c13c1292f7fbae17049929a296ac8/mozmill-1.5.13.tar.gz" } ], "1.5.14": [ { "comment_text": "", "digests": { "md5": "966a0e80d423bac77ee865be0a55a085", "sha256": "6bc6005fe4281ff722c7b03ef52df1231b3a036c45747d202dbf1e0de63e25f1" }, "downloads": -1, "filename": "mozmill-1.5.14.tar.gz", "has_sig": false, "md5_digest": "966a0e80d423bac77ee865be0a55a085", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 561553, "upload_time": "2012-07-18T19:51:25", "url": "https://files.pythonhosted.org/packages/30/46/b22dffda3ef0e6ad5d58f6c38ac30cf5fd2ccb533353ef1fa7bed74b637f/mozmill-1.5.14.tar.gz" } ], "1.5.15": [ { "comment_text": "", "digests": { "md5": "80733d04cbdf153fbb3a58c0c0ce3fa4", "sha256": "e6d80a8c39ecd7af4b8e39ac3dd150d170113ff9ab6d6007910e031225ef7ae7" }, "downloads": -1, "filename": "mozmill-1.5.15.tar.gz", "has_sig": false, "md5_digest": "80733d04cbdf153fbb3a58c0c0ce3fa4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 561562, "upload_time": "2012-07-18T23:08:13", "url": "https://files.pythonhosted.org/packages/b8/08/151e7418ea44fc3b600ff3d67df6c7fe41c96f162d3e4ad460cd2b73a72d/mozmill-1.5.15.tar.gz" } ], "1.5.16": [ { "comment_text": "", "digests": { "md5": "45b890b1b6768168bdf5e562968c57c3", "sha256": "54b164d3b0883f6e968ea8635e53270165973c74bdfb2e8dc64fab1fa56e2680" }, "downloads": -1, "filename": "mozmill-1.5.16.tar.gz", "has_sig": false, "md5_digest": "45b890b1b6768168bdf5e562968c57c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 561918, "upload_time": "2012-07-23T21:12:05", "url": "https://files.pythonhosted.org/packages/40/16/8955b839423d208520acf4d2f8099c4052773dc70e41a33e50e6ac320989/mozmill-1.5.16.tar.gz" } ], "1.5.17": [ { "comment_text": "", "digests": { "md5": "b862004d893a6c7b5737c68a7828aa26", "sha256": "c5f0cadacefcaa29d4fe0aec86e878878cd28b53ccf3f0ec622a7eaba0849efd" }, "downloads": -1, "filename": "mozmill-1.5.17.tar.gz", "has_sig": false, "md5_digest": "b862004d893a6c7b5737c68a7828aa26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 561994, "upload_time": "2012-07-25T20:02:48", "url": "https://files.pythonhosted.org/packages/36/9f/c61771a15bd793fb49b3c59d2ac251dea00e56a9dbc753598cfc52a4e4a1/mozmill-1.5.17.tar.gz" } ], "1.5.18": [ { "comment_text": "", "digests": { "md5": "4c18ce4cfc4e5a7c0c0ac1a7f96afc35", "sha256": "11e9a7f07ddba37468f66025135adfa2b038b190580f083f6d081519e4aad2a0" }, "downloads": -1, "filename": "mozmill-1.5.18.tar.gz", "has_sig": false, "md5_digest": "4c18ce4cfc4e5a7c0c0ac1a7f96afc35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 562046, "upload_time": "2012-08-25T07:11:10", "url": "https://files.pythonhosted.org/packages/df/bb/4741f4678ecc041de1f36717325f72ef117bd5ac3713378588537609ecef/mozmill-1.5.18.tar.gz" } ], "1.5.19": [ { "comment_text": "", "digests": { "md5": "bc41aff7004b28d322829850216b383a", "sha256": "9a9b386dbd309d8cfd58b1150b91c35d8240b7504c2d1b5ce25668db1e0a8596" }, "downloads": -1, "filename": "mozmill-1.5.19.tar.gz", "has_sig": false, "md5_digest": "bc41aff7004b28d322829850216b383a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 562084, "upload_time": "2012-10-01T20:52:54", "url": "https://files.pythonhosted.org/packages/0e/38/e53bd1bb2d23256904e6fcb2efde6da6c5841cde7f15b1f2d0d3ce99c720/mozmill-1.5.19.tar.gz" } ], "1.5.2": [ { "comment_text": "", "digests": { "md5": "018157b9f6d4231af8d698f1291f28a8", "sha256": "07cd26258f632018c063d75c751adc95eb10ebe6183b9321ae8e097bd97b01b2" }, "downloads": -1, "filename": "mozmill-1.5.2.tar.gz", "has_sig": false, "md5_digest": "018157b9f6d4231af8d698f1291f28a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 558934, "upload_time": "2011-06-15T09:41:51", "url": "https://files.pythonhosted.org/packages/30/fa/15ee4e057e96a3d7f58f803c247eaf3485b702e8743a472726e8bbf743f4/mozmill-1.5.2.tar.gz" } ], "1.5.20": [ { "comment_text": "", "digests": { "md5": "a4adfb5e2ea3a9dfa73b0f201d5624f9", "sha256": "a7dd44550704796281abb6467ae1d907664db87b22f5253e8b1505d4273dc915" }, "downloads": -1, "filename": "mozmill-1.5.20.tar.gz", "has_sig": false, "md5_digest": "a4adfb5e2ea3a9dfa73b0f201d5624f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 562081, "upload_time": "2013-01-26T21:54:58", "url": "https://files.pythonhosted.org/packages/f8/4b/83375e252c82bb6a7a90afae087271bf94e65d464d73e372866d5ad90ce6/mozmill-1.5.20.tar.gz" } ], "1.5.21": [ { "comment_text": "", "digests": { "md5": "57f8af671a59324eff6324e9ddc9a9f0", "sha256": "b3faa253e92e5c6e6fd19258501adfe3d5373d3253d21595b024ce18cdd758a9" }, "downloads": -1, "filename": "mozmill-1.5.21.tar.gz", "has_sig": false, "md5_digest": "57f8af671a59324eff6324e9ddc9a9f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 562115, "upload_time": "2013-02-22T11:10:03", "url": "https://files.pythonhosted.org/packages/5f/88/b728cec58deb3254011a73b26f24b594cd393079709d914d24e8bc302e29/mozmill-1.5.21.tar.gz" } ], "1.5.22": [ { "comment_text": "", "digests": { "md5": "2b765350716454cb82eaf1523187ac34", "sha256": "4cca3fae4e45467dc17fb2a7a3976748033fe530def5fff61641ac08fceb3549" }, "downloads": -1, "filename": "mozmill-1.5.22.tar.gz", "has_sig": false, "md5_digest": "2b765350716454cb82eaf1523187ac34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 559920, "upload_time": "2013-08-28T08:22:46", "url": "https://files.pythonhosted.org/packages/47/bf/0dcf943dae31a2c00e20c9ee8b6f9b6a4e97326076e71c27234fde5ca624/mozmill-1.5.22.tar.gz" } ], "1.5.23": [ { "comment_text": "", "digests": { "md5": "3d6ee36cd9a222ac38551fa5f3c52ff5", "sha256": "12482522745e7123bbbdd5540cf8b5d67049502c71408629278ea06fd66709e5" }, "downloads": -1, "filename": "mozmill-1.5.23.tar.gz", "has_sig": false, "md5_digest": "3d6ee36cd9a222ac38551fa5f3c52ff5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 559916, "upload_time": "2013-09-24T14:57:13", "url": "https://files.pythonhosted.org/packages/47/ee/1a31f347669ef2404924beb07f7104a078982cc0ef1e6f1a9534386656cc/mozmill-1.5.23.tar.gz" } ], "1.5.24": [ { "comment_text": "", "digests": { "md5": "25f873e93b74ef59d60aa949c9fe308b", "sha256": "42fafb7c6a8b85ea377bb9139b513a66f8eca01db3478a0057c749f5372b109b" }, "downloads": -1, "filename": "mozmill-1.5.24.tar.gz", "has_sig": false, "md5_digest": "25f873e93b74ef59d60aa949c9fe308b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 560454, "upload_time": "2013-10-15T14:03:52", "url": "https://files.pythonhosted.org/packages/8e/6f/607c89e4334a53c71b4a6016f2a249436485ab7d8cf4d596b371ef723ad8/mozmill-1.5.24.tar.gz" } ], "1.5.3": [ { "comment_text": "", "digests": { "md5": "9e9fd9cbe769b496b475898cbd96efa9", "sha256": "e7c5cc440c8d135a5331e9b749442b3c2e5130be4073c1cac6029c9511f17e8e" }, "downloads": -1, "filename": "mozmill-1.5.3.tar.gz", "has_sig": false, "md5_digest": "9e9fd9cbe769b496b475898cbd96efa9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 559006, "upload_time": "2011-06-15T09:43:22", "url": "https://files.pythonhosted.org/packages/3f/14/50c501f7431ab25bdd096114f4204d84bee0f889b36a82e1efb18e58c4f9/mozmill-1.5.3.tar.gz" } ], "1.5.4": [ { "comment_text": "", "digests": { "md5": "b6d0e3d345b8ea06e17dafd239cd2a09", "sha256": "84fe6ed201fd72fbcf741a39e62b9e2b11a641ff70415a487ed2f85070a5c03a" }, "downloads": -1, "filename": "mozmill-1.5.4.tar.gz", "has_sig": false, "md5_digest": "b6d0e3d345b8ea06e17dafd239cd2a09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 561196, "upload_time": "2011-08-19T19:51:50", "url": "https://files.pythonhosted.org/packages/d0/29/8f6ed24b6b5b3c0fa856846812d35b12383b5e2ac53452d07d1760b3e885/mozmill-1.5.4.tar.gz" } ], "1.5.4b2": [ { "comment_text": "", "digests": { "md5": "ce36c84331404558b2ac10491b3ece6a", "sha256": "e6b682dfe67410d403148be80cbd2d8c4bc23bd4e98c676d5d5eaa1d0825f5f6" }, "downloads": -1, "filename": "mozmill-1.5.4b2.tar.gz", "has_sig": false, "md5_digest": "ce36c84331404558b2ac10491b3ece6a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 567847, "upload_time": "2011-06-01T02:30:27", "url": "https://files.pythonhosted.org/packages/f7/e4/9c405a28d7e662687cf66ee23fa5ebd3e81907aa014e5b9379aa54e15a3c/mozmill-1.5.4b2.tar.gz" } ], "1.5.4b3": [ { "comment_text": "", "digests": { "md5": "fadd10debc7140b0be704ddf9f7d5f55", "sha256": "82801a44b661127f010d3d9c6fe86e8e56e3493636cdfe7db8c53f9963b44f97" }, "downloads": -1, "filename": "mozmill-1.5.4b3.tar.gz", "has_sig": false, "md5_digest": "fadd10debc7140b0be704ddf9f7d5f55", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 559620, "upload_time": "2011-06-15T10:22:16", "url": "https://files.pythonhosted.org/packages/ab/29/2e34064d752c5c47c57aca689bd155f92c1df959da59626915901bb80568/mozmill-1.5.4b3.tar.gz" } ], "1.5.4b4": [ { "comment_text": "", "digests": { "md5": "f9085f5bee97061f201544e0803a5f82", "sha256": "4c8d8cc980eeeeb7440fabb131655d044bb236b082369b4e00b43c6c4ce75a80" }, "downloads": -1, "filename": "mozmill-1.5.4b4.tar.gz", "has_sig": false, "md5_digest": "f9085f5bee97061f201544e0803a5f82", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 572971, "upload_time": "2011-06-24T01:38:32", "url": "https://files.pythonhosted.org/packages/43/2f/050b4067dbd193ac6ff96cb4be927c5717e1ac7b3c0434ed6e4562ca20a3/mozmill-1.5.4b4.tar.gz" } ], "1.5.4b5": [ { "comment_text": "", "digests": { "md5": "c8481431c3bc4fc98c63f1bbc23663e0", "sha256": "1419085753f727860fa6893803ba7546e5f625c3d30ae65d043240fea9d05306" }, "downloads": -1, "filename": "mozmill-1.5.4b5.tar.gz", "has_sig": false, "md5_digest": "c8481431c3bc4fc98c63f1bbc23663e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 557605, "upload_time": "2011-06-28T23:36:58", "url": "https://files.pythonhosted.org/packages/50/26/8dce696cd74118dc3d2c6da2b1f2b6d3af933d1bd5786d5825dfeb1b4b21/mozmill-1.5.4b5.tar.gz" } ], "1.5.4b6": [ { "comment_text": "", "digests": { "md5": "ac0b0710f90012991e8cc54cf01d1010", "sha256": "cd981f0235ffd775074ff8bab080ac664289f2e83f1ecf5eda33d31464116c94" }, "downloads": -1, "filename": "mozmill-1.5.4b6.tar.gz", "has_sig": false, "md5_digest": "ac0b0710f90012991e8cc54cf01d1010", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 931316, "upload_time": "2011-07-08T01:17:10", "url": "https://files.pythonhosted.org/packages/9a/d1/21aab9837e0dc85b297bb023f997b88f10589075667729e5f4c5fe6b2e88/mozmill-1.5.4b6.tar.gz" } ], "1.5.5": [ { "comment_text": "", "digests": { "md5": "deb1219b350fb49ec1df195909a6fc18", "sha256": "4994302ff71e8d0161a13477e3f005cdb7b32ffd7188049339b844a0494f7a2b" }, "downloads": -1, "filename": "mozmill-1.5.5.tar.gz", "has_sig": false, "md5_digest": "deb1219b350fb49ec1df195909a6fc18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 558839, "upload_time": "2011-10-01T00:45:43", "url": "https://files.pythonhosted.org/packages/86/52/80eb45215ef7ab647b7094dff5d120ab63ece06706e68d4c09ac632900af/mozmill-1.5.5.tar.gz" } ], "1.5.6": [ { "comment_text": "", "digests": { "md5": "eb1c5465091b593d62ffd4ddb1d37216", "sha256": "372823c2e9a6acb537475381d0783e33a27c0c5f996fc792a0255b2de39890c1" }, "downloads": -1, "filename": "mozmill-1.5.6.tar.gz", "has_sig": false, "md5_digest": "eb1c5465091b593d62ffd4ddb1d37216", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 558885, "upload_time": "2011-10-21T18:22:36", "url": "https://files.pythonhosted.org/packages/2c/55/8061fd8d404abba0047fc286e8b2a6f54dfab300f374b85481382c477a48/mozmill-1.5.6.tar.gz" } ], "1.5.7": [ { "comment_text": "", "digests": { "md5": "1f10a917ffa80e8eba53818df14b46c4", "sha256": "0c07d08fc8577a082286f70e41fe350825cfee5f88a1ca4354ac5f0d397a439d" }, "downloads": -1, "filename": "mozmill-1.5.7.tar.gz", "has_sig": false, "md5_digest": "1f10a917ffa80e8eba53818df14b46c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 560181, "upload_time": "2011-11-23T18:45:17", "url": "https://files.pythonhosted.org/packages/ed/29/db8c8af8e0c9e522da96b1654951f5c1c4395e3a5a1c7f1fece6c4305b3c/mozmill-1.5.7.tar.gz" } ], "1.5.8": [ { "comment_text": "", "digests": { "md5": "ca7babf7b862dba884e58427b3b3a0ca", "sha256": "9af233fee09ac073b20b49e7625014f8382fa036930cecead27726808ec34000" }, "downloads": -1, "filename": "mozmill-1.5.8.tar.gz", "has_sig": false, "md5_digest": "ca7babf7b862dba884e58427b3b3a0ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 560139, "upload_time": "2012-01-25T23:38:55", "url": "https://files.pythonhosted.org/packages/4d/79/7337f5dd91c73e99409fd4e107919f58c15b8c98868b80e31d2437ec780a/mozmill-1.5.8.tar.gz" } ], "1.5.9": [ { "comment_text": "", "digests": { "md5": "8601eccfe79180b07c0377182fd36683", "sha256": "8131360da74f368f29ce76ed13a2cace16646195fe6924b2129e7d4339051886" }, "downloads": -1, "filename": "mozmill-1.5.9.tar.gz", "has_sig": false, "md5_digest": "8601eccfe79180b07c0377182fd36683", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 560164, "upload_time": "2012-02-08T19:44:22", "url": "https://files.pythonhosted.org/packages/30/b1/7029ff57a2ddd8f34d8ad61b0b744c95dac395b31bff5c5331cfe2d054a7/mozmill-1.5.9.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "a0b441d8a6f4b539751e35478069e10d", "sha256": "d7cea3202593f51bf3f60fa6e4138db57eea3295adf87f607dc61e58b4384365" }, "downloads": -1, "filename": "mozmill-2.0.tar.gz", "has_sig": false, "md5_digest": "a0b441d8a6f4b539751e35478069e10d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 129229, "upload_time": "2013-09-24T14:16:48", "url": "https://files.pythonhosted.org/packages/2e/a9/7d58127f93e8588ee3655ec195cc1a9a14839079ce7f66c814071d1fa379/mozmill-2.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "fa95ad2cf36472f67ffa0d8a3523973d", "sha256": "9243549ea6e14816e805ce8df57db14d5166996e63c5b60c1ab59dd4cec9f36e" }, "downloads": -1, "filename": "mozmill-2.0.1.tar.gz", "has_sig": false, "md5_digest": "fa95ad2cf36472f67ffa0d8a3523973d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 129558, "upload_time": "2013-11-19T15:36:24", "url": "https://files.pythonhosted.org/packages/cf/73/8fd89c195bb0bbea049b488254cc6e51addd752bd29030f138c82db4a2d5/mozmill-2.0.1.tar.gz" } ], "2.0.10": [ { "comment_text": "", "digests": { "md5": "23905c8e187e86d7e662783f98779333", "sha256": "fadb0eb6dbce010036bf4a8b6b97d5ac422cd99bcad73033d0c989b285f77faa" }, "downloads": -1, "filename": "mozmill-2.0.10.tar.gz", "has_sig": false, "md5_digest": "23905c8e187e86d7e662783f98779333", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 131403, "upload_time": "2015-02-20T13:22:02", "url": "https://files.pythonhosted.org/packages/b3/49/4e08c479f5111566ec0df8e4240e5cebb92bbc525c2bed69143bdd22fdf7/mozmill-2.0.10.tar.gz" } ], "2.0.10.1": [ { "comment_text": "", "digests": { "md5": "9b232295a2d479d5178b7695925788fd", "sha256": "3b15baebc7b47ec99ede4785fd89dc6756215154eea367b3d09587386d099de8" }, "downloads": -1, "filename": "mozmill-2.0.10.1.tar.gz", "has_sig": false, "md5_digest": "9b232295a2d479d5178b7695925788fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 137576, "upload_time": "2015-08-18T21:52:40", "url": "https://files.pythonhosted.org/packages/4e/f0/0768f005484a706701d86e82d387bc2e180084295c054638cccea3eb331b/mozmill-2.0.10.1.tar.gz" } ], "2.0.10.2": [ { "comment_text": "", "digests": { "md5": "f7d81c19bbd30cef8d25df6e1e04a672", "sha256": "c4997691f901b7e9cb21a11d7fc56cc6b09c1423d024590fd4a5f143977248ae" }, "downloads": -1, "filename": "mozmill-2.0.10.2.tar.gz", "has_sig": false, "md5_digest": "f7d81c19bbd30cef8d25df6e1e04a672", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 137862, "upload_time": "2015-08-19T07:45:09", "url": "https://files.pythonhosted.org/packages/2d/e0/dc8c13d6121a0e9f28a4023d3a795815ca1248c5f8d05239773bfc0db9e1/mozmill-2.0.10.2.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "fad25b2754a03d46bfd2a60de98ea3e2", "sha256": "17d59e8ff14634dc15b3516510701e02a665932a69f488c00d32336b3ed1a951" }, "downloads": -1, "filename": "mozmill-2.0.2.tar.gz", "has_sig": false, "md5_digest": "fad25b2754a03d46bfd2a60de98ea3e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 129768, "upload_time": "2013-12-11T15:07:55", "url": "https://files.pythonhosted.org/packages/a0/9c/992c0fa8598a27879bd0a1bc2e5537f8c496a8925406b9a3c02b9541f27e/mozmill-2.0.2.tar.gz" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "b01aba875458d759541b3e2202ae1ba4", "sha256": "90def87a6ce7cf2f2ebb67158c8ad603b67d1ca91d1ddc85f850951dd4b260c3" }, "downloads": -1, "filename": "mozmill-2.0.3.tar.gz", "has_sig": false, "md5_digest": "b01aba875458d759541b3e2202ae1ba4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 129939, "upload_time": "2013-12-20T10:49:14", "url": "https://files.pythonhosted.org/packages/dc/41/b53926e90f6842ec6b97fd5581e7ce9e149f63786965fd414d79fcb6658a/mozmill-2.0.3.tar.gz" } ], "2.0.4": [ { "comment_text": "", "digests": { "md5": "2715a1bc142bc87bd925ba5fcb315c94", "sha256": "38bac5687769b248b2dc66c0e113c8ff9ca0211e4ead2230500e3e493fac389d" }, "downloads": -1, "filename": "mozmill-2.0.4.tar.gz", "has_sig": false, "md5_digest": "2715a1bc142bc87bd925ba5fcb315c94", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 130600, "upload_time": "2014-02-04T09:03:55", "url": "https://files.pythonhosted.org/packages/77/68/e0c5d827c2b7d57df38c992882960bb95e9f7d7cfdce7e24fbfdb11dfeae/mozmill-2.0.4.tar.gz" } ], "2.0.5": [ { "comment_text": "", "digests": { "md5": "4eee04ce7bd70960afb91422e68b6100", "sha256": "0a36b05f92ad631f2bbe137646469e8b8ebd5c04ac065b3f65969bca7ac98c6f" }, "downloads": -1, "filename": "mozmill-2.0.5.tar.gz", "has_sig": false, "md5_digest": "4eee04ce7bd70960afb91422e68b6100", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 130597, "upload_time": "2014-02-10T09:31:45", "url": "https://files.pythonhosted.org/packages/2c/ec/2bfa0e883a35e1c11feea4365e8a6d39abd989a3a79592b7b9c83a4691b4/mozmill-2.0.5.tar.gz" } ], "2.0.6": [ { "comment_text": "", "digests": { "md5": "1338eee52f6171743be997e457fcd651", "sha256": "0eb6b4b73225a4cc6c6378826ce12d6ed14a4e510e89c20e1b48bf54c25c8deb" }, "downloads": -1, "filename": "mozmill-2.0.6.tar.gz", "has_sig": false, "md5_digest": "1338eee52f6171743be997e457fcd651", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 131132, "upload_time": "2014-03-07T12:21:14", "url": "https://files.pythonhosted.org/packages/13/72/25c4296a600876c1fba59a618e5857007835eeeec5fd004e5ce5d9be3350/mozmill-2.0.6.tar.gz" } ], "2.0.7": [ { "comment_text": "", "digests": { "md5": "ecfcb8fb7db1591f85caa18e51df8f86", "sha256": "38c155027e3e183032932ba1a9a9cd3b9de06cbabbb94d9b6bc8b69dd00b82e6" }, "downloads": -1, "filename": "mozmill-2.0.7.tar.gz", "has_sig": false, "md5_digest": "ecfcb8fb7db1591f85caa18e51df8f86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 131112, "upload_time": "2014-09-12T12:01:03", "url": "https://files.pythonhosted.org/packages/95/d6/53f5411d94986e6c0258685f78da1ebf3cf73a548d78132e422b3812dd8f/mozmill-2.0.7.tar.gz" } ], "2.0.8": [ { "comment_text": "", "digests": { "md5": "54e72662d47835d254cea1762f7c723e", "sha256": "0b1ae21aa4480cf8f7f8196a121092f1d97ef815fa934581ab3f340b42a25199" }, "downloads": -1, "filename": "mozmill-2.0.8.tar.gz", "has_sig": false, "md5_digest": "54e72662d47835d254cea1762f7c723e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 131113, "upload_time": "2014-09-16T14:38:02", "url": "https://files.pythonhosted.org/packages/b0/ce/4038f7a67ecbb23526ee2363c15f945904a2c26cf0c10062ed4ce21cef81/mozmill-2.0.8.tar.gz" } ], "2.0.9": [ { "comment_text": "", "digests": { "md5": "01000b8f0a059f8ac9705cd1f22fc8d9", "sha256": "2c70607abca6af9b4662067b3e98a5e4b5d8d200ef0bcc10bccf8a226d03b41e" }, "downloads": -1, "filename": "mozmill-2.0.9.tar.gz", "has_sig": false, "md5_digest": "01000b8f0a059f8ac9705cd1f22fc8d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 131281, "upload_time": "2014-10-24T16:00:17", "url": "https://files.pythonhosted.org/packages/01/88/c88fc97eca3969c27e24880c12226bfeea2e00ec02d68a044f6022110f15/mozmill-2.0.9.tar.gz" } ], "2.0rc2": [ { "comment_text": "", "digests": { "md5": "cd3d1828ca5eb6557b3787b7d4caf318", "sha256": "186ca8049c385e455c03904de44be17b1031885db95742d3d08621432eb74b5b" }, "downloads": -1, "filename": "mozmill-2.0rc2.tar.gz", "has_sig": false, "md5_digest": "cd3d1828ca5eb6557b3787b7d4caf318", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 123943, "upload_time": "2013-04-30T09:15:29", "url": "https://files.pythonhosted.org/packages/50/73/404dd3e0d8525842ce9e4af8cb85706232f425a4fe00d1e7ebc846c60668/mozmill-2.0rc2.tar.gz" } ], "2.0rc3": [ { "comment_text": "", "digests": { "md5": "469a7ccfc3f453ae42f9b21e2683bdc4", "sha256": "7b679258a37e0e4fea10374b73a5568b98395c3f90772965e5421ae57636fadc" }, "downloads": -1, "filename": "mozmill-2.0rc3.tar.gz", "has_sig": false, "md5_digest": "469a7ccfc3f453ae42f9b21e2683bdc4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 124838, "upload_time": "2013-05-08T22:54:39", "url": "https://files.pythonhosted.org/packages/38/10/dbd97dcca2f7f082ae2505ff9ee19da55d3f4a83c2b69bc0c9018751233f/mozmill-2.0rc3.tar.gz" } ], "2.0rc4": [ { "comment_text": "", "digests": { "md5": "7e882d79fa512be93fba77a5d0022d12", "sha256": "888445d8d086b28036c5bbee43eaff35b381b808d780d768c940c58915003f12" }, "downloads": -1, "filename": "mozmill-2.0rc4.tar.gz", "has_sig": false, "md5_digest": "7e882d79fa512be93fba77a5d0022d12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 122534, "upload_time": "2013-06-14T23:55:08", "url": "https://files.pythonhosted.org/packages/99/02/7146572a6ab7ebee16b45bcb76383065a8a6e795d20e58f29852be73faed/mozmill-2.0rc4.tar.gz" } ], "2.0rc5": [ { "comment_text": "", "digests": { "md5": "09295c69bb488219032ba5eb71d33df2", "sha256": "1eec5436a4ba207bec09b9cd0bda72f6c4b1b9b1dcaddcc3d856febe950bbc76" }, "downloads": -1, "filename": "mozmill-2.0rc5.tar.gz", "has_sig": false, "md5_digest": "09295c69bb488219032ba5eb71d33df2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 129429, "upload_time": "2013-08-27T10:12:02", "url": "https://files.pythonhosted.org/packages/9a/75/3aa9fbf89bb5d92bd02181c9b5c502b84075d81f0ffed9e9fa417d976df4/mozmill-2.0rc5.tar.gz" } ], "2.0rc6": [ { "comment_text": "", "digests": { "md5": "647b6257fab5980e3aa90d0e078841ab", "sha256": "8896c6d30ecee4063e8ecfbe00f9260cfbb8bcee9730bc7e0423b5a20168d17b" }, "downloads": -1, "filename": "mozmill-2.0rc6.tar.gz", "has_sig": false, "md5_digest": "647b6257fab5980e3aa90d0e078841ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 129662, "upload_time": "2013-09-20T09:52:51", "url": "https://files.pythonhosted.org/packages/69/3d/6dc3ef7f5413cf5d40898fe0af240fb9cb6962d9ef383c4c26c14cb5395e/mozmill-2.0rc6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f7d81c19bbd30cef8d25df6e1e04a672", "sha256": "c4997691f901b7e9cb21a11d7fc56cc6b09c1423d024590fd4a5f143977248ae" }, "downloads": -1, "filename": "mozmill-2.0.10.2.tar.gz", "has_sig": false, "md5_digest": "f7d81c19bbd30cef8d25df6e1e04a672", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 137862, "upload_time": "2015-08-19T07:45:09", "url": "https://files.pythonhosted.org/packages/2d/e0/dc8c13d6121a0e9f28a4023d3a795815ca1248c5f8d05239773bfc0db9e1/mozmill-2.0.10.2.tar.gz" } ] }