移动端的自动化测试框架主要就是UiAutomator,Espresso,Robotium和功能最强大,也是比较热门的框架Appium

如果想做手机端的自动化测试,Appium是首选的测试框架,因为网上使用的人多,资料丰富,支持语言多 Jave,Python,C#,Ruby,PHP,碰见问题也容易得到帮助。没有其他框架那么大局限。

关于Appium环境搭建的例子网上比较多,不过都是关于Python,Java的,使用C#客户端的资料比较少,公司现有的测试系统是基于C#构建的,因为要和现有系统集成,所以选择的C#语言作为客户端, 下载Appium 官网提供的C#例子,但是对应的Android 版本,Nunit 版本都比较旧,对于初次接触手机测试的人来说,一步一个坑,把例子拿下来,折腾了一两天,还是各种问题。最终通过百度,Google,终于搭建好了环境,现在分享一下过程,希望对于后来人会有些帮助。

默认大家是安装了Visual Studio 的,如果没有安装,请百度如何安装Visual Studio

搭建环境有三部分,模拟器环境准备,Appium服务器环境准备,C#单元测试工程环境准备,关于前两部分群内都有视频资料,大家可以参考。

下面我们开始:

模拟环境搭建 模拟环境搭建建议用Android Studio ,这样配置简单,模拟器的性能也强一些。

下载地址:www.android-studio.org/ 最新版本是3.2

安装完成后打开 Android Studio

在Tools菜单下找到 SDK Manager 菜单打开( Tools –>SDK Manager)显示如下:

找到 Android SDK (Appearance & Behavior ->System Setting -> Android SDK)

安装 Android SDK 例如:Android 6.0

接下来配置环境变量:

配置ANDROID_HOME 变量,对应的目录可用从下面位置找,

我对位置做过调整,和默认安装的位置不一样。

将 E:\android-sdk 替换成自己机器的地址。

在Path 中追加:%ANDROID_HOME%\platform-tools; %ANDROID_HOME%\tools

安装完SDK 后就可以安装模拟器了,关闭SDK Manager ,打开 AVD Manager (Tools ->AVD Manager)

点击左下角的Create Virtual Device 打开了 Virtual Device Configuration

选择 phone ,找一个分辨率小一些的机型 例如 480X800 ,分辨率高了比较耗费资源。

点击Next

选择 other Images, 找到你刚才下载的SDK 对应的Image ,上面选了Android 5.0 我们就下 Android 6.0 对应的Image ,点击Download 进行下载。完成后就可以点击Next 到最后一个画面了。

点击Finish 就完成了虚拟机的创建。点击启动,启动虚拟机

这样虚拟机就配置并启动起来了,上面的镜像使用的是arm 版本,如果你的机器是X86,Android Studio 建议你使用X86的虚拟机。如果想使用X86的虚拟机,需要在Bios中开启 Virtualization Technology 设定为Enable ,操作系统可能也要做一些配置,这里就不细说了。

接下来我们安装AppiumServer。可以到官网下载。

下载地址:github.com/appium/appi…

Windows 操作系统 X86_64 处理器下载 appium-desktop-setup-1.7.1.exe 就可以了。

启动Appium

点击 Start Server v1.9.1

这样Appium Server 就启动了。

最后我们来配置单元测试工程。

启动Visual Studio ,创建一个单元测试工程。

在 NuGet 中查找 Appium (Tools ->NuGet Package Manager -> Manage NuGet Package for Solution…)

找到 Appium.WebDriver ,选择单元测试工程进行安装。

