This repository has been archived on 2022-11-03. You can view files and clone it, but cannot push or open issues or pull requests.
DevOpsOpenHack/MobileApps/MyDriving/MyDriving.UITests/AppInitializer.cs

55 lines
1.5 KiB
C#
Raw Normal View History

2022-11-03 20:41:13 +00:00
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.
using System;
using System.IO;
using Xamarin.UITest;
using System.Reflection;
namespace MyDriving.UITests
{
public class AppInitializer
{
const string appPath = "../../../MyDriving.iOS/bin/iPhoneSimulator/Release/MyDrivingiOS.app";
public static string apkPath;
private static IApp app;
public static IApp App
{
get
{
if (app == null)
throw new NullReferenceException("'AppInitializer.App' not set. Call 'AppInitializer.StartApp(platform)' before trying to access it.");
return app;
}
}
public static IApp StartApp(Platform platform)
{
if (platform == Platform.Android)
{
string currentFile = new Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath;
FileInfo fi = new FileInfo(currentFile);
string dir = fi.Directory.Parent.Parent.Parent.FullName;
// PathToAPK is a property or an instance variable in the test class
apkPath = Path.Combine(dir, "MyDriving.Android", "bin", "XTC", "com.microsoft.mydriving-Signed.apk");
app = ConfigureApp
.Android
.ApkFile(apkPath)
.StartApp(Xamarin.UITest.Configuration.AppDataMode.Clear);
}
else
{
app = ConfigureApp
.iOS
//.AppBundle(appPath)
.InstalledApp("com.microsoft.mydriving")
.StartApp(Xamarin.UITest.Configuration.AppDataMode.Clear);
}
return app;
}
}
}