{ "info": { "author": "Tom Wardill", "author_email": "tom.wardill@isotoma.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: POSIX", "Programming Language :: Python" ], "description": "=========\nFuncBrows\n=========\n\nFuncBrows is a relatively lightweight abstraction wrapper around various functional web testing tools.\nIt is intended to allow the creation of single unit tests that will run on multiple testing tools with a minimum of configuration. This will allow functional and system tests to be created in a single api.\n\nBy necessity, the api will be fairly simple, and will not support the advanced features of certain tools. This is aimed to be a lowest common demoninator, although the selected tool is available, should more complex tests be required (at the cost of tool portability).\n\nCurrently Supported\n-------------------\n\nThere are two fully supported testing tools:\n\n * Selenium RC (1.*)\n * zc.testbrowser\n\nIt is intended that more will be added over time, but these are what were required to scratch my own itch.\n\nRunning the Tests\n-----------------\n\nFuncBrows comes with a full test suite to exercise all the available methods. It uses twisted to create a local, known webserver which can be used to output the expected results.\nTo run it, you will need:\n* twisted\n* twisted web\n* trial (twisted testing tool, usually included with a twisted distribution)\nTo run the tests, execute::\n\n trial test_funcbrows\n\nAPI\n---\n\nOne of the main aims of FuncBrows is to have a simple and clean API. There are however one or two warts that cannot easily be worked around in the underlying tools. I will attempt to provide some examples of the API, and then explain any workarounds that have been implemented.\nFor more complete examples of every method of the API, see test_funcbrows.py.\n\nInstantiation\n~~~~~~~~~~~~~\n\nInstantiating FuncBrows is the main place where the underlying tools show through, as you have to make a selection as to which tool you would like to use.\n\nThe basic method takes a browser type, and a URL to test::\n\n f = FuncBrows('testbrowser', 'http://localhost:80')\n\n*This will instantiate a zc.testbrowser instance, with the pointing at localhost, on port 80*\n\nA selenium instance requires extra parameters (the address and port for the selenium server)::\n\n f = FuncBrows('\\*firefox3', 'http://localhost', host = '127.0.0.1', port = 4444)\n\nForm Usage\n~~~~~~~~~~\n\nFuncBrows requires the name of the form to work on, before anything can be modified in a particular form. Failure to set this will result in a ValueError. This prevents ambiguous form controls. There is however a wart where zc.testbrowser is concerned, and forms without an id on the page. See the note below for how to workaround this.\n\nSet the value of a text box on a form::\n\n f = FuncBrows('testbrowser', 'http://localhost:80')\n f.open('/')\n f.form_name = 'test-form'\n f.set_form_text_field('q', 'test')\n f.submit_form()\n\nPage Content\n~~~~~~~~~~~~\n\nCurrently there are only three available methods for getting meta-data and data from the page that is currently loaded:\n\nlocation\n\tProperty for the current location of the page (the URL)\npage_title\n\tProperty for the title of the current page\npage_content\n\tThe HTML content of the page\n\nWarts\n~~~~~\n\nUnfortunately, a completely clean abstraction isn't quite possible, so there are a few places where special care is needed.\n\n 1. Selenium currently struggles with AJAX loaded pages as they don't fire a page load event. An attempt has been made to get round this, you can pass 'internal=True' into the click() method. This will set Selenium to not expect a page load, and to carry straight on.\n\n 2. Forms without an id or name can trip up zc.testbrowser. A workaround for this has been implemented, but is not entirely satisfactory. If you set the form_name = '*', it will use the first form on the page.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pypi.python.org/pypi/funcbrows", "keywords": "functional test web browser", "license": "BSD License", "maintainer": null, "maintainer_email": null, "name": "FuncBrows", "package_url": "https://pypi.org/project/FuncBrows/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/FuncBrows/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://pypi.python.org/pypi/funcbrows" }, "release_url": "https://pypi.org/project/FuncBrows/0.1.7/", "requires_dist": null, "requires_python": null, "summary": "Web functional testing abstraction layer", "version": "0.1.7" }, "last_serial": 784390, "releases": { "0.1.3": [ { "comment_text": "", "digests": { "md5": "052a4827b15db3ba1f95d4c97d0b9b74", "sha256": "76f7ad312943fa9f5b8abcfeac653e666bb82fdb1f5a919cab4d4cc6571097cf" }, "downloads": -1, "filename": "FuncBrows-0.1.3.tar.gz", "has_sig": false, "md5_digest": "052a4827b15db3ba1f95d4c97d0b9b74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6660, "upload_time": "2010-04-30T22:43:53", "url": "https://files.pythonhosted.org/packages/5b/19/37db2fd75fd8068747787eeb5d6a7f3aeecd8897b9f7d23f1f9f50e7c06b/FuncBrows-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "65fceca8133172e5844b12aa4520e0b2", "sha256": "ffe9d1f7e52490cfd739a38347031f00de060abe1be14905dc0f528f00e3438e" }, "downloads": -1, "filename": "FuncBrows-0.1.4.tar.gz", "has_sig": false, "md5_digest": "65fceca8133172e5844b12aa4520e0b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6659, "upload_time": "2010-04-30T22:58:34", "url": "https://files.pythonhosted.org/packages/3e/45/dd9748149ff4c39b4b32be3e140d70fae36508eeb3461f1e45bad8a6cdd3/FuncBrows-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "7bf889f7a1fe10032b4a489210ae4775", "sha256": "3a3b40cfba74815328bf55e25870cdba0677b0475515540237fcc50f2bdbac3e" }, "downloads": -1, "filename": "FuncBrows-0.1.5.tar.gz", "has_sig": false, "md5_digest": "7bf889f7a1fe10032b4a489210ae4775", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6695, "upload_time": "2010-05-01T16:36:57", "url": "https://files.pythonhosted.org/packages/fc/12/236819456660744c225beae138b3342aef7383feb6c6aba69295e289c646/FuncBrows-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "0a9a7495d0f045d361c45af58b59213f", "sha256": "119d41ac64498698d84dfe20709cafb489d631c004b517db50bc3edc23590ed7" }, "downloads": -1, "filename": "FuncBrows-0.1.6.tar.gz", "has_sig": false, "md5_digest": "0a9a7495d0f045d361c45af58b59213f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7679, "upload_time": "2010-05-01T18:37:57", "url": "https://files.pythonhosted.org/packages/b8/6e/025e7a3b9693b65cbaae93ca0b1f736c228667b8ba61f55f2555064f011b/FuncBrows-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "780ee9df2c8759b140dedc988c7c6391", "sha256": "74cda760bb66ab034062603ba43b3fd82b1965a3b0a7282ef2e591e52b968e99" }, "downloads": -1, "filename": "FuncBrows-0.1.7.tar.gz", "has_sig": true, "md5_digest": "780ee9df2c8759b140dedc988c7c6391", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8468, "upload_time": "2010-07-07T15:52:32", "url": "https://files.pythonhosted.org/packages/20/19/4635fbed1ad4064e7c470b10556b382e8ec8bf124e4484bba2959092098d/FuncBrows-0.1.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "780ee9df2c8759b140dedc988c7c6391", "sha256": "74cda760bb66ab034062603ba43b3fd82b1965a3b0a7282ef2e591e52b968e99" }, "downloads": -1, "filename": "FuncBrows-0.1.7.tar.gz", "has_sig": true, "md5_digest": "780ee9df2c8759b140dedc988c7c6391", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8468, "upload_time": "2010-07-07T15:52:32", "url": "https://files.pythonhosted.org/packages/20/19/4635fbed1ad4064e7c470b10556b382e8ec8bf124e4484bba2959092098d/FuncBrows-0.1.7.tar.gz" } ] }