C# 断言WPF文本框';在VS2015中使用编码UI测试的背景色
我有一个业务规则,根据该规则,文本框的背景颜色必须根据文本框中的值而改变。我如何才能断言文本框的背景颜色与VS2015中编码的UI测试用例中的预期一致?我以前看过,但从未发现这是可能的,所以我把它归结为一些尚无法完成的事情,但有些人在其他类似的帖子上也取得了一些成功,这些帖子可能会对你有所帮助:我以前看了之后,发现这是不可能的,所以我把它归结为一些还不能做到的事情,但是有些人在其他类似的帖子上也取得了一些成功,这些帖子可能会对您有所帮助:一种方法是捕获UITestControl的图像并声明指定的像素颜色:C# 断言WPF文本框';在VS2015中使用编码UI测试的背景色,c#,wpf,coded-ui-tests,C#,Wpf,Coded Ui Tests,我有一个业务规则,根据该规则,文本框的背景颜色必须根据文本框中的值而改变。我如何才能断言文本框的背景颜色与VS2015中编码的UI测试用例中的预期一致?我以前看过,但从未发现这是可能的,所以我把它归结为一些尚无法完成的事情,但有些人在其他类似的帖子上也取得了一些成功,这些帖子可能会对你有所帮助:我以前看了之后,发现这是不可能的,所以我把它归结为一些还不能做到的事情,但是有些人在其他类似的帖子上也取得了一些成功,这些帖子可能会对您有所帮助:一种方法是捕获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]");
一种方法是捕获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]");
这很有魅力!我无法立即与“已知颜色”(如Color.Orange)进行比较,因此我将获取的颜色转换为ARGB并屏蔽A,只保留实际值的RGB值。然后,我将其与已知颜色的RGB值、已知颜色的转换值和遮罩值进行比较:“var backgroundColor=bitmap.GetPixel(6,6).ToArgb()&0x00FFFFFF;var compareColor=Color.Orange.ToArgb()&0x00FFFFFF;这很有魅力!我无法立即与“已知颜色”(如Color.Orange)进行比较,因此我将获取的颜色转换为ARGB并屏蔽A,只保留实际值的RGB值。然后,我将其与已知颜色的RGB值、已知颜色的转换值和遮罩值进行比较:“var backgroundColor=bitmap.GetPixel(6,6).ToArgb()&0x00FFFFFF;var compareColor=Color.Orange.ToArgb()&0x00FFFFFF;