Utilizzo Appium per testare un'applicazione ibrida Android che include frequenti transizioni tra NATIVE e il contesto WEBVIEW. Queste visualizzazioni Web sono sviluppate usando le librerie React.Accesso agli elementi di reazione utilizzando Appium per l'automazione
Per la mia comprensione e correggetemi se sbaglio, How React Works è che crea un DOM virtuale utilizzando il vero DOM e genera un nome classe dinamica corrispondenti a quelli del javascript. Il Diff Algorithm fornisce un modo efficace per differenziare gli oggetti utilizzando i nomi di classe auto generati.
Il problema che sto affrontando è che usando Appium non sono in grado di accedere agli elementi da queste webview utilizzando qualsiasi metodo findElementsBy
. Il nome della classe essendo solo il parametro visibile a UIAutomator su cui potremmo realmente fare affidamento è cambiato da React su ogni nuova generazione generata.
- C'è un modo in modo che possa refactoring questi nomi delle classi generati automaticamente per alcuni nomi sensibili utilizzando la libreria stessa Reagire?
Il chrome inspect fornisce i dettagli del WebView nella mia applicazione come:
<div class="_32f8NoUfyUtNSxo3w4Ptbp" data-reactid=".0.1.$=13:0.0.0">…</div>
- Tutte le idee su come accedere agli elementi DOM reale utilizzando Appium per questo caso?
Info: WebView.setWebContentsDebuggingEnabled(true)
si trova nel codice di applicazione.
Apprezzerei anche eventuali cavi.
Si sta utilizzando un caricatore di pacchetti Web per gli stili o come li componi/compili? –
@DanielSchmidt: Non ho molto contesto sulla fine della compilazione delle viste. Fornirebbe presto i dettagli. – nullpointer