What is AutoTest Studio

AutoTest Studio provides a basic framework for test automation, which can be applied to unit testing, integration testing, and system testing. With the help of the abundant Python packages provided by the Python community, AutoTest Studio can be applied to test tasks in a variety of application scenarios, such as Web services, mobile apps, desktop applications, etc.

AutoTest Studio uses Python as the test case writing language, integrates test case management, test case editing, task execution, test case debugging, automatic log and report generation, test data management, Python package management and other functions, providing a perfect solution for automated test activities Program.

AutoTest Studio feature preview:

Test case management

AutoTest Studio organizes test cases in a visual directory structure, and can clearly identify the status of the test case and the results of the running.

Test case editing

AutoTest Studio has a professional code editor, which can perform operations such as keyword highlighting, code folding, expansion, code auto-completion, and code formatting.

Task execution

AutoTest Studio has an advanced task engine that provides a variety of task execution scheduling methods, such as timed tasks, cyclic execution, and execution of test cases in specified states.


AutoTest Studio integrates a powerful Python Debugger, which makes it easier for you to find exceptions and error messages in program execution.

Logs and Reports

AutoTest Studio automatically generates a log file for each test case during the task, and generates a test report for the test task after the test task is completed. If necessary, you can also let AutoTest Studio send the test report and test log by email to the specified email address.

Data Dictionary

AutoTest Studio maintains an independent data configuration file for each test project. Through the data dictionary management tool, you can configure up to millions of data records, and access these data through API interfaces in test cases.

Python package manager

The Python package manager allows you to install, delete, upgrade, import, and export the Python packages through a graphical interface.

System Requirements

Minimum System Requirements

  • Windows 10 and above

  • .Net Framework 4.7.2 and above

  • 2 GB RAM minimum, 8 GB RAM recommended

  • 2.5 GB hard disk space, SSD recommended

  • 1024x768 minimum screen resolution

  • Python 2.7, or Python 3.5 or newer


