在Xamarin Droid UITest中打开活动

时间:2015-06-27 15:46:02

标签: xamarin ui-testing xamarin.uitest

我已经开始使用Xamarin UITest来验证我的应用程序的行为。我想让测试在逻辑上分开(我的意思是,如果一个测试失败,另一个测试不应该失败,因为第一个,它们应该是独立的)。我的应用程序有多个活动,我在文档中找不到如何打开特定的活动。

我能找到的最接近的是:

[SetUp]
public void BeforeEachTest()
{
    app = ConfigureApp.Android.LaunchableActivity("MyActivity").StartApp ();
}

但没有任何事情发生。我可以这样做吗?有解决方法吗?

由于

2 个答案:

答案 0 :(得分:1)

一个非常晚的回应,但我认为我会让其他人找到。为了使用特定活动启动应用程序,UITest需要两条信息,即应用程序名称(或APK文件路径)和活动名称。

对于已经安装到设备或模拟器上的应用程序,在AndroidConfigurator上调用StartApp()将如下所示:

app = ConfigureApp
    .Android
    .InstalledApp("packagename")
    .LaunchableActivity("activityname")
    .StartApp();

或者如下APK文件:

app = ConfigureApp
    .Android
    .ApkFile("filename")
    .LaunchableActivity("activityname")
    .StartApp();

答案 1 :(得分:0)

试试这段代码:

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;
    var PathToAPK = Path.Combine(dir, "LetsGetNative.Droid", "bin", "Debug", "LetsGetNative.Droid.apk");
    app = ConfigureApp.Android.ApkFile(PathToAPK).WaitTimes(new WaitTimes()).EnableLocalScreenshots().StartApp();
}
else
{
    app = ConfigureApp.iOS.StartApp();
}