2014-11-21 39 views
3

我不能运行在任何Android模拟器/仿真器Xamarin.UITests。有什么建议么?我收到以下错误,当我尝试:Xamarin.UITests Android设备未检出或不能正常工作

谷歌模拟器:

设置:System.Exception的:无法无需激活物理设备上运行。 如果您已经是Xamarin测试云客户提供的完整版本可用于Xamarin测试云的客户,获取更多信息,请联系[email protected] ,您可以提供API中的下列方式之一: *使用添加它ConfigureApp ApiKey方法 *设置XTC_API_KEY环境变量 *将以下属性添加到Properties/AssemblyInfo.cs文件中:[assembly:Xamarin.UITest.TestCloudApiKey(YOUR_API_KEY)] *将包含api键的xtc_api-key文件放入来自测试组件的上游目录

Xamarin Android Player:

设置:System.Exception的:没有设备连接

GenyMotion:

设置:System.Exception的:无法执行:/用户/ erikandersen /库/开发商/ Xamarin/Android的SDK-的MacOSX /平台工具/ ADB设备 - 退出代码:1 不能绑定“TCP:5037” ADB服务器没有ACK *未能启动守护* 错误: ADB服务器是过时的。杀...

更新GenyMotion后到2.3.1,现在我得到以下错误:

设置:System.Exception的:应用程序安装失败,输出:12050 KB /秒(11199602个字节0.907s) 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工作正常,但任何C#NUnit测试项目都无法连接到任何我尝试启动的模拟器。

我已经试过什么:

  1. 确保仿真器已经在运行之前,我进行的测试,
  2. 确保只有1模拟器运行
  3. 重新启动ADB服务器
  4. 尝试多种类型的模拟器(即Xamarin Android Player,Gennymotion和Google模拟器)

回答

2

于是,几个小时就这方面的工作后,这个固定:

  1. 升级GennyMotion 2.3.1
  2. 删除我的旧GenyMotion模拟器(的Nexus 4),并创建一个新的
  3. 添加所有的ABI在我的Android生成设置

的Android项目>选项> Android组建>支撑先进适用标签>支持的ABI>检查 “armeabi,armeabi-V7A,86”>确定

  • 生成经由终端的新.apk文件(而Android项目的目录)
  • 的/ usr /斌/ xbuild/T:封装/号码:配置=推出的.csproj

  • 经由蠡-机器人
  • 辞职的apk

    蠡-机器人辞职./bin/Release/.apk

  • 在Xamarin Studio中,设置我的启动项目为我的UITest项目
  • 启动GenyMotion模拟器
  • 然调试配置下的测试只用GenyMotion模拟器活跃
  • 和它的工作!我仍然无法使用Google Emulator或Xamarin Android Player运行UI测试。有趣的是,我也无法使用GenyMotion调试我的Android项目。这只对UITests有用。因此,这里是我的当前设置:

    Xamarin的Android播放器 - 普通调试

    GenyMotion - UITests

    0

    我有同样的问题,并通过设置ConfigureApp时设置ApiKey固定。

    [SetUp] 
        public void SetUp() 
        { 
          _app = ConfigureApp.iOS.AppBundle(PathToIPA).ApiKey("YOUR_API_KEY_HERE").StartApp(); 
        } 
    

    here。只需把你的ApiKey放在那里。

    注意:我没有Xamarin Android Player的这个问题。运行Android 5.0仿真器的AVD没有这个问题。我只有运行Android 4.0.3模拟器的AVD出现这个问题。

    相关问题