我无法在任何Android模拟器/模拟器上运行Xamarin.UITests。有什么建议?尝试时出现以下错误:
Google模拟器:
设置:System.Exception:无法在未激活的物理设备上运行。完整版本可用于Xamarin Test Cloud客户,有关更多信息,请联系[email protected]。如果您已经是Xamarin Test Cloud客户,则可以通过以下方式之一提供您的api:*使用ApiKey方法将其添加为ConfigureApp *设置XTC_API_KEY环境变量*将以下属性添加到Properties / AssemblyInfo.cs文件:[assembly:Xamarin.UITest.TestCloudApiKey(YOUR_API_KEY)] *将包含api密钥的xtc_api-key文件放置在测试的上游目录中部件
Xamarin Android Player:
设置:System.Exception:未连接任何设备
GenyMotion:
SetUp:System.Exception:无法执行:/ users / erikandersen / Library / Developer / Xamarin / android-sdk-macosx / platform-tools / adb设备-退出代码:1无法绑定'tcp:5037'ADB服务器未绑定ACK *无法启动守护程序*错误:adb服务器已过期。杀死…
将GenyMotion更新为2.3.1之后,现在出现以下错误:
设置:System.Exception:应用程序安装失败,输出:12050 KB / s(0.907s中的11199602字节)pkg:/data/local/tmp/final-xxxxxx.apk失败[INSTALL_FAILED_CPU_ABI_INCOMPATIBLE]
NUnit代码
AndroidApp _app;
public string PathToAPK { get; set; }
[TestFixtureSetUp]
public void BeforeAll ()
{
var path = new Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath;
var info = new FileInfo(path);
var directory = info.Directory.Parent.Parent.Parent.FullName;
PathToAPK = Path.Combine(directory, "Android", "bin", "Debug", "Demo.Android.apk");
}
[SetUp]
public void BeforeEach ()
{
_app = ConfigureApp.Android.ApkFile (PathToAPK).StartApp ();
}
[Test]
public void TestInvalidEmail ()
{
_app.EnterText (c => c.Class ("UITextField"), "");
}
永远不会调用TestInvalidEmail(),因为NUnit失败
_app = ConfigureApp.Android.ApkFile (PathToAPK).StartApp ();
背景:
我将Xamarin.UITests用于正在开发的iOS / Android应用程序,而Android方面存在问题。iOS运行正常。为了隔离问题,我已经两次编写了每个测试,一次在C#中,一次在Ruby中使用calabash。Calabash可以正常工作,但是任何C#NUnit测试项目都无法连接到我尝试启动的任何模拟器。
我尝试过的
因此,经过数小时的研究,此问题得以解决:
Android项目>选项> Android构建>高级选项卡>支持的ABI>检查“ armeabi,armeabi-v7a,x86”>确定
/ usr / bin / xbuild / t:包/ p:Configuration =发布.csproj
calabash-android辞职./bin/Release/.apk
而且有效!我仍然无法使用Google Emulator或Xamarin Android Player运行UI测试。有趣的是,我也无法使用GenyMotion调试我的Android项目。这仅对UITests有好处。所以这是我当前的设置:
Xamarin Android Player-正常调试
GenyMotion-UITests
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句