ECU-TEST Technologie-Update auf Python 3 und wxPython 4

Sehr geehrte ECU-TEST-Nutzer,
Um das Produkt ECU-TEST auf dem neuesten Stand zu halten, ist es notwendig, wichtige zugrunde liegende Software-Technologien zu aktualisieren. Auch Benutzererweiterungen sind von diesen Updates betroffen. Um Sie über anstehende Technologie-Updates auf dem Laufenden zu halten, haben wir diesen Leitfaden erstellt, den wir regelmäßig aktualisieren. Hier haben wir die wichtigsten Gründe für den Wechsel auf Python 3 zusammengefasst und informieren Sie über die wichtigsten Auswirkungen auf unsere Nutzer.

Ihr ECU-TEST-Team

Die wichtigsten Gründe für den Wechsel auf Python 3

Python 2.7 EOL ist der 1. Januar 2020
  • Ab dann wird es keine weiteren Sicherheits-Updates für Python 2 geben und
  • Keine neuen Features für Python 2
Python-Bibliotheken werden ihre Python-2-Unterstützung früher oder später einstellen

Die wichtigsten Auswirkungen für alle Nutzer

  • Jeglicher Nutzer-Code muss entsprechend angepasst werden, um in Python 3 zu funktionieren
  • Machen Sie Python 3 jetzt zu einem Teil Ihrer Testprojekt-Roadmap!
  • Bitte planen Sie vorab genügend Zeit ein, um die betroffenen Skripte in Ihrem Workspace anzupassen. Wie viel Zeit genau Sie brauchen, hängt von der Anzahl der Python-Erweiterungen ab, die Sie haben

ECU-TEST Zeitplan

ECU-TEST 7.1

Änderungen:
  • Aktualisierung des GUI-Frameworks auf wxPython 4
  • Alle ECU-TEST- Benutzeroberflächen und -Dialoge wurden auf das neue Framework portiert
  • Mit dem Release von ECU-TEST 7.1 ist das Object-API schon für Python 3 gerüstet
Notwendige Benutzerschritte:
  • Nutzergenerierter Python-Code mit grafischer Benutzeroberfläche (z. B. benutzerdefinierte Utility-Testschritte) muss angepasst werden
  • Migrationshinweise unter Knowledgebase of wxPython4
  • Externe Object-API- oder COM-API-Skripte können bereits jetzt auf Python 3 umgestellt werden

ECU-TEST 7.2

(aktuelle Version)

Änderungen:
  • ECU-TEST wird Hilfswerkzeuge beinhalten, die relevanten Nutzer-Code in Ihrem Workspace identifizieren können
  • Wir liefern Ihnen eine Bibliothek für den Aufruf von Python-3-Code in ECU-TEST mit (siehe ECU-TEST Hilfe > Tutorials > Prozesstrennung)
Notwendige Benutzerschritte:
  • Wenden Sie die Werkezuge auf Ihren Workspace an
  • Planen Sie Ihre Migrationsstrategie

Python ECU-TEST

ECU-TEST 8.0

(Mitte 2019)

Änderungen:
  • ECU-TEST 8.0 wird auf Python 3.7 basieren
  • Wir werden ein Vorab-Release zur Verfügung stellen
  • Auslieferung einer Bibliothek zur Ausführung von altem Python-2-Code in einer separaten Umgebung (siehe ECU-TEST Hilfe > Tutorials > Prozesstrennung)
Notwendige Benutzerschritte:
  • Sämtlicher benutzergenerierter Python-Code muss angepasst werden auf Python 3

Zusätzliche Informationen zur Python-3-Migration

Damit Sie für das Technologie-Update gewappnet sind, empfehlen wir Folgendes:
  • Verwenden Sie ein Versions-Kontrollsystem mit einem separaten Zweig für die Python-3-Migration, um entsprechende Änderungen nachverfolgen zu können
  • Lagern Sie so viel Businesslogik wie möglich in separate, einzeln zu testende Module aus und trennen Sie diese von dem Teil, der mit ECU-TEST-API interagiert, ab
  • Schreiben SieUnit-Tests für diese Module und führen Sie die Tests sowohl vor als auch nach der Migration aus
  • Beginnen Sie mit der Migration, sobald das erste Python-3-ECU-TEST-Vorab-Release zur Verfügung steht, z. B. mithilfe von Konvertierungsskripten wie lib2to3 (https://docs.python.org/3.7/library/2to3.html)

Wenn Sie ECU-TEST-Erweiterungen schreiben, nutzen Sie bitte die folgenden Informationsquellen:

Übersicht von nutzergeneriertem Code, der für Python 3 angepasst werden muss



ExtensionEmbedded inComment
User (AXS-)UtilitiesPython Module
Generators (For Projects, Packages, Parameter Sets, Analysis Jobs)Python Module
UserPyModules (including Bus Calculation Functions)Python Module
User Tool AdapterPython Module
Report GeneratorsPython Module
Report Info ScriptsPython Module
Global Constant ScriptsPython Module
User Python LibrariesPython Module
Object APIPython ModuleOnly if executed within ECU-TEST
COM APIPython ModuleOnly if executed within ECU-TEST
XML RPC API (including the old Package Generator API)Python ModuleOnly if executed within ECU-TEST
Python Trace Step Templates (Event and Stream based)XML (.trcp File)
Function VariablesXML (.pkg File)
All Python ExpressionsXML (.pkg, .prj), all Expression Fields