2012-08-31 23 views
7

Przeprowadzam więc testy automatyzacji C#/interfejsu użytkownika z White i mam z czymś problem . Mam DataGridView w aplikacji i ustawić kolory komórek w tle inaczej w zależności od stanu aplikacji. Chcę sprawdzić te kolory podczas testów za pomocą białego, ale mam problem z tym.Uzyskiwanie dostępu do komórek DataGridView przez biały

Oto, co próbuję wykonać. Mogę uzyskać widok siatki, ale tylko jako tabelę. Potem mam problemy później, ponieważ kończę z prostymi TableCells zamiast DataGridViewCells.

var Table = MainWindow.Window.Get<Table>("DataGridViewName"); 
var Row = Table.Rows[0]; 
var Cell = Row.Cells[0]; 
//invalid 
//var Color = Cell.Style.BackColor; 

Czy ktoś już wcześniej to robił lub miał jakieś sugestie?

+0

Dlaczego nie możesz tego zrobić tak: MainWindow.Window.Get ? – Marty

+0

Hmmm, może jestem na starszej wersji biały, ale nie mogę znaleźć biały składnik DataGridView. Czy to kompilować dla ciebie? – sshannin

+2

Jeśli twoja aplikacja jest twoja, możesz ulepszyć jej obsługę/możliwości UI Automation, aby mieć lepszą integrację z White (co, jak sądzę, wykorzystuje UI Automation do wykonywania większości zadań) –

Odpowiedz

1

Czy na pewno kopia tylna jest wyświetlana za pośrednictwem funkcji Automatyzacja interfejsu użytkownika? Z niskiego poziomu kodu UI Automation, który napisałem, nigdy nie widziałem takiej własności. Właśnie otworzyłem Inspect (podobny do UISpy) i wskazałem go na DataGridView w aplikacji WinForm w C#, a żadna taka właściwość nie jest widoczna.

Ponieważ nie wydaje się, że jest odsłonięty, nie ma sposobu, aby go rozwiązać za pomocą automatyzacji, bez przechwytywania obrazu i porównywania go z pewną linią bazową z pewnym progiem (dźwięki przypominające bałagan).

Jeśli nie możesz w jakiś sposób osadzić informacji w jakiejś innej właściwości automatyzacji (co wymagałoby zmiany testowanej aplikacji), nie widzę żadnego sposobu, aby to zrobić. :(

+0

Tak, to także wniosek, do którego doszedłem. Skończyło się na tym, że złapałem widoczny obraz z obszaru zdefiniowanego przez element i oglądając jego rzeczywiste piksele (zasadniczo zgodnie z sugestią). – sshannin

Powiązane problemy