You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Xamarin UI Test测试安卓已安装应用(无需重装/安装APK)

使用Xamarin UI Test测试已安装的安卓应用

嘿,我来帮你搞定这个问题!既然你的安卓应用已经装在设备上了,不用折腾重新安装APK,那用Xamarin UI Test测试其实很简单,跟着下面的步骤一步步来就行:

1. 先把测试项目的基础配置弄好

  • 首先,确保你的Xamarin UI Test项目里已经装了Xamarin.UITest这个NuGet包,选稳定版本就好,别用太新的预览版避免踩坑。
  • 要是你还没创建测试项目,直接在Visual Studio里新建个「Xamarin UI Test App」项目,或者给现有解决方案添个测试项目都可以。

2. 拿到你已安装应用的包名

这步是核心,Xamarin UI Test得靠包名找到并启动你设备上的应用。获取包名有几个简单方法:

  • 用adb命令查:把安卓设备开了USB调试连到电脑,打开命令行敲adb shell pm list packages,输出里找你应用对应的那行,比如com.yourcompany.yourapp就是包名。
  • 从源码里找:要是你有应用的Android源码,打开AndroidManifest.xml,里面的package属性值就是包名。
  • 在设备上看:进安卓设备的「设置」→「应用」→找到你的应用→「应用信息」,里面一般会显示「包名」或者「应用ID」。

3. 修改测试代码,指定启动已安装的应用

默认的Xamarin UI Test代码是从APK安装启动的,我们得改成直接调用已安装的应用。给你个示例代码参考:

using Xamarin.UITest;
using NUnit.Framework;

namespace YourUITestProject
{
    [TestFixture(Platform.Android)]
    public class AppTests
    {
        IApp app;
        Platform platform;

        public AppTests(Platform platform)
        {
            this.platform = platform;
        }

        [SetUp]
        public void SetupBeforeEachTest()
        {
            // 把这里替换成你刚才拿到的应用包名
            string targetAppPackage = "com.yourcompany.yourapp";
            // 要是知道应用的主Activity类名就填上,不知道的话可以留空,框架会自动找
            string mainActivity = "com.yourcompany.yourapp.MainActivity";

            app = ConfigureApp
                .Android
                // 关键:告诉测试框架用已安装的应用,传入包名
                .InstalledApp(targetAppPackage)
                // 可选:指定启动的主Activity,找不到的时候加上这个很有用
                .StartActivity(mainActivity)
                .StartApp();
        }

        [Test]
        public void VerifyAppLaunchesSuccessfully()
        {
            // 这里写你的测试逻辑,比如截图验证,或者检查某个控件是否存在
            app.Screenshot("已成功启动目标应用");
            // 示例:检查首页的标题是否存在
            app.WaitForElement(c => c.Marked("home_title"));
        }
    }
}

4. 连接设备跑测试

  • 确保你的安卓设备开了USB调试,用adb devices命令确认电脑能识别到设备。
  • 在Visual Studio里打开Test Explorer,找到你的测试方法,点击运行就行;或者右键测试项目选「运行测试」也可以。

一些小提示

  • 要是启动应用时碰到权限问题,检查下设备有没有允许「USB调试」、「通过USB安装应用」这些权限,测试过程中别手动关掉应用。
  • 要是应用有启动页、登录页这些前置步骤,记得在测试的SetUp或者测试方法里加上对应的操作,比如等待启动页消失、输入账号密码等。
  • 要是框架找不到主Activity,打开应用后在命令行敲adb shell dumpsys window | grep mCurrentFocus,输出里就能看到当前的Activity名称,填到StartActivity里就行。

内容的提问来源于stack exchange,提问作者小械褉谐械泄

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:12:59