我正在为我的android项目创建一个Xamarin.UITest
。我正在关注Microsoft guide。一切正常,直到最后一点:
将UITest项目中的项目引用添加到Xamarin.Android 项目:
这将允许NUnitTestAdapter运行UITests 来自Visual Studio的Android应用。
添加对Android项目的引用后,就会出现以下错误:
NU1201:Project 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 Project uitest.Android与不兼容 netstandard2.0(.NETStandard,Version = v2.0)。安卓项目 支持:monoandroid81(MonoAndroid,Version = v8.1)
奇怪的是尽管有错误,该项目仍在构建。 但,这些错误使我的自动生成nuget恢复失败,并显示完全相同的错误。
UI测试引用Android项目的原因是Xamarin Test Cloud
能够调用:
if (platform == Platform.Android)
{
return ConfigureApp.Android.StartApp();
}
return ConfigureApp.iOS.StartApp();
您不能在Xamarin测试云中使用InstalledApp
或ApkFile
方法
我误解了什么还是这是Visual Studio / Xamarin的错误?
PS。我正在使用最新的Visual Studio版本VS 15.8.0
答案 0 :(得分:1)
您通常不会在UI测试项目中引用您的Android项目。原因是:
我正在使用这样的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。之后,重新运行测试。