Xamarin UI测试引用Xamarin.Android项目会引发错误

问题描述 投票:0回答:1

我正在为我的android项目创建一个Xamarin.UITest。我跟随Microsoft guide。一切正常,直到最后一点:

将UITest项目中的项目引用添加到Xamarin.Android项目:

enter image description here

这将允许NUnitTestAdapter从Visual Studio运行Android应用程序的UITests。

只要我添加对Android项目的引用,就会出现以下错误:

NU1201:项目uitest.Android与net461不兼容(.NETFramework,Version = v4.6.1)。项目uitest.Android支持:monoandroid81(MonoAndroid,Version = v8.1)

这很有道理,因为很明显,.Net Framework 4.6.1库对MonoAndroid一无所知。

我也尝试将其转换为.Net Standard 2.0但我得到了类似的错误:

错误NU1201项目uitest.Android与netstandard2.0(.NETStandard,Version = v2.0)不兼容。项目uitest.Android支持:monoandroid81(MonoAndroid,Version = v8.1)

奇怪的是,尽管存在错误,该项目仍然可以建立。但是这些错误使我的自动构建nuget恢复失败,但错误完全相同。

UI测试引用Android项目的原因是Xamarin Test Cloud能够调用:

    if (platform == Platform.Android)
    {
        return ConfigureApp.Android.StartApp();
    }

    return ConfigureApp.iOS.StartApp();

你不能在Xamarin测试云中使用InstalledAppApkFile方法

我误解了什么,或者这是一个视觉工作室/ Xamarin错误?

PS。我正在使用最新的Visual Studio版本VS 15.8.0

c# android xamarin xamarin.forms xamarin.uitest
1个回答
1
投票

您通常不会在UI测试项目中引用您的Android项目。原因是:

  • 您可以测试一个只有apk或ipa的应用程序
  • Test Cloud等云解决方案无法访问源代码,因此无法编译代码。

我正在使用这样的apk:

[TestFixture]
public class DroidTest
{
    const string _droidPath = "../../APK/my-app.apk";
    IApp _app;

    [TestFixtureSetUp]
    public void Setup()
    {
        _app = ConfigureApp.Android.ApkFile(_droidPath).StartApp();
    }
}

如果您在Android项目构建中进行了更改并创建了新的apk。之后重新运行测试。

© www.soinside.com 2019 - 2024. All rights reserved.