Библиотеки тестирования GUI
Ranorex https://www.ranorex.com/
TestComplete
https://smartbear.com/product/testcomplete/overview/
Squish
https://www.froglogic.com/squish/
Но этот восторг умирает на корню после первого же чужого проекта или библиотеки на C++, которые вы пытаетесь скачать и собрать. Главный плюс Pascal и сред на его основе — отсутствие проблем со сборкой.
Сборка C++ это ад. Нет, это хуже любого ада. Оно настолько негуманоидно, что можно потратить недели, разбираясь, почему же проект отказывается собираться. Вы переберёте все возможные ключи линкера и компилятора, а заодно по 5-6 версий каждого. Вы будете сутками напролёт изучать include-файлы, выясняя, где там что конфликтует или отсутствует. Вы заодно освоите Perl, Python, bash и синтаксис makefile, т.к. половина проектов при сборке умудряется юзать их все одновременно.
И, конечно, каждая неудачная итерация сборки будет отнимать несколько часов (в лучшем случае) времени. Такое ощущение, что всё это специально придумывали, чтоб проект не мог собрать никто кроме создателя.
А в Delphi красота: F9, и всё тут же работает. Даже очень крупные проекты больше 10 сек. не собираются, а простенькие программки до 20к строк вообще стартуют мгновенно.
apt-get remove --purge wolfram-engine anacron logrotate minecraft-pi python-minecraftpi idle python3-pygame python-pygame python-tk idle3 python3-tk python3-rpi.gpio python-serial python3-serial python-picamera python3-picamera debian-reference-en pistore sonic-pi python3-numpy python3-pifacecommon python3-pifacedigitalio python3-pifacedigital-scratch-handler python-pifacecommon python-pifacedigitalio oracle-java8-jdk omxplayer scratch nuscratch timidity smartsim penguinspuzzle dillo x2x
#!/bin/bashСохраняю скрипт как temperature.sh и запускаю на вывод в консоль раз в секунду:
cpuTemp0=$(cat /sys/class/thermal/thermal_zone0/temp) cpuTemp1=$(($cpuTemp0/1000)) cpuTemp2=$(($cpuTemp0/100)) cpuTempM=$(($cpuTemp2 % $cpuTemp1)) echo CPU temp"="$cpuTemp1"."$cpuTempM"'C" echo GPU $(/opt/vc/bin/vcgencmd measure_temp)
watch -n 1 ./temperature.sh
# disable and remove swap file sudo dphys-swapfile swapoff sudo dphys-swapfile uninstall # edit /etc/dphys-swapfile to read # #CONF_SWAPSIZE=100 # CONF_SWAPFILE=/media/usb/swap # create and enable new swap file sudo dphys-swapfile setup sudo dphys-swapfile swapon # if you get: # swapon: /media/usb/swap: read swap header failed: Invalid argument # reboot and rerun: # sudo mount /dev/sdXX /media/usb # sudo mount --bind /media/usb/build/qt-everywhere-opensource-src-5.4.1 /home/pi/opt/qt-everywhere-opensource-src-5.4.1 # cd ~/opt/qt-everywhere-opensource-src-5.4.1 # check that a ~2GB swap file is active now cat /proc/swaps
sudo dd if=/dev/zero of=/media/usb/swap count=2048 bs=1MiB sudo mkswap /media/usb/swap sudo dphys-swapfile swapon
sudo apt-get update sudo apt-get upgradeNext, open /etc/apt/sources.list in your favorite text editor and replace wheezy with jessie:
sudo nano /etc/apt/sources.listUpdate your package list:
sudo apt-get updateand, finally, install GCC 4.9
sudo apt-get install gcc-4.9 g++-4.9Last step is to revert back from Jessie to Wheezy, open /etc/apt/sources.list and replace jessie withwheezy, after that do an update of your package list:
sudo vim /etc/apt/sources.list sudo apt-get update
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 10 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 10Убеждаюсь, что GCC версии 4.9
gcc --verbose --version
./configure -v -opengl es2 -tslib -force-pkg-config -device linux-rasp-pi-g++ -device-option CROSS_COMPILE=/usr/bin/ -opensource -confirm-license -optimized-qmake -reduce-exports -release -qt-pcre -make libs -make tools -nomake examples -prefix /media/usb/qt5 2>&1 | tee config.out-reduce-exports можно убрать, если ругается на него.
apt-get install busybox-syslogd dpkg --purge rsyslogThis will put log into circular memory buffer, you will able to see log using logread command. 5.2 Вариант с переносом /var/log (куда пишутся логи) на раздел, смонтированный в ОЗУ. 6. Разбираемся с SWAP 6.1 Отключаем SWAP Модифицируем файл /boot/cmdline.txt - в конец строки добавляем noswap.dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait noswap