Skip to content

Commit c779df9

Browse files
authored
Merge pull request #162 from Integration-Automation/dev
Dev
2 parents fef7ba0 + 96e4a58 commit c779df9

File tree

74 files changed

+2684
-2050
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+2684
-2050
lines changed

.github/workflows/dev_python3_10.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,6 @@ jobs:
7575
run: python ./test/unit_test/json/json_test.py
7676
- name: Test Generate Json Report
7777
run: python ./test/unit_test/generate_report/json_report.py
78-
- name: Test Timeout Module
79-
run: python ./test/unit_test/timeout/timeout_test.py
8078
- name: Test Generate HTML Report
8179
run: python ./test/unit_test/generate_report/html_report_test.py
8280

@@ -91,7 +89,5 @@ jobs:
9189

9290
- name: Test Get Mouse Info
9391
run: python ./test/unit_test/get_info/mouse_info.py
94-
- name: Test Get Special Info
95-
run: python ./test/unit_test/get_info/special_info.py
9692
- name: Test Get Keyboard Info
9793
run: python ./test/unit_test/get_info/keyboard_info.py

.github/workflows/dev_python3_11.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,6 @@ jobs:
7575
run: python ./test/unit_test/json/json_test.py
7676
- name: Test Generate Json Report
7777
run: python ./test/unit_test/generate_report/json_report.py
78-
- name: Test Timeout Module
79-
run: python ./test/unit_test/timeout/timeout_test.py
8078
- name: Test Generate HTML Report
8179
run: python ./test/unit_test/generate_report/html_report_test.py
8280

@@ -91,7 +89,5 @@ jobs:
9189

9290
- name: Test Get Mouse Info
9391
run: python ./test/unit_test/get_info/mouse_info.py
94-
- name: Test Get Special Info
95-
run: python ./test/unit_test/get_info/special_info.py
9692
- name: Test Get Keyboard Info
9793
run: python ./test/unit_test/get_info/keyboard_info.py

.github/workflows/dev_python3_12.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,6 @@ jobs:
7575
run: python ./test/unit_test/json/json_test.py
7676
- name: Test Generate Json Report
7777
run: python ./test/unit_test/generate_report/json_report.py
78-
- name: Test Timeout Module
79-
run: python ./test/unit_test/timeout/timeout_test.py
8078
- name: Test Generate HTML Report
8179
run: python ./test/unit_test/generate_report/html_report_test.py
8280

@@ -91,7 +89,5 @@ jobs:
9189

9290
- name: Test Get Mouse Info
9391
run: python ./test/unit_test/get_info/mouse_info.py
94-
- name: Test Get Special Info
95-
run: python ./test/unit_test/get_info/special_info.py
9692
- name: Test Get Keyboard Info
9793
run: python ./test/unit_test/get_info/keyboard_info.py

.github/workflows/stable_python3_10.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,6 @@ jobs:
7575
run: python ./test/unit_test/json/json_test.py
7676
- name: Test Generate Json Report
7777
run: python ./test/unit_test/generate_report/json_report.py
78-
- name: Test Timeout Module
79-
run: python ./test/unit_test/timeout/timeout_test.py
8078
- name: Test Generate HTML Report
8179
run: python ./test/unit_test/generate_report/html_report_test.py
8280

@@ -91,7 +89,5 @@ jobs:
9189

9290
- name: Test Get Mouse Info
9391
run: python ./test/unit_test/get_info/mouse_info.py
94-
- name: Test Get Special Info
95-
run: python ./test/unit_test/get_info/special_info.py
9692
- name: Test Get Keyboard Info
9793
run: python ./test/unit_test/get_info/keyboard_info.py

.github/workflows/stable_python3_11.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,6 @@ jobs:
7575
run: python ./test/unit_test/json/json_test.py
7676
- name: Test Generate Json Report
7777
run: python ./test/unit_test/generate_report/json_report.py
78-
- name: Test Timeout Module
79-
run: python ./test/unit_test/timeout/timeout_test.py
8078
- name: Test Generate HTML Report
8179
run: python ./test/unit_test/generate_report/html_report_test.py
8280

@@ -91,7 +89,5 @@ jobs:
9189

9290
- name: Test Get Mouse Info
9391
run: python ./test/unit_test/get_info/mouse_info.py
94-
- name: Test Get Special Info
95-
run: python ./test/unit_test/get_info/special_info.py
9692
- name: Test Get Keyboard Info
9793
run: python ./test/unit_test/get_info/keyboard_info.py

.github/workflows/stable_python3_12.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,6 @@ jobs:
7575
run: python ./test/unit_test/json/json_test.py
7676
- name: Test Generate Json Report
7777
run: python ./test/unit_test/generate_report/json_report.py
78-
- name: Test Timeout Module
79-
run: python ./test/unit_test/timeout/timeout_test.py
8078
- name: Test Generate HTML Report
8179
run: python ./test/unit_test/generate_report/html_report_test.py
8280

