Settings ExternalToolsSettings/en: Unterschied zwischen den Versionen

Aus expecco Wiki (Version 2.x)
Zur Navigation springen Zur Suche springen
Zeile 39: Zeile 39:
This dialog configures those language interpreters.
This dialog configures those language interpreters.


[[Datei:point_right.png|20px]] If no special setting is entered here, the interpreter is assumed to be found along the regular command line path.
[[Datei:point_right.png|20px]] If no special settings are entered here, the corresponding interpreter is assumed to be found along the regular command line path.
Thus, if you have ruby installed, and you can execute it from the command line via "<code>ruby --version</code>", then no special setup is needed in this dialog (for ruby).
Thus, if you have ruby installed, and you can execute it from the command line via "<code>ruby --version</code>", then no special setup is needed in this dialog (for ruby).
<br>This is the recommended way to install those external programs: let them install themself at their preferred location and make sure, they are found along your shell's/cmd's <code>PATH</code> setting (you may have to install them before starting expecco or restart expecco, so that the <code>PATH</code> is already correct at the time expecco is started). If you setup your test system this way, you avoid having to edit the settings when your tests are to be executed on another machine, or are automated via a QM system (such as expeccoALM).
<br>This is the recommended way to install those external programs: let them install themself at their preferred location and make sure, they are found along your shell's/cmd's <code>PATH</code> setting (you may have to install them before starting expecco or restart expecco, so that the <code>PATH</code> is already correct at the time expecco is started). If you setup your test system this way, you avoid having to edit the settings when your tests are to be executed on another machine, or are automated via a QM system (such as expeccoALM).

Version vom 14. Oktober 2020, 22:21 Uhr

External Tools Settings[Bearbeiten]

These are found in "Settings" - "External Tools".

Expecco may use external programs to provide additional functionality. This dialog allows for the configuration of which executable is used in particular.

HTML Viewer[Bearbeiten]

Specify the program which is used to display online help documents. By default (if left blank), the configured web-browser (typically: Firefox, Safari or Internet Explorer) is used. For security reasons, it is recommended to use Firefox or Safari as opposed to Internet Explorer.

PDF Viewer[Bearbeiten]

Specify the program which is used to display generated report documents. By default, the configured PDF viewer (typically: acrobat reader) is used.

Wiki Folder[Bearbeiten]

Should point to this Wiki (and obviously, it does already, otherwise you would probably not read this document). By default, the Wiki pages are accessed via HTTPS (i.e. encrypted SSL on port 443). You can turn this to HTTP, if your firewall does not allow outside connections via ports other than 80.

External Text Editor[Bearbeiten]

Specify the program to edit text attachments. Useful Linux/Unix settings are "xterm -e vi %1" or "xterm -e emacs %1". By default, a built in text editor (FileBrowser) is used.

Starting with rel 20.1, there will be separate fields for code-editing and attachment-editing. If a command is defined in any, an "Open Editor" icon will be shown in the elementary code / attachment code pages respectively.

External CSV Editor[Bearbeiten]

Specify the program to edit CSV attachments. A useful Linux/Unix setting is "/opt/libreoffice/bin/office %1" or another excel-alike calculator which can read and write CSV files. By default, a built in text editor (FileBrowser) is used.

External ImageEditor[Bearbeiten]

Specify the program to edit image/bitmap attachments. The program should be able to read/write jpeg, png, tiff, gif and bmp images (whatever is present in your attachments). Useful programs are gimp, photoshop or mspaint.
The bitmap editor is mostly used to postprocess captured screen images (cut borders or extract sub images) for object detection from bitmap screens. It is usually not needed for other GUI technologies.

By default, a builtin simple bitmap editor is used.  

External Script Interpreter Settings[Bearbeiten]

These are found in "Settings" - "Execution" - "External Script Interpreters".

Script interpreters are programs used to execute script action blocks written in various programming languages, such as Java, Node.js, Python, Ruby, TCL etc.
The location (i.e. folder) and name of the executable may depend on the operating system or your particular choice when installed. It may also be required to choose among a number of different installed versions. This dialog configures those language interpreters.