完成后使用下面代码替换自动生成的单元测试代码。运行单元测试,就可以看到如下模拟器中的计算器被打开,并点击了数字5。如下图:

 1using Microsoft.VisualStudio.TestTools.UnitTesting; 2 3using OpenQA.Selenium.Remote; 4 5using System; 6 7namespace androidTest 8 9{1011    [TestClass]1213    public class UnitTest11415    {1617        [TestMethod]1819        public void TestMethod1()2021        {     如果对软件测试、接口测试、自动化测试、性能测试、LR脚本开发、面试经验交流。22              感兴趣可以175317069,群内会有不定期的发放免费的资料链接,这些资料都是从23              各个技术网站搜集、整理出来的,如果你有好的学习资料可以私聊发我,我会注明24              出处之后分享给大家。2526            DesiredCapabilities capabilities = new DesiredCapabilities();2728            capabilities.SetCapability("deviceName", "Android Emulator");2930            capabilities.SetCapability("automationName", "Appium");3132            capabilities.SetCapability("platformName", "Android");3334            capabilities.SetCapability("platformVersion", "6.0"); //可以根据自己的模拟器版版本进行修改。3536            capabilities.SetCapability("appPackage", "com.android.calculator2"); //安卓自带计算器3738            capabilities.SetCapability("appActivity", ".Calculator");39404142            RemoteWebDriver wd = new RemoteWebDriver(new Uri("http://127.0.0.1:4723/wd/hub"), capabilities);4344            try4546            {4748                var result = wd.FindElementById("digit_5");4950                result.Click();5152            }5354            catch (Exception ex)5556            {5758                Console.WriteLine(ex.Message);5960            }6162            finally { wd.Quit(); }63646566        }67686970    }7172}7374原文:https://blog.csdn.net/Stephen_shijun/article/details/83994212 复制代码

转载于:https://juejin.im/post/5bea64616fb9a049ef261f73

搭建基于C#和 Appium 的 Android自动测试环境相关推荐

  1. 如何搭建基于C#和 Appium 的 Android自动测试环境

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 如果想做手机端的自动化测试,Appium是首选的测试框架,因为网上使用的人多,资料丰富,支持语言多 Jave ...

  2. 家用设备搭建VMWARE超融合 NSX HORIZON 及CISCO测试环境

    如何用家用设备搭建一套全能的测试环境,例如NSX VIEW FMC等等,业余还能挖挖矿,编编程,搞搞测试... 如果用之前的骷髅峡谷,一次买上三个,全32G还固态硬盘,18k成本太高,况且全固态vsa ...

  3. android studio 设置自动编译_Appium Mac系统 自动测试环境搭建

    一.python 环境准备 Mac 自带 Python 环境,一般为 2.7 版本. 1.查看当前系统默认的Python路径 which python ==> /usr/bin/python 2 ...

  4. 用jenkins搭建android自动打包环境

    这里假设你已经搭建了jenkins的环境.否则,请阅读我的另一篇文章: http://my.oschina.net/u/930967/blog/298980 其实那个文章里面有用的就两句话的事儿,还是 ...

  5. Android Camera 测试环境搭建:编译Android模拟器

    在 Ubuntu 下面我编译 android 12 已经尝试过很多次,都失败了. 都是执行下面这步的时候,编译了几个小时以后报错 make sdk sdk_repo -j12 一开始给虚拟机分配了 8 ...

  6. android自动测试2:使用android studio实现设备循环自动重启

    一.前提: apk可以获得系统签名 二.适用: 需要对android设备进行循环重启测试 三.步骤: 1. AndroidManifest.xml中添加以下权限: <uses-permissio ...

  7. sublime搭建基于GoSublime+gocode+MarGo的下载SublimeGO开发环境

    1. 下载 Sublime 2. 打开之后安装 Package Control:Ctrl+` 打开命令行,执行如下代码: 从菜单 View - Show Console 或者 ctrl + ~ 快捷键 ...

  8. 用sublime搭建基于GoSublime+gocode+MarGo的下载SublimeGO开发环境

    1. 下载 Sublime  2. 打开之后安装 Package Control:Ctrl+` 打开命令行,执行如下代码: 1 import urllib2,os; pf='Package Contr ...

  9. 在x86服务器上 搭建基于docker的arm64程序编译和运行环境

    docker 镜像: multiarch/qemu-user-static:register arm64v8/ubuntu:18.04 必要的组件: qemu https://github.com/m ...

最新文章

  1. win10和win7游戏测试软件,是时候和Win7说再见了!Win10游戏性能最多领先50%
  2. Java学习_day006:嵌套循环与数组
  3. 花费一天时间基于Vue创建的epub小说阅读器效果展示及源码分享
  4. 66319d电源使用说明书_矿用防爆交换机如何正确安装调试和使用?
  5. python 类中定义列表_Python-从类定义中的列表理解访问类变量
  6. C语言、C++学习路线
  7. SQL server数据异地备份到OSS
  8. HTK下yes/no的识别
  9. RTP/RTCP协议详解
  10. fatal: Not a git repository (or any parent up to mount point /home) Stopping at filesystem boundary
  11. HDU 3480 Division(斜率DP裸题)
  12. 在envi做随机森林_【模型篇】随机森林模型(Random Forest)
  13. jar反编译工具 比jd-gui 功能更强大的 Luyten 查看jar源码, 解决jd反编译代码中break labelxxx 、 static初始块中出现return 等问题
  14. 微软亚洲研究院院长换帅!复旦校友周礼栋博士升任新院长
  15. JWT 避坑指南:nbf 验签失效问题的解决
  16. 逸鹏说道:性格色彩读后感
  17. itext文本域自动换行_iText+Flying Saucer生成pdf文档,中文不显示和不自动换行问题...
  18. python 实现usn读取记录
  19. winsat查询windwos里disk、mem、cpu性能
  20. 20220528【聊聊假芯片】贪便宜往往吃大亏,盘点下那些假的内存卡和固态硬盘

热门文章

  1. java创建读取文件_Java实现文件的创建、读取、写入操作-Fun言
  2. 友盟渠道统计mysql_cnzz友盟怎么安装网站统计代码监控网站流量
  3. lisp 读取dwg 统计信息_预制梁厂 BIM 技术和自动化、信息化应用方案
  4. oracle11g备份出错,Oracle 11g备份导入12c错误
  5. java 8 optional 类,Java8新特性-Optional类
  6. js简易计算机代码if语句,简单学习下JS里的if语句的写法
  7. java判断输入月份_Java输入年份和月份判断多少天实例代码
  8. python大学什么专业学校_好学校的差专业和一般大学的好专业,该怎么选?我来说真话……...
  9. mysql挪到小数点位置_mysql数据库迁移到另一个硬盘上
  10. Gen系列服务器,新计算、新体验 | 新华三全新HPE Gen10系列服务器响彻“云”端