@@ -91,7 +89,5 @@ jobs:
9189

9290
- name: Test Get Mouse Info
9391
run: python ./test/unit_test/get_info/mouse_info.py
94-
- name: Test Get Special Info
95-
run: python ./test/unit_test/get_info/special_info.py
9692
- name: Test Get Keyboard Info
9793
run: python ./test/unit_test/get_info/keyboard_info.py

.idea/workspace.xml

Lines changed: 70 additions & 60 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 38 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,81 +1,56 @@
1-
### AutoControl
1+
# AutoControl
22

3-
[![Downloads](https://static.pepy.tech/badge/je-auto-control)](https://pepy.tech/project/je-auto-control)
3+
AutoControl is a cross‑platform GUI automation framework that provides powerful and efficient features for mouse, keyboard, and image‑based automation.
44

5-
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/db0f6e626a614f67bf2b6b1f54325a24)](https://www.codacy.com/gh/JE-Chen/AutoControl/dashboard?utm_source=github.com&utm_medium=referral&utm_content=JE-Chen/AutoControl&utm_campaign=Badge_Grade)
5+
## Features
66

7-
[![AutoControl Stable Python3.8](https://github.com/Intergration-Automation-Testing/AutoControl/actions/workflows/stable_python3_8.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/AutoControl/actions/workflows/stable_python3_8.yml)
7+
* Powerful and practical GUI automation.
8+
* Image recognition (template matching).
9+
* Coordinate‑based operations.
10+
* Mouse automation.
11+
* Keyboard automation.
12+
* Locate images.
13+
* AutoControl scripting support.
14+
* Generate JSON / HTML / XML reports.
15+
* Remote automation support.
16+
* Shell command integration.
17+
* Screenshot support.
18+
* OS‑independent design.
19+
* Project & template management.
820

9-
[![AutoControl Stable Python3.9](https://github.com/Intergration-Automation-Testing/AutoControl/actions/workflows/stable_python3_9.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/AutoControl/actions/workflows/stable_python3_9.yml)
21+
## ⚠️ Notice
22+
Currently Unix/Linux Wayland GUI is not supported.
23+
This may be added as a future feature.
1024

11-
[![AutoControl Stable Python3.10](https://github.com/Intergration-Automation-Testing/AutoControl/actions/workflows/stable_python3_10.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/AutoControl/actions/workflows/stable_python3_10.yml)
12-
13-
[![AutoControl Stable Python3.11](https://github.com/Intergration-Automation-Testing/AutoControl/actions/workflows/stable_python3_11.yml/badge.svg)](https://github.com/Intergration-Automation-Testing/AutoControl/actions/workflows/stable_python3_11.yml)
14-
15-
### Documentation
16-
[![Documentation Status](https://readthedocs.org/projects/autocontrol/badge/?version=latest)](https://autocontrol.readthedocs.io/en/latest/?badge=latest)
17-
18-
[AutoControl Doc Click Here!](https://autocontrol.readthedocs.io/en/latest/)
19-
20-
---
21-
22-
> Project Kanban \
23-
> https://github.com/orgs/Integration-Automation/projects/2/views/1 \
24-
> * Powerful and useful GUI Automation.
25-
> * Image recognition.
26-
> * Coordinate-based.
27-
> * Mouse automation.
28-
> * Keyboard automation.
29-
> * Locate image less than 0.5 sec.
30-
> * AutoControl script.
31-
> * Generate JSON/HTML/XML report.
32-
> * Remote Automation support.
33-
> * 1 sec / thousands keyboard event.
34-
> * 1 sec / thousands mouse event.
35-
> * Open another process support.
36-
> * Shell command support.
37-
> * Screenshot support.
38-
> * OS Independent.
39-
> * Project & Template support.
40-
41-
---
42-
43-
### NOTICE
44-
> We don't support Unix/Linux Wayland GUI Now \
45-
> May be future feature
46-
---
47-
48-
## install
25+
## Installation
4926

5027
```
5128
# make sure you have install cmake libssl-dev (on linux)
5229
pip install je_auto_control
5330
```
5431

55-
## Info
32+
## Requirements
33+
34+
* Python 3.9 or later
35+
* pip 19.3 or later
5636

57-
> * requirement
58-
>> * Python 3.9 or later
59-
>> * pip 19.3 or later
6037

61-
> * Dev env
62-
>> * windows 11
63-
>> * osx 11 big sur
64-
>> * ubuntu 20.0.4
6538

39+
## Development Environment
40+
* Windows 11
41+
* macOS 11 Big Sur
42+
* Ubuntu 20.04
6643

67-
> * Test on
68-
>> * Windows 10 ~ 11
69-
>> * osx 10.5 ~ 11 big sur
70-
>> * ubuntu 20.0.4
71-
>> * raspberry pi 3B and 4B
44+
## Tested On
45+
* Windows 10 ~ 11
46+
* macOS 10.15 ~ 11 Big Sur
47+
* Ubuntu 20.04
48+
* Raspberry Pi 3B / 4B
49+
50+
## Setting Up Development Environment
51+
```commandline
52+
pip install -r dev_requirements.txt
53+
```
7254

73-
## How to set dev environment
7455

75-
> * Clone repo on GitHub or download source code
76-
> * Prepare a python venv
77-
> * Run command "pip install --upgrade pip"
78-
> * Run command "pip install -r dev_requirements.txt"
7956

80-
### Architecture Diagram
81-
![architecture_diagram](architecture_diagram/AutoControl_Architecture.drawio.png)

dev.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
66

77
[project]
88
name = "je_auto_control_dev"
9-
version = "0.0.127"
9+
version = "0.0.131"
1010
authors = [
1111
{ name = "JE-Chen", email = "jechenmailman@gmail.com" },
1212
]

je_auto_control/__init__.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,6 @@
7373
# test record
7474
from je_auto_control.utils.test_record.record_test_class import \
7575
test_record_instance
76-
# timeout
77-
from je_auto_control.utils.timeout.multiprocess_timeout import \
78-
multiprocess_timeout
7976
# Windows
8077
from je_auto_control.windows.window import windows_window_manage
8178
from je_auto_control.wrapper.auto_control_image import locate_all_image
@@ -84,7 +81,6 @@
8481
# import keyboard
8582
from je_auto_control.wrapper.auto_control_keyboard import check_key_is_press
8683
from je_auto_control.wrapper.auto_control_keyboard import get_keyboard_keys_table
87-
from je_auto_control.wrapper.auto_control_keyboard import get_special_table
8884
from je_auto_control.wrapper.auto_control_keyboard import hotkey
8985
from je_auto_control.wrapper.auto_control_keyboard import keyboard_keys_table
9086
from je_auto_control.wrapper.auto_control_keyboard import press_keyboard_key
@@ -96,7 +92,7 @@
9692
from je_auto_control.wrapper.auto_control_mouse import click_mouse
9793
from je_auto_control.wrapper.auto_control_mouse import get_mouse_position
9894
from je_auto_control.wrapper.auto_control_mouse import mouse_keys_table
99-
from je_auto_control.wrapper.auto_control_mouse import mouse_scroll
95+
from je_auto_control.wrapper.auto_control_mouse import mouse_scroll_error_message
10096
from je_auto_control.wrapper.auto_control_mouse import press_mouse
10197
from je_auto_control.wrapper.auto_control_mouse import release_mouse
10298
from je_auto_control.wrapper.auto_control_mouse import send_mouse_event_to_window
@@ -112,7 +108,7 @@
112108

113109
__all__ = [
114110
"click_mouse", "mouse_keys_table", "get_mouse_position", "press_mouse", "release_mouse",
115-
"mouse_scroll", "set_mouse_position", "special_mouse_keys_table",
111+
"mouse_scroll_error_message", "set_mouse_position", "special_mouse_keys_table",
116112
"keyboard_keys_table", "press_keyboard_key", "release_keyboard_key", "type_keyboard", "check_key_is_press",
117113
"write", "hotkey", "start_exe", "get_keyboard_keys_table",
118114
"screen_size", "screenshot", "locate_all_image", "locate_image_center", "locate_and_click",
@@ -121,10 +117,10 @@
121117
"AutoControlScreenException", "ImageNotFoundException", "AutoControlJsonActionException",
122118
"AutoControlRecordException", "AutoControlActionNullException", "AutoControlActionException", "record",
123119
"stop_record", "read_action_json", "write_action_json", "execute_action", "execute_files", "executor",
124-
"add_command_to_executor", "multiprocess_timeout", "test_record_instance", "screenshot", "pil_screenshot",
120+
"add_command_to_executor", "test_record_instance", "screenshot", "pil_screenshot",
125121
"generate_html", "generate_html_report", "generate_json", "generate_json_report", "generate_xml",
126122
"generate_xml_report", "get_dir_files_as_list", "create_project_dir", "start_autocontrol_socket_server",
127-
"callback_executor", "package_manager", "get_special_table", "ShellManager", "default_shell_manager",
123+
"callback_executor", "package_manager", "ShellManager", "default_shell_manager",
128124
"RecordingThread", "send_key_event_to_window", "send_mouse_event_to_window", "windows_window_manage",
129125
"ScreenRecorder", "get_pixel"
130126
]

0 commit comments

Comments
 (0)