更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢!

简介:adb命令是常用的Android命令行,自动化、代码调试、手工排查问题都会用的到,这里将常用的一些命令行封装成为C#函数,在C#的自动化框架中可以直接调用。

详细内容如下:
 
获取当前app页:
adb -s 设备号 shell \dumpsys activity \| findstr mFocusedActivity
查看设备状态:
adb devices
手机截屏保存到电脑:
adb pull /sdcard/screen.jpg screen.jpg
 
唤醒 安卓 Apk:
public static bool WakeupAndroidApk( string activity)
        {
            string output = GetCmdOutput("adb shell \"am start -n " + activity + "\"");
            return output.Contains("Success" );
        }
 
关闭当前 应用: 
         public static bool closeCurrentActivity( string activity)
        {
            string output = GetCmdOutput("adb -s " + udid + " shell \"pm clear " + activity);
            return output.Contains("Success" );
        }
按屏幕坐标点击:
         public static void Tap( int X, int Y)
        {
            GetCmdOutput( String.Format("adb -s {0} shell input tap {1} {2}" , udid, X, Y));
        }
 
检查当前 应用:
         public static bool CheckCurrentActivity( string activity)
        {
            string output = GetCmdOutput("adb -s " + udid + " shell \"dumpsys activity \"");
            string[] lines = output.Split('\n' );
            string target = "" ;
            Regex reg = new Regex( ".*mFocusedActivity.*");
            foreach(string line in lines)
            {
                if (reg.IsMatch(line))
                {
                    target = line;
                    break;
                }
            }
            return target.Contains(activity);
        }
 
 
        /// <summary>
        /// 打开指定浏览器
        /// </summary>
        /// <param name="browserAndroidApk"> 浏览器</param>
        public static void OpenSpecialBrowser( string browserAndroidApk)
        {
            GetCmdOutput( "adb -s " + udid + " shell am start " + browserAndroidApk);
        }
 
        /// <summary>
        /// 按手机屏幕坐标点击
        /// </summary>
        /// <param name="x"> x坐标</param>
        /// <param name="y"> y坐标</param>
        public static void Tap( int x, int y)
        {
            GetCmdOutput( "adb -s " + udid + " shell input tap " + x + " " + y);
        }
 
        public static void Tab()
        {
            GetCmdOutput( "adb -s " + udid + " shell input keyevent 61" );
        }
 
        /// <summary>
        /// 输入keyevent值对应的字符
        /// </summary>
        /// <param name="key"> keyevent值</param>
        public static void Tab( string key)
        {
            GetCmdOutput( "adb -s " + udid + " shell input keyevent " + "key");
        }
 
        /// <summary>
        /// 输入URL地址
        /// </summary>
        /// <param name="URL"> URL地址</param>
        public static void InputURL( string URL)
        {
            GetCmdOutput( "adb -s " + udid + " shell input text " + URL);
        }
 
        public static void Enter()
        {
            GetCmdOutput( "adb -s " + udid + " shell input keyevent 66" );
        }
 
        /// <summary>
        /// 清理指定的浏览器
        /// </summary>
        /// <param name="browserAndroidApk"> 浏览器</param>
        public static void ClearBrowser( string browserAndroidApk)
        {
            GetCmdOutput( "adb -s " + udid + " shell pm clear " + browserAndroidApk);
        }
 
        /// <summary>
        /// 卸载指定的App
        /// </summary>
        /// <param name="APPAndroidApk"> App</param>
        public static void UninstallApp( string APPAndroidApk)
        {
            GetCmdOutput( "adb -s " + udid + " uninstall " + APPAndroidApk);
        }
 
        /// <summary>
        /// 关闭当前进程Activity
        /// </summary>
        /// <param name="activity"> Activity</param>
        /// <returns> 返回清理结果 </returns>
        public static bool closeCurrentActivity( string activity)
        {
            string output = GetCmdOutput("adb -s " + udid + " shell \"pm clear " + activity);
            return output.Contains("Success" );
        }
 
感谢阅读,作者原创技术文章,转载请注明出处

