Skip to main content

GUI API for interfacing and testing with tkinter

Project description

Summary

This module contains a set of simple base classes that can be used for test or verification purposes on GUIs based on Tkinter.

A test harness can connect to this class using a TCPIP socket and get the current screen content, press an x,y coordinate, and invoke a menu item.

The typical scenario is to create a Tkinter GUI app and add the gui-api-tkinter server into it. Then a test harness is built using gui_api_harness and that is used by pytest (or whatever other test driver you wish) to run tests against the GUI.

For a more detailed description of the available commands and responses see gui_api.md

Scripts

Sample code

See the sample directory for a sample client and server. Use doit script to run the sample server.

./doit

This runs the code in the sample directory. The gui subdirectory contains a sample Tkinter GUI app which has some buttons and labels on it. The test harness is then used to press buttons on the GUI and check that the GUI perform s the expected behavior. The file sample/test_gui.py runs those tests.

The pom/ subdirectory holds Page Object Model classes to simplify the interactions between the test_gui code and the GUI app.

For a more complex example, see ./ver directory. Invoke those tests using:

./do_ver
./do_ver -k tp001   # for the first test protocol
# etc.

Other scripts and files

  • do_doc: generates doxygen
  • do_install: installs python environment
  • do_lint: runs static analysis tools
  • do_publish: publish the python module
  • do_ver: runs verification scripts
  • doit: runs a sample GUI client and a sample test harness
  • srs.json: holds a list of requirements for the gui api and the test harness must adhere to
  • todo.md known issues to fix/address

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gui_api_tkinter-0.0.34.tar.gz (64.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page