How to debug an object not ready error (German)

Last edited on

Bei folgendem Fehler...

Script Error
  Object First_Name_QLineEdit not ready.

...auf einer Zeile ähnlich der Zeile 2 des folgenden Code Schnippsels...

imports names

def main():
    waitForObject(names.FirstName_QLineEdit)

...bitte folgendes zur Analyse durchführen:

  1. Breakpoint auf der entsprechenden waitForObject() Zeile setzen.

  2. Testcase ausführen bis Breakpoint erreicht ist.

  3. Spy starten (Spy/"Spy AUT" im Menü).

  4. Objekt Pick Modus starten (Spy/"Pick Object" im Menü).

  5. In AUT auf exakt das Objekt klicken auf das in der waitForObject() Zeile gewartet wird.

  6. In Squish IDE mit rechter Maustaste auf das Objekt in der linken Anzeige des Spy (Spalten Titel "Object", "Type") klicken und im erscheinenden Kontextmenü "Copy to clipboard (Symbolic Name)"

anwählen; Inhalt des Clipboards in ein leeres Textdokument einfügen.

  1. In Squish IDE mit rechter Maustaste auf das Objekt in der linken Anzeige des Spy (Spalten Titel "Object", "Type") klicken und im erscheinenden Kontextmenü "Copy to clipboard (Real Name)" anwählen; Inhalt des Clipboards an vorheriges Textdokument anfügen.

  2. Im Script den Symbolischen Namen (ohne die umgebenden Anführungszeichen) in der Zeile mit dem Breakpoint markieren, mit rechter Maustaste die Markierung anklicken und "Lookup in Object Map" anwählen. (Wenn dies nicht funktioniert auf "Object Map" Eintrag der Test Suite klicken und den Symbolischen Namen manuell heraussuchen.)

  3. Mit rechter Maustaste auf den Symbolischen Namen in der Object Map klicken und "Copy Real Name to Clipboard" anwählen; Inhalt des Clipboards an vorheriges Textdokument anfügen

  4. Symbolische Namen vergleichen: Ist der Symbolische Name den der Spy geliefert der gleiche wie im Script?

11a) Haben beide Real Names identische Container Properties ("window", "container")? Wenn nicht, beide Container Objekte in der Object Map suchen und deren Real Names vergleichen. Dies rekursiv durchführen.

11b) Haben beide Real Names identische Properties? Wenn nicht, wenn beispielsweise die Property "caption" bei beiden unterschiedlich ist, prüfen ob Wildcards (siehe https://doc.qt.io/squish/improving-object-identification.html ) verwendet werden können um auch auf den anderen Real Namen zu passen.