自动化测试系列:将常用的Android adb shell 命令行封装为C#静态函数的更多相关文章

  1. 将常用的Android adb shell 命令行封装为C#静态函数

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 简介:adb命令是常用的Android命令行,自动化.代码调试.手工排查问题都会用的到,这里将常用的一些命令行封装 ...

  2. 【安卓手机通用】android adb shell 命令大全

    浏览:3116 | 更新:2013-10-17 17:05 | 标签:安卓 android 一.[什么是shell] Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口.它是命 ...

  3. Android adb shell命令大全

    1. 显示系统中全部Android平台: android list targets 2. 显示系统中全部AVD(模拟器): android list avd 3. 创建AVD(模拟器): androi ...

  4. android adb shell 命令大全

    1. 显示系统中全部Android平台: android list targets 2. 显示系统中全部AVD(模拟器): android list avd 3. 创建AVD(模拟器): androi ...

  5. adb shell命令行

    d: cd D:\software\adt-bundle-windows-x86-20131030\sdk\platform-tools ————————> sdk的路径 adb shell s ...

  6. 【android】android 常用adb 和 adb shell 命令

    db是SDK自带的工具,可实现桥接功能:adb shell 可以与手机系统建立交互,是基于andoid Linux系统下的操作 ADB常用命令: 1. 查看设备         adb  device ...

  7. Android 常用adb shell 命令

    原文地址http://blog.csdn.net/rain_butterfly/article/details/40894807 调试Android程序有时需要adb shell 命令,adb全称An ...

  8. Android 常用adb shell 命令(转)

    调试Android程序有时需要adb shell 命令,adb全称Android Debug Bridge ,就是起到调试桥的作用. 通过adb我们可以在Eclipse中通过DDMS来调试Androi ...

  9. Android adb shell 常用命令

    Ø  简介 adb 命令是 Android SDK 中自带的一个调试工具,可以调试电脑中的手机或者模拟器,使用 adb 命令前需要将 sdk 中的 platform-tools 目录添加到环境变量中. ...

随机推荐

  1. Web Application Security(Web应用安全)

    Web Application Security 1.web应用面临的主要安全问题 1)黑客入侵:撞库拖库.网页篡改.后门木马.加密勒索.数据泄露 2)恶意内容 2.web应用安全现状 1)网站安全问 ...

  2. Mock Server 实现post方法的接口(三)

    Mock Server 实现post方法的接口(三) 1.mock server实现的接口,当request中未设置"method"时,会自动将所有method试一次,所以一定要指 ...

  3. Python extend()方法--list

    描述 extend()方法:在列表末尾追加可迭代对象中的元素. 语法 语法格式:list.extend(iterable) 参数 iterable:可迭代的对象,这里的对象可以是字符串.列表.元组.字 ...

  4. Elasticsearch学习笔记(九)partial update

    一.什么是partial update? PUT /index/type/id,创建文档&替换文档,就是一样的语法 一般对应到应用程序中,每次的执行流程基本是这样的: (1)应用程序先发起一个 ...

  5. 使用vue+elementUI+springboot创建基础后台增删改查的管理页面--(1)

    目前这家公司前端用的是vue框架,由于在之前的公司很少涉及到前端内容,对其的了解也只是会使用js和jquery,所以..慢慢来吧. 在此之前需要先了解vue的大致语法和规则,可先前往官方文档进行学习h ...

  6. AndroidStudio中如何使用GsonFormat

    转载:https://www.jianshu.com/p/3b82f42e5937 第一步: 找到AndroidStudio中得Prefrences的plugins的Browse repositori ...

  7. Request的方法和数组

    req.getHeader("referer") [取得发送请求页面对应的浏览器地址栏信息,可以使用这种方法实现防盗链等操作] String name=new String(req ...

  8. html-webpack-plugin插件使用

    项目使用hightopo框架,使用webpack打包.这里的场景是:点击预览按钮,页面会打开一个新页面. 但是由于使用了webpack打包,所以直接使用以下代码是不行的.报404 window.ope ...

  9. 获取Button脚本挂载的事件名

    (function(){ var Super = function(){}; Super.prototype = cc.Button.prototype; //实例化原型 Super.prototyp ...

  10. Android通过Chrome Inspect调试WebView出现404页面的解决方法

    无论是调试Web页面还是调试Hybrid混合应用,只要是调试Android的webview,都需要使用Chrome://inspect进行调试.但是国内开发者会出现404 Not Found错误: 解 ...