Qt Inject Windows/en

Aus expecco Wiki (Version 25.x)
Zur Navigation springen Zur Suche springen

Inject ExpeccoTestService-Library (recommended)

Required Files

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

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

Program to inject the expecco test code.

Filename:
etsInject.exe

Location:
<qt client directory>\expeccoTestService_InjectTool\bin\<CompilerVersion>\<CompilerArchitecture>\

Expecco Test Service Library

Library with the expecco test code.

Filename:
ExpeccoTestService.dll

Location:
<qt client directory>\bin\<CompilerVersion>_<CompilerArchitecture>_Qt<QtVersion>\

Expecco Qt Inject Script

You have to define the paths according to you setup int the Expecco Qt Inject Script 'ets_Inject-template.bat':

QTDIR

Path of the QT directory on your system, dependent on qt and compiler version.

Example
C:\QT\5.15.0\msvc2019_64

ExpeccoTestServiceInject

Path and filename of the 'Expecco Qt Inject Program'.

ExpeccoTestService

Path and filename of the 'Expecco Test Service Library'

ApplicationDirectory, ApplicationName

Directory and name of the application to be tested.

Terminate running Test Application

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

You can activate the logging by removing the comment of two lines of the 'Expecco Qt Inject Script' and modifying the log level.

set ETS_QT_LOG_FILE=c:\\Windows\\temp\\etsQt.log
set ETS_QT_LOG_LEVEL=2

Start

Start the modified 'Expecco Qt Inject Script'.

Insert into Source Code (alternative)

Code modifications

Source (main.cpp)

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)

Add the ExpeccoTestService library in the linker path

 LIBS     += -L<path/to/ExpeccoTestService> -lExpeccoTestService

Back to Qt Plugin Reference



Copyright © 2014-2024 eXept Software AG