As a Python web developer you are probably familiar with the paradigms of testing simple web applications. Your test case makes a GET / POST request, your program responds with an HTML page, and your test verifies the HTML elements. Unfortunately, today's typical web application is not so simple! Since modern browsers support asynchronous JavaScript (Ajax) very well, the HTML response might deliver program code to run on the client's web browser. The browser's runtime environment would then interact with your server-side Python program and you now have a big problem: How does your test suite cover both server-side functionality and client-side functionality?
PyCon is an activity of the Python Software Foundation, a 501c3 non-profit organization. To support future conferences, please donate to the Foundation at www.python.org/psf/donations . Video and audio material from PyCon are licensed under the Creative Commons CC-BY-NC-SA license . This means you can incorporate excerpts or entire recordings in your own non-commercial projects, as long as you credit the speaker and you CC-license the finished project.