ProphetAgent can automatically synthesize executable GUI tests from the test steps written in natural language, and then execute the tests on the corresponding apps.
Overview of ProphetAgentProphetAgent has the following advantages as compared with other agents in test case generation and execution:
- Designed specifically for standardized test cases, offering functionality to synthesize to executable code and execute.
- Enhances the comprehensive capabilities of LLMs using knowledge graph abilities.
- Separates code generation from execution, allowing for code review and modification to improve execution success rate.
- No need to modify the code or system.
Python>= 3.9.6JavaAndroid SDK
Clone this repo and install with pip:
git clone https://github.com/prophetagent/Home
cd ProphetAgent/
pip install -e ..apkfile path of the app you want to analyze.- A device or an emulator connected to your host machine via
adb. - Install the neo4j database server.
- Create a graph database in neo4j and fill the KEYS in config/config.ini
- Start GUI Exploration Tool, We have upgraded Droidbot using uiautomator2 to support obtaining various information from dynamic pages like videos
droidbot -a <path_to_apk> -o output_dir
- Run SemanticAgent to annotate semantics, clustering, and build graph. Configure the output_dir and database name of neo4j before running
python agent_semantic/semantic_agent.py
- Edit the text test case. An example is in
resources/output_example/test_cases/flow_path_example.json - Run ExecuteAgent to generate execuable code. Configure the path of test cases before running
python agent_execute/execute_agent.py
The executable code will be generated in the test case directory 5. Check or modify the code and execute it Connect your Android device, install the app, and then run it.
python agent_execute/executer.py