Qt Inject Windows/en
Inhaltsverzeichnis
Inject ExpeccoTestService-Library (recommended)[Bearbeiten]
Required Files[Bearbeiten]
To inject the expecco test code in your application you need 3 files.
All files are in the qt client directory:
<expecco-installaton-dir>\packages\exept\expecco\plugin\qt\expeccoQtClient
Expecco Qt Inject Script[Bearbeiten]
Batch script to start your application with the expecco test code injected.
You have to change the file according to your setup.
Filename:
ets_Inject-template.bat
Location:
<qt client directory>\expeccoTestService_InjectTool\injectScript\
Expecco Qt Inject Program[Bearbeiten]
Program to inject the expecco test code.
Filename:
etsInject.exe
Location:
<qt client directory>\expeccoTestService_InjectTool\bin\<CompilerVersion>\<CompilerArchitecture>\
Expecco Test Service Library[Bearbeiten]
Library with the expecco test code.
Filename:
ExpeccoTestService.dll
or ExpeccoTestService_V2.dll
(QtQuick)
Location:
<qt client directory>\bin\<CompilerVersion>_<CompilerArchitecture>_Qt<QtVersion>\
Expecco Qt Inject Script[Bearbeiten]
You have to define the paths according to you setup int the Expecco Qt Inject Script 'ets_Inject-template.bat':
QTDIR[Bearbeiten]
Path of the QT directory on your system, dependent on qt and compiler version.
Example
C:\QT\5.15.0\msvc2019_64
ExpeccoTestServiceInject[Bearbeiten]
Path and filename of the 'Expecco Qt Inject Program'.
ExpeccoTestService[Bearbeiten]
Path and filename of the 'Expecco Test Service Library'
ApplicationDirectory, ApplicationName[Bearbeiten]
Directory and name of the application to be tested.
Terminate running Test Application[Bearbeiten]
To stop and then restart a running test application, set the value of TERMINATE_RUNNING_APP in the script to 'true' (default value: 'false').
Logging[Bearbeiten]
To activate logging, remove the comment from two lines in the 'Expecco Qt Inject Script' and adjust the log level.
set ETS_QT_LOG_FILE=c:\\Windows\\temp\\etsQt.log set ETS_QT_LOG_LEVEL=<loglevel as number or text>
Log Level[Bearbeiten]
Expecco version before 24.1[Bearbeiten]
Every numerical value > 0 activates debug logging
set ETS_QT_LOG_LEVEL=2
From expecco version 24.1[Bearbeiten]
The valid values for loglevel are:
Value as Number | Value as Text | Loglevel |
---|---|---|
0 |
No logging | |
2 |
DEBUG |
>= Debug |
3 |
INFO |
>= Info |
4 |
WARN |
>= Warning |
set ETS_QT_LOG_LEVEL=DEBUG
Start[Bearbeiten]
Start the modified 'Expecco Qt Inject Script'.
Insert into Source Code (alternative)[Bearbeiten]
Code modifications[Bearbeiten]
Source (main.cpp)[Bearbeiten]
Add to header:
extern "C" { void ETSServerInitializeBaseC(void); }
Add the initialization call to the main method after the QApplication call:
int main(int argc, char *argv[]) { ... QApplication a(argc, 0); ... ETSServerInitializeBaseC(); ... }
Build File (xxx.pro)[Bearbeiten]
Add the ExpeccoTestService library in the linker path
LIBS += -L<path/to/ExpeccoTestService> -lExpeccoTestService
Back to Qt Plugin Reference