2016-07-12 20 views
0

У меня есть бизнес-правило, под которым цвет фона текстового поля должен меняться в зависимости от значения в текстовом поле. Как я могу утверждать, что цвет фона текстового поля соответствует ожиданиям в кодированном пользовательском интерфейсе в VS2015?Утверждение цвета фона WPF с использованием кодированного теста пользовательского интерфейса в VS2015

ответ

3

один из способов сделать это захват изображения вашего UITestControl и утверждения определенного цвета пикселя:

//Capture an image of your test control 
Bitmap testControlImage = yourUITestControl.CaptureImage() as Bitmap; 

// Get the color of a pixel you specify within the captured image. 
Color pixelColor = testControlImage.GetPixel(50, 50); 

// Assert the pixel color 
Assert.AreEqual(pixelColor.ToString(), "Color [A=255, R=99, G=99, B=99]"); 
+0

Это работает как шарм! Мне не удалось сразу сравнить «известные цвета», такие как Color.Orange, поэтому я конвертирую полученный цвет в ARGB и маскирую A out, сохраняя только значения RGB фактического значения. Затем я сравниваю это с значениями RGB известных цветов, преобразованных и замаскированных значений известного цвета: –

+0

'var backgroundColor = bitmap.GetPixel (6, 6) .ToArgb() & 0x00FFFFFF; var compareColor = Color.Orange.ToArgb() & 0x00FFFFFF; –

1

Я никогда не видел, чтобы это было возможно, когда я смотрел раньше, поэтому я положил его на то, что еще нельзя сделать, но некоторые люди добились определенных успехов на других подобных постах, которые могли бы помочь вы из: Accessing font properties of wpftext control in codedUI testing

 Смежные вопросы

  • Нет связанных вопросов^_^