Point right.png If no special settings are entered here, the corresponding interpreter is assumed to be found along the regular command line path. Thus, if you have ruby installed, and you can execute it from the command line via "ruby --version", then no special setup is needed in this dialog (for ruby).
This is the recommended way to install those external programs: let them install themself at their preferred location and make sure, they are found along your shell's/cmd's PATH setting (you may have to install them before starting expecco or restart expecco, so that the PATH is already correct at the time expecco is started). If you setup your test system this way, you avoid having to edit the settings when your tests are to be executed on another machine, or are automated via a QM system (such as expeccoALM).

Additional Path[Bearbeiten]

Additional path(es) which are appended to the $PATH shell environment variable for external script interpreters. This will be valid eg. for shell scripts, but also for interpreters like python, node etc.

Point right.png Directories are separated by ':' (colon) in Unix systems, whereas ';' (semicolon) is used in Windows.

Shell (Win32 only)[Bearbeiten]

Specify the program which is used to execute shell scripts.

Point right.png Under the Windows operating system, a Unix bourne/korn-shell compatible shell has to be installed (for example as part of the cygwin package).

This is only needed if your test suite includes script actions which are written in the Unix shell command language AND your test suites are required to run unchanged under both Windows and Unix operating systems (however, be aware that this still does not guarantee trouble free operation; file patches and the different sets of available shell command line tools may still make your scripts unportable). A better solution would be to use combined Shell/Batch actions.

If unspecified, the default shell (value of the "SHELL" environment variable, in either an expecco environment in scope or the shell environment) is used.

In most cases, this setting is not required.

Powershell Path[Bearbeiten]

Specify which powershell interpreter to use for Powershell elementary blocks.

Point right.png Although mostly used in Windows environments, powershell is also available for Unix systems, incl. OSX [1]
However, it will require a Mono CLR environment to be installed.

By default, the powershell command which is found along your PATH setting is used (i.e. the same as found when executing "powershell" on the command line). Of course, you have to have powershell installed on your machine. Notice, that on some systems, the powershell command is named 'pwsh'. If unspecified, the value of the "POWERSHELL" environment variable (in either an expecco environment in scope or the shell environment) is used.

This setting is not needed if you do not use any Powershell elementary blocks.

Node.js[Bearbeiten]

These settings are not needed if you do not use any Node elementary blocks.

Node.js Path[Bearbeiten]

Specify which node.js interpreter to use for Node elementary blocks.

By default, the node command which is found along your PATH setting is used (i.e. the same as found when executing "node" on the command line). Of course, you have to have ruby installed on your machine. If unspecified, the value of the "NODEJS_SHELL" environment variable (in either an expecco environment in scope or the shell environment) is used.

Module Path[Bearbeiten]

Path where node modules are searched. This is passed to node in the NODE_MODULES Environment variable.

Execution Directory[Bearbeiten]

Directory in which node is executed (i.e. its "current directory").

NodeRED Module Path[Bearbeiten]

Path where node modules are searched for NodeRED actions. This is passed to node in the NODE_MODULES Environment variable.

NodeRED Execution Directory[Bearbeiten]

Directory in which the node interpreted used for NodeRED Actions is executed.

Python Path[Bearbeiten]

Specify which python interpreter to use for Python elementary blocks.

By default, the python command which is found along your PATH setting is used (i.e. the same as found when executing "python" on the command line). Of course, you have to have python installed on your machine.
If unspecified, the value of the "PYTHON_SHELL" environment variable (in either an expecco environment in scope or the shell environment) is used.

This setting is not needed if you do not use any Python elementary blocks.

Python2 and Python3 Settings[Bearbeiten]

Due to some bad planning in the python community, there were a number of changes between python2.x and python3.x, which may (and usually do) make scripts written for either version incompatible with the other. For example, the following print expression from python2:

print "Hello World from a Python2 script\n"

needs parentheses in python3:

print ("Hello World from a Python2 script\n")

and will lead to a syntax error if executed in python3.

Although it is a good idea to use Python3 (because Python2 is going to be obsolete soon), there are many open-existing libraries for Python2 around. Thus, it may be necessary to specify an explicit interpreter version to be used for python script actions.

If all of your actions depend on the same python interpreter version, it is sufficient to ensure that either the "PYTHON_SHELL" variable is set correctly, or the "Python Path" is defined in the settings to point to the correct interpreter.

However, if you have mixed version scripts (for example, when importing python actions written by another team, which used a different version), you have to specify the python interpreter explicitly for some of the actions.

