我正在为我的android项目创建一个Xamarin.UITest
。我跟随Microsoft guide。一切正常,直到最后一点:
将UITest项目中的项目引用添加到Xamarin.Android项目:
这将允许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测试云中使用InstalledApp
或ApkFile
方法
我误解了什么,或者这是一个视觉工作室/ Xamarin错误?
PS。我正在使用最新的Visual Studio版本VS 15.8.0
您通常不会在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。之后重新运行测试。