Xamarin UI 测试引用 Xamarin.Android 项目抛出错误
Xamarin UI Test referencing Xamarin.Android project throws errors
我正在为我的 android 项目创建一个 Xamarin.UITest
。我正在关注 Microsoft guide。一切正常,直到最后一点:
Add a project reference from the UITest project to the Xamarin.Android
project:
This will allow the NUnitTestAdapter to run the UITests for the
Android app from Visual Studio.
一旦我添加对 Android 项目的引用,它就会出现以下错误:
NU1201: Project uitest.Android is not compatible with net461
(.NETFramework,Version=v4.6.1). Project uitest.Android supports:
monoandroid81 (MonoAndroid,Version=v8.1)
这很有道理,因为显然 .Net Framework 4.6.1
库对 MonoAndroid.
一无所知
我也试过将它转换为 .Net Standard 2.0
但我得到了类似的错误:
Error NU1201 Project uitest.Android is not compatible with
netstandard2.0 (.NETStandard,Version=v2.0). Project uitest.Android
supports: 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
您通常不会在 UI-test 项目中引用您的 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。之后重新运行你的测试。
我正在为我的 android 项目创建一个 Xamarin.UITest
。我正在关注 Microsoft guide。一切正常,直到最后一点:
Add a project reference from the UITest project to the Xamarin.Android project:
This will allow the NUnitTestAdapter to run the UITests for the Android app from Visual Studio.
一旦我添加对 Android 项目的引用,它就会出现以下错误:
NU1201: Project uitest.Android is not compatible with net461 (.NETFramework,Version=v4.6.1). Project uitest.Android supports: monoandroid81 (MonoAndroid,Version=v8.1)
这很有道理,因为显然 .Net Framework 4.6.1
库对 MonoAndroid.
我也试过将它转换为 .Net Standard 2.0
但我得到了类似的错误:
Error NU1201 Project uitest.Android is not compatible with netstandard2.0 (.NETStandard,Version=v2.0). Project uitest.Android supports: 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
您通常不会在 UI-test 项目中引用您的 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。之后重新运行你的测试。