Adding a test to validate loading images (#20147)
I noticed that in one of my PRs I loaded a lower res image and another test caught it. Adding these tests to ensure that at least we validate the on-screen image.
|
@ -0,0 +1,30 @@
|
|||
using System;
|
||||
using Microsoft.Maui.Controls;
|
||||
|
||||
namespace Maui.Controls.Sample
|
||||
{
|
||||
internal class ImageLoadingGalleryPage : CoreGalleryBasePage
|
||||
{
|
||||
protected override void Build()
|
||||
{
|
||||
Add(Test.ImageLoading.FromBundleSvg, ImageSource.FromFile("dotnet_bot.png"));
|
||||
|
||||
Add(Test.ImageLoading.FromBundlePng, ImageSource.FromFile("groceries.png"));
|
||||
|
||||
Add(Test.ImageLoading.FromBundleJpg, ImageSource.FromFile("oasis.jpg"));
|
||||
|
||||
Add(Test.ImageLoading.FromBundleGif, ImageSource.FromFile("animated_heart.gif"));
|
||||
}
|
||||
|
||||
ViewContainer<Image> Add(Test.ImageLoading test, ImageSource image) =>
|
||||
Add(test, new Image
|
||||
{
|
||||
Source = image,
|
||||
HorizontalOptions = LayoutOptions.Center,
|
||||
VerticalOptions = LayoutOptions.Start
|
||||
});
|
||||
|
||||
ViewContainer<Image> Add(Test.ImageLoading test, Image image) =>
|
||||
Add(new ViewContainer<Image>(test, image));
|
||||
}
|
||||
}
|
|
@ -48,6 +48,7 @@ namespace Maui.Controls.Sample
|
|||
new GalleryPageFactory(() => new DragAndDropGallery(), "Drag and Drop Gallery"),
|
||||
new GalleryPageFactory(() => new GestureRecognizerGallery(), "Gesture Recognizer Gallery"),
|
||||
new GalleryPageFactory(() => new InputTransparencyGalleryPage(), "Input Transparency Gallery"),
|
||||
new GalleryPageFactory(() => new ImageLoadingGalleryPage(), "Image Loading Gallery"),
|
||||
// Elements
|
||||
new GalleryPageFactory(() => new ActivityIndicatorCoreGalleryPage(), "ActivityIndicator Gallery"),
|
||||
new GalleryPageFactory(() => new BoxViewCoreGalleryPage(), "Box Gallery"),
|
||||
|
|
Двоичные данные
src/Controls/samples/Controls.Sample.UITests/Resources/Images/animated_heart.gif
Normal file
После Ширина: | Высота: | Размер: 15 KiB |
|
@ -712,6 +712,14 @@ namespace Maui.Controls.Sample
|
|||
IsBounceEnabled
|
||||
}
|
||||
|
||||
public enum ImageLoading
|
||||
{
|
||||
FromBundleSvg,
|
||||
FromBundlePng,
|
||||
FromBundleJpg,
|
||||
FromBundleGif,
|
||||
}
|
||||
|
||||
public enum InputTransparency
|
||||
{
|
||||
Default,
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
using Maui.Controls.Sample;
|
||||
using NUnit.Framework;
|
||||
using UITest.Appium;
|
||||
using UITest.Core;
|
||||
|
||||
namespace Microsoft.Maui.AppiumTests
|
||||
{
|
||||
public class ImageLoadingGalleryTests : CoreGalleryBasePageTest
|
||||
{
|
||||
public ImageLoadingGalleryTests(TestDevice device)
|
||||
: base(device)
|
||||
{
|
||||
}
|
||||
|
||||
protected override void NavigateToGallery()
|
||||
{
|
||||
App.NavigateToGallery("Image Loading Gallery");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void LoadAndVerifyPng() => LoadAndVerify(Test.ImageLoading.FromBundlePng);
|
||||
|
||||
[Test]
|
||||
public void LoadAndVerifyJpg() => LoadAndVerify(Test.ImageLoading.FromBundleJpg);
|
||||
|
||||
[Test]
|
||||
public void LoadAndVerifyGif() => LoadAndVerify(Test.ImageLoading.FromBundleGif);
|
||||
|
||||
[Test]
|
||||
public void LoadAndVerifySvg() => LoadAndVerify(Test.ImageLoading.FromBundleSvg);
|
||||
|
||||
void LoadAndVerify(Test.ImageLoading test)
|
||||
{
|
||||
var remote = new EventViewContainerRemote(UITestContext, test);
|
||||
remote.GoTo(test.ToString());
|
||||
|
||||
App.WaitForElement($"{test}VisualElement");
|
||||
Thread.Sleep(1000); // android has some button animations that need to finish
|
||||
|
||||
VerifyScreenshot();
|
||||
}
|
||||
}
|
||||
}
|
После Ширина: | Высота: | Размер: 74 KiB |
После Ширина: | Высота: | Размер: 813 KiB |
После Ширина: | Высота: | Размер: 163 KiB |
После Ширина: | Высота: | Размер: 146 KiB |
После Ширина: | Высота: | Размер: 89 KiB |
После Ширина: | Высота: | Размер: 869 KiB |
После Ширина: | Высота: | Размер: 176 KiB |
После Ширина: | Высота: | Размер: 172 KiB |
После Ширина: | Высота: | Размер: 23 KiB |
После Ширина: | Высота: | Размер: 509 KiB |
После Ширина: | Высота: | Размер: 80 KiB |
После Ширина: | Высота: | Размер: 102 KiB |