-
Notifications
You must be signed in to change notification settings - Fork 69
/
README
138 lines (86 loc) · 5.16 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
The fMBT (free Model-Based Testing) tool automatically generates and
executes tests. It is suitable for testing anything from individual
C++ classes to GUI applications and distributed systems containing a
range of different devices. fMBT provides a model editor, test
generator, adapters for various purposes and tools for analysing logs.
Building & installing
---------------------
Quick start for Docker users:
Build an image including commandline and GUI utilities:
docker build . -t fmbt-gui:latest -f Dockerfile.fmbt-gui
See Dockerfile.fmbt-gui on running fmbt3-editor from the image.
Quick start for Ubuntu 24.04 and later users:
sudo apt install -y autoconf automake build-essential debhelper flex gawk git-core gnuplot graphviz imagemagick libboost-dev libboost-regex-dev libedit-dev libglib2.0-dev libmagickcore-dev libpng16-16 libtool libxml2-dev python3 python3-pip python3-dev python3-pexpect python3-pyside2.qtcore python3-pyside2.qtgui python3-pyside2.qtwidgets tesseract-ocr
./autogen.sh && ./configure && make -j 4 && sudo make install
Quick start for Debian 11 / Ubuntu 22.04 users:
### Note: use fmbt3-editor instead of fmbt-editor.
sudo apt install -y autoconf automake build-essential debhelper flex gawk git-core gnuplot graphviz imagemagick libboost-dev libboost-regex-dev libedit-dev libglib2.0-dev libmagickcore-dev libpng16-16 libtool libxml2-dev python2 python2-dev python3-pexpect python3-distutils python3-pyside2.qtcore python3-pyside2.qtgui python3-pyside2.qtwidgets tesseract-ocr
./autogen.sh && ./configure && make -j 4 && sudo make install
cd utils3 && sudo make install
Quick start for Debian 10 / Ubuntu 20.04 users:
### Note: use fmbt3-editor instead of fmbt-editor.
sudo apt install -y autoconf automake build-essential debhelper flex gawk git-core gnuplot graphviz imagemagick libboost-dev libboost-regex-dev libedit-dev libglib2.0-dev libmagickcore-dev libpng16-16 libtool libxml2-dev python python-dbus python-dev python3-pexpect python3-distutils python3-pyside2.qtcore python3-pyside2.qtgui python3-pyside2.qtwidgets tesseract-ocr
./autogen.sh && ./configure && make -j 4 && sudo make install
cd utils3 && sudo python3 setup.py install
Quick start for Debian 9 / Ubuntu 18.04 and earlier users:
sudo apt-get install build-essential libglib2.0-dev libboost-regex-dev libedit-dev libmagickcore-dev python-dev python-pexpect python-dbus python-gobject gawk libtool autoconf automake debhelper libboost-dev flex libpng16-16 libxml2-dev graphviz imagemagick gnuplot python-pyside tesseract-ocr
Quick start for Fedora users:
yum install glibc-devel glib2-devel boost-devel libedit-devel gcc-c++ pexpect dbus-python libtool dh-autoreconf flex libpng12 libxml2-devel graphviz ImageMagick ImageMagick-devel gnuplot python-devel python-pyside tesseract
Quick start for Arch users (assuming base and base-devel to be installed):
pacman -S libedit imagemagick libxml2 boost python2 python gnuplot graphviz gts leptonica tesseract tesseract-data python-pexpect python-dbus boost libtool flex imagemagick python2-pexpect python2-pyside python-pyside-common python2-shiboken
You will also need X (xorg-server) in order to use fmbt-editor and
fmbt-scripter.
./autogen.sh # run only if you cloned sources from git
./configure # add parameter PYTHON=python2 when building on Arch Linux
make
sudo make install
Known issue with Fedora and Arch Linux: By default "make install"
installs Python libraries into directories that are not in the default
PYTHONPATH. Add them to the path:
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages:/usr/local/lib64/python2.7/site-packages
Windows users:
See README-windows.txt for building fMBT for Windows.
Binary downloads
----------------
See artifacts built in gitlab CI/CD pipelines.
https://gitlab.com/fmbt/fmbt_ci/pipelines
Getting started
---------------
1. Create a model and a test configuration:
fmbt-editor helloworld.aal helloworld.conf
2. Run the first test:
fmbt -l first.log helloworld.conf
3. See what it executed:
fmbt-log first.log
Documentation
-------------
doc/aal_python.txt
AAL/Python language reference documentation.
doc/configuration.txt
Test configuration reference documentation.
https://github.com/01org/fMBT/wiki/GUI-testing
GUI testing interfaces for Android,
Tizen, VNC, Windows and X11.
Examples
--------
examples/filesystemtest
Test a filesystem: mkdir, rmdir, access.
examples/c++-unittest
Test a C++ class.
examples/javascript-unittest
Test a JavaScript API in a browser.
examples/python-unittest
Test a Python class.
https://github.com/askervin/fmbt-mplayertest
Test MPlayer's pause, continue, next song, prev song, add
song, and reset playlist.
https://github.com/askervin/fmbt-androidtest
Test the phone application on Android: make calls, put calls
on hold, swap calls, hang up calls from the phone application
and homescreen menu.
fMBT self-tests
---------------
make check
Run tests against the source tree as it is.
test/git-HEAD/run.sh
Run tests against the latest commit in the current git branch.