Frage

generasacodicetagpre.

Dieser Code funktioniert gut.Wenn wir die 5-Sekunden-Pause entfernen, wird die Tabelle nicht gefunden, da die App ein paar Sekunden dauert, um es zu laden.

Ich würde gerne wissen, ob es eine sauberere Art dabei gibt.Ich habe mit Robot.waitforidle () nach dem ApplicationLauncher versucht (ich denke, einst EDT ist leer, alles ist geladen), aber es funktioniert einfach nicht.

Ich weiß, dass Pause einige Bedingungen als Ereignis verwenden kann, wenn Sie aufhören, aber ich verstehe nicht, wie man es schreibt, seit Javadoc und offizieller Doc arm ist.

  • pause.pause (WAITFORCOMPONENTTOSHOWCONDITION.Antilisshowing (Frame.component ())): Ich brauche eine Komponente, wenn ich den Wrapper-Rahmen passiere, funktioniert es nicht.Und ich kann den Tisch nicht passieren, denn das ist genau das, worauf ich warten.
  • Ich verstehe, dann sollte ich wahrscheinlich mit der Komponente zusammenarbeiten, aber ich verstehe es nicht!Ich müde mit:

        @Before public void setUp() {
            Robot robot = BasicRobot.robotWithCurrentAwtHierarchy();
            ApplicationLauncher.application("myApp").start(); 
    
            Pause.pause(5, TimeUnit.SECONDS); 
            frame = WindowFinder.findFrame("frame0").using(robot);
    
            JTableFixture table = frame.table(new GenericTypeMatcher<JTable>(JTable.class) {
                 @Override protected boolean isMatching(JTable table) {
                    return (table instanceof myTreeTable); 
                 }  
            });
        }
    

    Jede Hilfe?

War es hilfreich?

Lösung

Sie könnten komponentenfinder zum lokalisierendie Komponente.B. basierend auf dem Matcher in der Frage: generasacodicetagpre.

Hier ist eine Alternative mit der Suche nach Namen: generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top