67 lines
2.2 KiB
C#
67 lines
2.2 KiB
C#
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
// Licensed under the MIT license. See LICENSE file in the project root for details.
|
||
|
||
using System;
|
||
using NUnit.Framework;
|
||
using Xamarin.UITest;
|
||
|
||
using Query = System.Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>;
|
||
|
||
namespace MyDriving.UITests
|
||
{
|
||
public class ProfilePage : BasePage
|
||
{
|
||
readonly Query FuelConsumptionField;
|
||
readonly Query DistanceField;
|
||
readonly Query SettingsTab;
|
||
|
||
public ProfilePage ()
|
||
: base (x => x.Marked("profile_image"), x => x.Raw("* {text CONTAINS 'Driving Skills: '}"))
|
||
{
|
||
if (OnAndroid)
|
||
{
|
||
FuelConsumptionField = x => x.Id("text_fuel_consumption");
|
||
DistanceField = x => x.Id("text_distance");
|
||
}
|
||
if (OniOS)
|
||
{
|
||
SettingsTab = x => x.Id("tab_Settings.png");
|
||
FuelConsumptionField = x => x.Class("ProfileStatCell").Descendant().Marked("Fuel Consumption").Sibling();
|
||
DistanceField = x => x.Class("ProfileStatCell").Descendant().Marked("Total Distance").Sibling();
|
||
}
|
||
}
|
||
|
||
public ProfilePage CheckFuelMetric(bool metric)
|
||
{
|
||
App.ScrollDownTo(FuelConsumptionField);
|
||
var fuelText = App.Query(FuelConsumptionField)[0].Text;
|
||
App.Screenshot("Verifying fuel units correct");
|
||
|
||
var expectedUnits = metric ? "l" : "gal";
|
||
StringAssert.Contains(expectedUnits, fuelText, message:"Couldnt verify fuel units");
|
||
|
||
return this;
|
||
}
|
||
|
||
public ProfilePage CheckDistanceMetric(bool metric)
|
||
{
|
||
App.ScrollDownTo(DistanceField);
|
||
var distanceText = App.Query(DistanceField)[0].Text;
|
||
App.Screenshot("Verifying distance units correct");
|
||
|
||
var expectedUnits = metric ? "km" : "miles";
|
||
StringAssert.Contains(expectedUnits, distanceText, message: "Couldnt verify distance units");
|
||
|
||
return this;
|
||
}
|
||
|
||
public void NavigateToSettings()
|
||
{
|
||
if (OnAndroid)
|
||
return;
|
||
|
||
App.Tap(SettingsTab);
|
||
App.Screenshot("Tapped Settings Tab");
|
||
}
|
||
}
|
||
} |