2012-08-31 17 views
7

Così sto facendo un po 'di automazione C#/test UI con White e sto avendo problemi con qualcosa. Ho un DataGridView nell'app e ho impostato lo sfondo colori delle celle in modo diverso a seconda dello stato dell'applicazione. Voglio controllare questi colori durante i test usando il bianco, ma sto avendo problemi a farlo.Accesso alle celle DataGridView via White

Ecco cosa sto cercando di fare funzionare. Posso ottenere la visualizzazione a griglia, ma solo come tabella. Quindi, ho problemi in seguito perché finisco con semplici TableCells invece di DataGridViewCells.

Qualcuno si è imbattuto in questo prima o ha qualche suggerimento?

+0

Perché non puoi fare così: MainWindow.Window.Get ? – Marty

+0

Hmmm, forse sono su una versione precedente di bianco, ma non riesco a trovare un componente DataGridView bianco. – sshannin

+2

Se l'applicazione è tua, puoi migliorare il supporto/le funzionalità di UI Automation per una migliore integrazione con White (che credo utilizzi l'automazione dell'interfaccia utente per fare la maggior parte del suo lavoro) –

risposta

1

Sei sicuro che il backcolor è esposto tramite l'automazione dell'interfaccia utente? Dalla codifica di automazione di interfaccia utente di basso livello che ho fatto, non ho mai visto una tale proprietà. Ho appena aperto Inspect (simile a UISpy) e l'ho indirizzato a un DataGridView in un'app di WinForms C#, e nessuna di queste proprietà è esposta.

Quindi, poiché non sembra essere esposto, non c'è modo di capirlo attraverso l'automazione, a meno di catturare un'immagine e confrontarla con una certa soglia con qualche soglia (sembra un disastro).

A meno che non sia possibile in qualche modo incorporare le informazioni in qualche altra proprietà di automazione (che richiederebbe di cambiare l'app sottoposta a test), non vedo alcun modo per farlo. :(

+0

Sì, è una specie di conclusione alla quale sono arrivato. Ho finito per afferrare l'immagine visibile dall'area definita dall'elemento e osservando i suoi pixel reali (fondamentalmente come suggerivi tu). – sshannin