Step 1. Download the latest installation file of AutoTest Studio from the official website of AutoTest Studio (

Step 2. Run the AutoTest Studio installation file and follow the installation prompts to complete the installation.

Step 3. AutoTest Studio relies on the Python interpreter, so you must install the Python interpreter. Python official website:

Step 4. Run the AutoTest Studio application and configure the default Python interpreter in the configuration manager.


By default, AutoTest Studio is configured to automatically check for updates and notify you when a new version is available. Of course, you can also turn off the automatic update check in the configuration manager, but we do not recommend you to do so, because you can get a better user experience with the latest version of AutoTest Studio.

Report Bug

We attach great importance to bug reports submitted by users, which can help us improve the quality of our products and user experience, so when you encounter bugs, please send us feedback by email


Technical Support

AutoTest Studio is a free project. In principle, we do not provide any free and paid technical support, but if you encounter a headache in the actual application, you can still give us feedback, and we will give you some according to the situation Help, but it doesn’t mean we have to reply to you.


Contact us

If you are interested in our products and have some great ideas, you can contact us by email.

Email: developers@

Get Started

The use of AutoTest Studio is very simple. The following content will fully describe the creation of test projects, the running of test tasks, and the viewing of test logs and reports.

New Project

  1. AutoTest Studio manages the entire test content as a project. The project creation wizard can be opened in the following two ways.

Open the project creation wizard through the start page.

Click the menu "File" -> "New" -> "Project" on the main interface to open the project creation wizard.

  1. In the project creation dialog box, enter the name of the project, the location where the project is saved, and click "Next".

  1. Next, configure the Python interpreter for the test project. If you have multiple projects, then you can choose the virtual environment mode, so that each project can have an independent Python interpreter running environment.

After completing the basic project settings, click the "OK" button, AutoTest Stduio will automatically create a test project and install the basic package for the Python interpreter's operating environment.

New Test case

  1. Test case is the smallest scheduling unit executed by AutoTest Studio. In the project browser, click the right-click menu "New" -> "File" to open the test case creation wizard.

  1. In the file creation menu, select "Python File", enter the test case name, and click "OK" to complete the creation of the test case.


  • To create a project-based test case, you can only open the test case creation wizard through the right-click menu "New" -> "File" of the project. Test cases created by the test case creation wizard opened through the main menu or toolbar will not be added by default. In the project unless you actively add these test cases to the project.

  • AutoTest Studio manages the hierarchical relationship of test cases through the directory structure.

Run Task

AutoTest Studio defines each run process as a test task.

Select the test case to be executed in the project browser, and click "Run" in the right-click menu。


If the selected node is a directory, all selected test cases in the directory and its subdirectories will be run. If the selected node is a test case, only the selected test case will be run.

Advanced Run

AutoTest Studio provides a variety of flexible test task scheduling strategies. Select the node to be run and click the right-click menu "Advanced Run".

Parameter definition:

Start Time

The start time of the task run, the default is the current time, that is, the task will run immediately.

End Time

Run the test cases in a loop.


The number of running test tasks, the default value is "1"。

Run Mode

The task running mode, Sequence, all test cases are executed in sequence, Random, all test cases are executed randomly, but it is guaranteed that each test case will be executed in each round.

Debug Mode

Whether the task is executed in debug mode, Yes, run in debug mode, No, run in normal mode.

Run test case of following Status

Run the test case in the specified state. For example, if only Fail is checked, only the test cases in the Fail state of the selected test cases will be run.

Send test report by email

After the test task is completed, AutoTest Studio will send the test report to the e-mail, but this requires the configuration of related parameters. You can click "Email setting" to configure the related parameters.

Preset Script

AutoTest Studio provides four special types of preset test cases for test tasks; they respectively are BeforeTask, BeforeCase, AfterTask and AfterCase.

You can create one or more cases for each type of Preset Case, or you don’t to create them. It depends on your needs. Select these cases before the task runs, then the test case execution engine will call these cases at the appropriate time.


  • BeforeTask: The test case will be run before the task has run.

  • BeforeCase: The test case will be run before each test case has run.

  • TestCase:Test case.

  • AfterCase: The test case will be run after the task has run.

  • AfterTask: The test case will be run after each test case has run.

Logs and Reports

After the test task runs, AutoTest Studio will automatically generate test logs and test reports. The test report contains the overall running information of the project, and the test log contains the detailed information of the test case running.

Test Report Summary:

Test Report Details:

Log Details:

Command Line

AutoTest Studio allows you to call it through the command line. This flexible call method allows you to integrate with other test platforms, such as CI systems.

Usage: AutoTest Studio.exe ProjectPath [option]


-r Run the project immediately, if there are no other parameters, run all test cases in the normal way.

-p -p nodepath,Specify the path of the project node that AutoTest Studio runs. The default is to run directly from the root directory. Forward and back slashes'/','\' are supported, and quotes are required.

-e -e datetime,Specify the end time of the run, you need to add quotation marks, mutually exclusive with the -l parameter, if "-e" and "-n" exist at the same time, "-n" will take effect.

-n -n count,The number of execution runs, mutually exclusive with the -e parameter, in the range of 1-1000, if "-e" and "-n" exist at the same time, "-n" takes effect.

-m -m sequence,sequence ,sequence mode, sequence ,random mode, the default is sequence.

-d Run as debug。

-s Specify the test cases to run in a specific state, pass, fail, block, and none are separated by commas.

-i Whether to send report to email.

-q AutoTest Studio exits after the task ends。

-o -o path,The path of the output file, the default is the current directory, the default name is output.json, which contains the result information of the task。


"C:\Program Files\AutoTest Studio\autotest studio.exe" testproject.tpro -r

"C:\Program Files\AutoTest Studio\autotest studio.exe" -r -n 100

"C:\Program Files\AutoTest Studio\autotest studio.exe" -r -p "\testproject\node1" -e "2020-04-01 01:00:00" -m sequence -d -s "fail,block" -i -q -o "c:\output.json"


In AutoTest Studio, you can create a common code base for your test projects. AutoTest Studio will automatically add these directories to the environment variables that the Python interpreter runs, so that these codes can be called in test cases.

User Interface

AutoTest Studio is a GUI application, including a start page, main window, editor, and a series of functional display panels.

Start Page

After AutoTest Studio starts, it enters the start page by default. You can create a new project, open an existing project, create a new file, open an existing file, open an empty environment, or select a recently opened project.

New Project

Create a new test project.

Open Project

Open an existing test project.

New File

Create a new file.

Open File

Open an existing file.

Open an empty environment

Open an empty environment.

Recently opened projects

Display a list of recently opened projects.

Main Window

The main window of AutoTest Stdio includes menu bar, tool bar, status bar, project browser, editor and multiple function panels.

Output Window

The output window is used to display the log information of the test case execution.

Debug Window

Debug window test case management and display debugging information, debugging breakpoints, and some debugging stack information.

Find and Replace

The search function includes a search/replace dialog box and a search result display window.

Find/Replace dialog

Search result display window


Double-click the result entry in the search result display window to locate the position of the string of the corresponding file.

Bookmark Management Window

The bookmark management window displays a list of all bookmarks of the current project. In the window, you can delete these bookmarks and jump to the designated bookmark position.


Select the bookmark item in the bookmark management window and double-click, it will automatically locate the bookmark position of the corresponding file.


AutoTest Studio automatically generates a test report after the execution of the test task, recording the details of the task run, including run start time, elapsed time, number of use cases and use case run result statistics.

Test Report Summary:

Test Report Details:

View Historical Reports

Click the "Tools" ->"Reports" menu in the main window to open the test report manager. The test report manager records all historical reports that have not been deleted for the current project.

Export Report

In the test report manager, you can export one or more test reports in a zip file format. In addition to the report, the zip file also contains all log files.

Send Report by email

After the test task is completed, AutoTest Studio can automatically send the report to the designated email recipient in the form of an email. But some configuration needs to be done before this.

Select "Send test report by email" in the "Advanced Run" mode, and click "Email settings" to configure email parameters.

Configure email parameters


If there are too many logs in the task, it may cause the email to fail to be sent. At this time, you can configure to send only test reports.


AutoTest Stduio provides tracking and display of the running details of test cases. The Output window displays the execution information of the current test case in real time. It also provides logging information in the form of html files. The contents displayed by both are completely consistent.

View Logs

In the Details log list of the test report, click the "Open" button to open the test case log. As shown below.

Log file:

Clean up Logs

Click the "Tools" -> "Clear Logs" menu item in the menu to open the log cleaning tool, select the log to be cleaned, and click "Delete".

Log clearing reminder threshold

By setting the log cleanup threshold, AutoTest Studio will check whether the number of logs reaches the set threshold each time it is started. If it exceeds the set threshold, AutoTest Stduio will remind you to clean up the logs.

Log cleanup reminder dialog

Data Dictionary

AutoTest Studio provides an independent data configuration file for each project. You can create an independent test data for the project, such as environment connection configuration data.

The data dictionary is stored in Key-Value form. You need to complete the data configuration through the "Data Dictionary" tool before running the test task. Although in non-memory mode, you can use the data dictionary tool to modify it at runtime, but we do not recommend You do this because it may bring unknown anomalies.

DataSet, a set of data. In the same project, the name of the data set cannot be repeated.

DataItem,For a pair of key-value data, the key cannot be repeated in the same data set, but it can be repeated in different data sets.

Data dictionary development interface, see "Data Dictionary"

Click "Tools"->"Data Dictionary" to open the data dictionary management tool.

New Dataset

Select the directory to which the data set belongs, right-click, and select the "New" -> "DataSet" menu item.

Enter the data set name and click the "Commit" button.

New Dataitem

After selecting the data set, click on the toolbar on the right to create the "DataItem" icon.

Enter the key, value, and description of the data item, click "Submit".

Export Data

Select the data set that needs to be exported and right click "Export Dataset(s)".

After setting the location and data format of the export file, click "Export" to export the data.

Import DataSet

Select the location of the data import, click the right-click menu "Import Dataset(s)".

In the pop-up Import Data dialog box, select the location of the import file and click the "Import" button to complete the data import.

Code Editor

AutoTest Studio provides a professional code editor, which can perform Python language keyword highlighting, code folding, expansion, code auto completion, code formatting and other operations.

Function Shortcut

Abundant shortcut keys can improve the effect of code writing, AutoTest Studio shortcut keys are as follows.

F12 Target to definition

Ctrl+X Cut

Ctrl+C Copy

Ctrl+V Paste

Ctrl+A Select All

Ctrl+F Find

Ctrl+H Replace

Ctrl+G Go to line

Ctrl+Shift+C Comment

Ctrl+Shift+X Uncomment

Ctrl+F5 Run

Shift+F5 Debug Run

Alt+Shift+F Format Document

Alt+Shift+O Sort Imports

Ctrl+Shift+B Toggle breakpoint

Ctrl+Shift+V Toggle bookmark

Ctrl+Right Zoom in

Ctrl+Left Zoom out

Ctrl+0 Reset zoom

Ctrl+S Save

Ctrl+Y Undo

Ctrl+Z Redo

Ctrl+L Select line

Code Completion

The code auto-completion function can greatly improve the efficiency of code writing. AutoTest Studio turns on the code auto-completion function by default.

In the configuration manager, you can turn on and off the code completion function, and you can also configure other parameters of the code completion to make it more in line with your usage habits.

Expand and Collapse

Click the code folding mark in the editor, and the editor will automatically fold and expand the current code segment.

Code editing Plugin

AutoTest Studio provides code editing plug-ins, such as Format Document, Sort Imports, which can improve your code quality.

Python package manager

AutoTest Studio provides a graphical Python package manager, which can easily complete the project's Python environment (including virtual environment) package management operations. Such as installation package, upgrade package, uninstall package, configure installation source.

Click "Tools" -> "Package Manager" to open the Package management tool.

Install Python Package

Click the "Install" button on the Toolbar of Package Manager to pop up the package installation dialog box.

Online installation:

Local installation:

Source: Set the installation source of the Python package, Online, online installation, Local, local installation.

Name: Python package name.

Version: The version of the Python package. If it is empty, the latest version is installed.

If you check "Don’t install package dependencies", the dependent packages related to the package will not be installed.

Upgrade Python Package

Select the Python package that can be upgraded and click the right-click menu "Upgrade" to complete the Python package upgrade.

Uninstall Python Package

Select the Python package to be uninstalled, and click the right-click menu "Uninstall" to complete the uninstallation of the Python package.

Export Python Package List

The package manager can export the Python package list of the current project, click "Export" in the tool.


Exporting the package list only exports the name and version of the package, not the Python package file.

Import Python Package List

The package manager can import the specified package list, click "Import" in the toolbar.


When importing the package list, the Python package manager will automatically install all Python packages in the list from the installation source according to the Python package name and version.

Configure Installation Source

Click "Setting" in the Python Manage tool, and you can configure the online installation source of the Python package in the pop-up dialog box.


The Python interpreter uses the official Python installation source by default. You can choose the installation source closest to you according to your location, which can greatly improve the speed of online installation.

Code Snippet Manager

The code snippets manager of AutoTest Studio can manage commonly used code segments and insert them directly into the designated position in the code editor during code editing to improve code writing efficiency.

Click "Tools"->"Code Snippets Manager" to open the code snippet management tool.

New Code Snippet

Click "New" in the Code Snippets Manager tool to create a new code segment. The default name is "New Codes". Double-click the name to edit the name again.

Enter the code in the edit area on the right and click the "Save" button to save the code segment.

Insert Code Snippet

When editing the code, click the right-click menu "Insert Code Snippet" to select the code segment in the displayed code segment, and the editor will insert the code segment at the cursor.

Edit Code Snippet

Select the code to be edited in Code Snippets Manager, after editing the code in the editing area on the right, click the "Save" button to save the modified code segment.

Delete Code Snippet

Select the code to be deleted in Code Snippets Manager and click the "Delete" button to delete the code segment.

Export Code Snippet

Select the code to be exported in Code Snippets Manager and click the "Export" button to export the code segment.

Import Code Snippet

Click the "Import" button in Code Snippets Manager, select the code snippet file, and import the code snippet.

External Tools

In addition to integrating internal tools, AutoTest Studio also allows you to add third-party tools so that you can easily open these tools in the toolbar of AutoTest Studio.

Click "Tools"->"External Tools" -> "Customize" to open the external tool manager.

Add Tool

Click "New" in "External Tools" to open the dialog box for adding external tools. After completing the configuration of the external tool, click the "OK" button to add the external tool.

Name: Tool name, the default is the tool name.

Location: Disk path of the tool.

Arguments: Tool startup parameters, which can be empty.

Initial directory: The running directory after the tool is started. If it is empty, it is the directory where the tool is located.

Close on exit, whether to close the opened tool at the same time when the tool exits from the main program of Autotest Studio.

After the external tool is added, the added external tool will be displayed in the external tool management list.

Click the "OK" button at the bottom, and the external tool will be automatically added to the toolbar of AutoTest Studio. Click the tool icon in the toolbar of AutoTest Studio to open the external tool directly.

Edit Tool

Select the tool to be edited in the list of the external tool manager and click the "Edit" button to edit the configuration information of the external tool again.

Delete Tool

Select the tool to be deleted in the list of the external tool manager and click the "Delete" button to delete the external tool. At the same time, the external tool icon in the toolbar of AutoTest Studio will automatically disappear.


AutoTest Studio provides Python language debugging function. You can check local variables, breakpoints, single step/step out/step over statements, set the next statement, etc. in the monitoring window.


Click the breakpoint mark bar of the editor or the right-click menu "Breakpoint" -> "Toggle Breakpoint" of the editor to add or delete breakpoint marks on the current line. When running test cases in AutoTest Studio and debug mode, the code will stop running at the lines marked by these breakpoints, and the breakpoint lines will be marked with a red background.

In the breakpoint list display window, you can view all the breakpoints of the current project and the current breakpoint position.

Monitor Variables

When AutoTest Studio runs to the line at the breakpoint mark in Debug mode, it will run temporarily, and you can view the type and value of the variable in the debugger.

Modify Variables

After the code enters the breakpoint mode, you can click the "Edit Name" button to modify the name of the variable.

Click on the right-click menu "Set Value" to modify the value of the variable.

Run as Debug

After the code enters the breakpoint and stops running, you can click the "Resume" button to continue the code running until the next breakpoint mark line is encountered, or you can run the following code line by line.

Resume: Run to the next breakpoint.

Step Into: Single step execution, enter and continue single step execution when encountering a sub-function;

Step Over: During single-step execution, when a sub-function is encountered in the function, it will not enter the sub-function for single-step execution, but stop the sub-function as a whole, that is, the sub-function as a whole step;

Step Out: When stepping into a sub-function, use Step Return to execute the rest of the sub-function and return to the previous function.


Use bookmarks to mark lines of code, you can quickly return to a specific location, or jump back and forth between different locations.

Bookmark Manager

The bookmark manager can view all the bookmarks in the current project. Click the bookmark entry to locate the bookmark.

Add Bookmark

Click the bookmark bar of the editor to add a bookmark mark to the current line.

Delete Bookmark

Click the marked bookmark bar again to cancel the bookmark mark of the current line.

Development Interface

AutoTest Stdio provides a development interface for logs, dictionaries, assertions, and test case settings. These interfaces are all included in the built-in Python package "autotest" of AutoTest Studio. You need to use the import command to import this package. E.g:

from autotest import *


AutoTest Studio provides four types of log output function interfaces, namely DEBUG, INFO, WARN, ERROR. In the configuration management, you can log output level. The default is DEBUG, which means that all logs are output.

Debug log


Normal log


Warning log


Error log


Configure the log output level:

Sample code:

import os

from autotest import *

LogDebug("LogDebug interface test.")

LogInfo("LogInfo interface test.")

LogWarn("LogWarn interface test.")

LogError("LogError interface test.")

Output result:

Data Dictionary

AutoTest Studio provides an independent data dictionary file for the test project and a set of interfaces to access these data. For data addition, modification, and deletion, please refer to "Data Dictionary".

Get the value corresponding to the data set key

GetDataValue(dataset, key)

Get all the elements in the data set

GetDataset (dataset)


  • AutoTest Studio only allows the data dictionary management tool to add, modify, and delete data. It does not provide an interface to modify the data in the data dictionary during the running of the test case.

  • If the data dictionary is set to memory operation mode, the data modified during operation will not take effect immediately.

Sample code:

import os

from autotest import *

name = GetDataValue("Tom", "name")


userinfo = GetDataset("Tom")

for _key in userinfo.keys():



AutoTest Stduio provides multiple assertion interfaces to check whether the actual results meet the expected results.

Check if expr is False

AssertFalse(expr, msg=None)

Check if expr is True

AssertTrue(expr, msg=None)

Check if first and second are equal

AssertEqual(first, second, msg=None)

Check if first and second are not equal

AssertNotEqual(first, second, msg=None)

Check whether first and second are equal within the specified precision range

AssertAlmostEqual(first, second, places=None, msg=None, delta=None)

Check whether first and second are not equal within the specified precision range

AssertNotAlmostEqual(first, second, places=None, msg=None, delta=None)

Check whether two sequences are equal, seq_type, sequence type, such as list, tuple

AssertSequenceEqual(seq1, seq2, msg=None, seq_type=None)

Check whether the two lists are equal, which is equivalent to

AssertSequenceEqual(list1, list2, msg=None, seq_type=list)

AssertListEqual(list1, list2, msg=None)

Check whether two tuples are equal, equivalent to

AssertSequenceEqual(tuple1, tuple2, msg=None, seq_type= tuple)

AssertTupleEqual(tuple1, tuple2, msg=None)

Check if two sets are equal

AssertSetEqual(set1, set2, msg=None)

Check if member is in the container

AssertIn(member, container, msg=None)

Check if member is not in the container

AssertNotIn(member, container, msg=None)

Check whether expr1 and expr2 are the same

AssertIs(expr1, expr2, msg=None)

Check whether expr1 and expr2 are different

AssertIsNot(expr1, expr2, msg=None)

Check if two dictionaries are equal

AssertDictEqual(d1, d2, msg=None)

Check whether epected is a subset of actual

AssertDictContainsSubset(expected, actual, msg=None)

Check whether the members of the two sets are exactly the same (the order can be different),

AssertItemsEqual(expected_seq, actual_seq, msg=None)

Check if multiple lines of strings are equal

AssertMultiLineEqual(first, second, msg=None)

Check if a is less than b

AssertLess(a, b, msg=None)

Check whether a is less than or equal to b

AssertLessEqual(a, b, msg=None)

Check if a is greater than b

AssertGreater(a, b, msg=None)

Check whether a is greater than or equal to b

AssertGreaterEqual(a, b, msg=None)

Check if obj is None

AssertIsNone(obj, msg=None)

Check if obj is not None

AssertIsNotNone(obj, msg=None)

Check if obj is an instance of cls

AssertIsInstance(obj, cls, msg=None)

Check if obj is not an instance of cls

AssertNotIsInstance(obj, cls, msg=None)

Check whether the text satisfies the regular expression expected_regex

AssertRegex(text, expected_regex, msg=None)

Check whether the text does not satisfy the regular expression expected_regex

AssertNotRegex(text, unexpected_regex, msg=None)

Sample code:

import os

from autotest import *



AssertTrue(a,"AssertTrue test.")

AssertTrue(b,"AssertTrue test.")

Test case Settings

AutoTest Studio provides basic test case information such as test case name, test case ID, and test case level to be set through the API interface.

Set the test case ID


Set the test case name


Set test case level


Set test case ID, test case name, test case level

SetCase(caseID, caseName, caseLevel)

Sample code:

import os

from autotest import *


SetCaseName("User login")