You can either specify the version in the elementary action itself (language menu for bridged actions or #PYTHON-comment in script actions) or provide the version information dynamically without touching the action itself. The later is a bit more complicated to use, but required if you do not want to modify imported actions.

For this, expecco contains 3 setting fields for the python interpreter: "Python Path" in the settings or "PYTHON_SHELL" in the shell environment, which are used when no explicit version is required, or if all of your script require the same python version, "Python2 Path" in the settings (or "PYTHON2_SHELL"), which are used for scripts which have been marked as explicitly requiring python2 and "Python3 Path" in the settings (or "PYTHON3_SHELL") for scripts which are marked to require python3.

The python version requirements are defined in the environment of the suite/imported library in which the action is defined: a variable named "PYTHON_VERSION", which should be an integer with either "2" or "3" as value specifies the version to be used for ALL of the python actions within that library. Notice, that the environment of the project from which the action was imported is relevant here - not the active environment at execution time, or the suite's top environment. This version number then determines, which of the above setting is to be used (i.e. PYTHON2_SHELL/path or PYTHON3_SHELL/path).

Using that double-indirect mechanism, it is still possible to:

  • import multiple libraries with different python-versions requirements
  • specify the paths independent of where the python interpreters are installed (i.e. the machine on which the final suite is executed may have different installation paths than the machine on which the imported libraries were developed).

A concrete demo importing libraries which require different python interpreter versions is found in "d46_Suite_using_both_Python2_and_Python3_actions.ets" in the demo folder.

Notice:
In expecco 19.2, you can also choose the python version in the code editor's language chooser.

Module Path[Bearbeiten]

Specifies where python should look for importable python modules. This is passed to the python executable via the 'PYTHONPATH" Environment variable.

Execution Directory[Bearbeiten]

Specifies the directory in which the python interpreter should be executed (i.e. its "current directory").

CBridge Path[Bearbeiten]

This setting is not needed if you do not use any C/C++ elementary blocks.

Specify which CBridge to use for remote C action execution. The CBridge is responsible for compilation and execution of C action blocks. C actions are dynamically compiled and loaded into the CBridge. For this, a compiler toolchain must be installed on the system (actually, it is also possible to deploy precompiled binaries with the test suite, so C actions can also be executed without a compiler toolchain).

By default, a 32bit CBridge is provided for 32bit expecco systems, and a 64bit CBridge for 64bit expeccos.

For compilation, the CBridge will execute a shell or batch script. Exept provides scripts for the most common toolchains, but you can add your own scripts, taking any existing as a template, and modifying it as required. Scripts are to be found under the plugin-cBridge folder beneath the expecco installation folder.

Connect to Already Running Bridge[Bearbeiten]

This is mostly for debugging; if set, no new bridge is started, but expecco will connect to a running bridge. This is used to execute the bridge eg. under a debugger.

Store object files in project[Bearbeiten]

If checked, the generated object code (binary executables) will be stored with the project. When later loaded and executed, these binaries will be used and no attempt is made to compile the C-code dynamically on the target. Use this, if no compiler toolchain is available on the target.

Root Cling Path[Bearbeiten]

This setting is not needed if you do not use any Cling elementary blocks.

Specify the path to the root command here. On OS X, this is typically "/Applications/root_vx.yy.zz/bin/root", and on Linux "/opt/root_vx.yy.zz/bin/root" or "/use/local/bin/root".

Sorry, but to our knowledge, there is no easy to download/install version available for Windows (yet).

Expecco Path[Bearbeiten]

Specify which expecco to use for remote action execution (for load/performance and multi-peer tests). With remote expecco execution, you will be able to specify on a step-by-step basis, on which machine it is to be executed. making it trivial to distribute the execution among a number of machines.

For now, this is an unsupported, unpublished feature to be deployed with a later release.

ST/X, VisualWorks and VisualAge Path[Bearbeiten]

This setting is not needed if you do not use any Smalltalk elementary blocks.

Specify which interpreter to use for bridged Smalltalk elementary blocks for various Smalltalk implementations (eXept, Cincom or IBM/Instantiations).

If a connect-host is specified (in the form "hostname" or "hostname:portNr"), a connection is setup to that machine, assuming that a Smalltalk image is already running there, and the bridge port is served. Otherwise, the given Smalltalk-command is executed, passing a startup script as argument.

For now, this is an unsupported, unpublished feature to be deployed with a later release.

Scheme[Bearbeiten]

Specify which interpreter to use for bridged Scheme elementary blocks. We intent to especially support actions to be executed under Chez Scheme. For now, this is an unsupported, unpublished feature to be deployed with a later release.

Ruby Path[Bearbeiten]

Specify which ruby interpreter to use for Ruby elementary blocks.

By default, the ruby command which is found along your PATH setting is used (i.e. the same as found when executing "ruby" on the command line). Of course, you have to have ruby installed on your machine. If unspecified, the value of the "RUBY_SHELL" environment variable (in either an expecco environment in scope or the shell environment) is used.

This setting is not needed if you do not use any Ruby elementary blocks.

Perl Path[Bearbeiten]

Specify which perl interpreter to use for Perl elementary blocks.

By default, the perl command which is found along your PATH setting is used (i.e. the same as found when executing "perl" on the command line). Of course, you have to have perl installed on your machine. If unspecified, the value of the "PERL_SHELL" environment variable (in either an expecco environment in scope or the shell environment) is used.

This setting is not needed if you do not use any Perl elementary blocks.

TCL Path[Bearbeiten]

Specify which tcsh interpreter to use for TCL elementary blocks.

By default, the tcsh command which is found along your PATH setting is used (i.e. the same as found when executing "tcsh" on the command line). Of course, you have to have TCL installed on your machine. If unspecified, the value of the "TCL_SHELL" environment variable (in either an expecco environment in scope or the shell environment) is used.

This setting is not needed if you do not use any TCL elementary blocks.

Go Path[Bearbeiten]

Specify which go interpreter to use for Go language elementary blocks.

By default, the go command which is found along your PATH setting is used (i.e. the same as found when executing "go" on the command line). Of course, you have to have go installed on your machine. If unspecified, the value of the "GO_SHELL" environment variable (in either an expecco environment in scope or the shell environment) is used.

This setting is not needed if you do not use any Go elementary blocks.

Gnuplot Path[Bearbeiten]

Specify which gnuplot interpreter to use for Plot/Graph elementary blocks.

By default, the gnuplot command which is found along your PATH setting is used (i.e. the same as found when executing "gnuplot" on the command line). Of course, you have to have gnuplot installed on your machine. If unspecified, the value of the "GNUPLOT_SHELL" environment variable (in either an expecco environment in scope or the shell environment) is used.

This setting is not needed if you do not use any Plot/Graph elementary blocks.

'R' Path[Bearbeiten]

Specify which 'R' interpreter to use for RScript elementary blocks.

By default, the 'R' command which is found along your PATH setting is used (i.e. the same as found when executing "R" on the command line). Of course, you have to have 'R' installed on your machine. Notice, that on OSX and Windows systems, the 'R' command is named 'r' (lowercase), whereas on Linux systems, it is called 'R' (uppercase). If unspecified, the value of the "R_SHELL" environment variable (in either an expecco environment in scope or the shell environment) is used.

This setting is not needed if you do not use any RScript elementary blocks.

External OCR Tools Settings[Bearbeiten]

Expecco uses an external framework for OCR (Optical Character Recognition), especially when local screen or VNC GUIs need to extract text from captured screenshots.

At the moment, the most powerful free framework is the "tesseract" open source program, which can be downloaded and installed from [ https://github.com/tesseract-ocr/tesseract/wiki/Downloads ] or simply with "pip install tesseract", assuming Python is already installed. Tesseract is available for Windows, Linux and OSX.

For Windows another popular package (which is also based on tesseract) is "capture2text", which can be downloaded and installed from [ https://sourceforge.net/projects/capture2text ].

You may also use any other (possibly commercial) OCR framework.

In the OCR settings dialog, first choose the framework to use (tesseract, capture2Text or other), then the path to the OCR command itself (eg. "c:\program files\Tesseract-OCR\bin\tesseract.exe" or simply "tesseract", if it is in your path) and finally a command template, which is expanded with command-path, input file Name (png) and output file Name (txt). If the command needs any extra command line arguments, define them in this template.

For tesseract and capture2text:
Please make sure that the language specific tessdata packages are installed (files are typically in "c:\program files\Tesseract-OCR\tessdata" or "/opt/local/share/tessdata" on Unix systems).
If not, download from: [ https://github.com/tesseract-ocr/tessdata_best ].



Copyright © 2014-2024 eXept Software AG