SUMO 的 netedit 测试使用 PyAutoGUI。
设置#
- 应安装 Python(至少 2.7 版本)
- 使用包管理器(Linux、macOS)或 pip 进行安装
- openSUSE:
sudo zypper in python3-PyAutoGUI python3-pyperclip scrot python3-opencv - Windows / ubuntu: 请遵循文档
- ubuntu: 额外执行
sudo apt in python3-opencv
- openSUSE:
- 在没有视觉显示的 Linux 上运行时,还需要 Xvfb 和 fluxbox
- openSUSE:
sudo zypper in xorg-x11-server fluxbox - ubuntu:
sudo apt in xvfb fluxbox
- openSUSE:
启动#
- 运行 $SUMO_HOME/tests/runNeteditTests.sh (Linux) 或 %SUMO_HOME%\tests\runNeteditTests.bat (Windows)
设置测试#
所有测试均使用 Python 编写,将 PyAutoGUI 函数隐藏在 tests/netedit/neteditTestFunctions.py 中的测试函数层之后。所有测试都位于相关测试目录的 test.py 脚本中,并始终以相同的头部开头:
import os
import sys
testRoot = os.path.join(os.environ.get('SUMO_HOME', '.'), 'tests')
neteditTestRoot = os.path.join(os.environ.get('TEXTTEST_HOME', testRoot), 'netedit')
sys.path.append(neteditTestRoot)
import neteditTestFunctions as netedit
# Open netedit
neteditProcess, match = netedit.setupAndStart(neteditTestRoot, ['--new'])
此代码将使用 TEXTTEST_HOME 变量和 SUMO_HOME 作为后备来查找包含 netedit 测试的目录。这使得即使在 TextTest 之外,也可以通过简单运行 test.py 脚本来启动测试。此处不应使用相对目录,因为这会使复制和移动测试变得更加困难。
