为了账号安全,请及时绑定邮箱和手机立即绑定

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

转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。


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

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

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

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

下面我们开始:

  1. 模拟环境搭建

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

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

安装完成后打开 Android Studio

在Tools菜单下找到 SDK Manager 菜单打开( Tools –>SDK Manager)显示如下:
https://img1.sycdn.imooc.com//5be3e41f00017d0a18441187.jpg

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

安装 Android SDK 例如:Android 6.0

接下来配置环境变量:

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

我对位置做过调整,和默认安装的位置不一样。
https://img1.sycdn.imooc.com//5be3e42800013e9512751110.jpg

将 E:android-sdk 替换成自己机器的地址。
https://img1.sycdn.imooc.com//5be3e4360001e0c106150581.jpg

在Path 中追加:%ANDROID_HOME%platform-tools; %ANDROID_HOME%tools
https://img1.sycdn.imooc.com//5be3e43d00012d2e06160581.jpg

安装完SDK 后就可以安装模拟器了,关闭SDK Manager ,打开 AVD Manager (Tools ->AVD Manager)
https://img1.sycdn.imooc.com//5be3e4460001f06a17570920.jpg

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

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

点击Next

选择 other Images, 找到你刚才下载的SDK 对应的Image ,上面选了Android 5.0 我们就下 Android 6.0 对应的Image ,点击Download 进行下载。完成后就可以点击Next 到最后一个画面了。
https://img1.sycdn.imooc.com//5be3e44f0001426f12570857.jpg

点击Finish 就完成了虚拟机的创建。
https://img1.sycdn.imooc.com//5be3e4580001e1c812500850.jpg

点击启动,启动虚拟机

https://img1.sycdn.imooc.com//5be3e4670001d26a11860794.jpg

https://img1.sycdn.imooc.com//5be3e4690001f7d104860892.jpg


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

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

下载地址:https://github.com/appium/app...

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

启动Appium
https://img1.sycdn.imooc.com//5be3e4740001483806400595.jpg

点击 Start Server v1.9.1
https://img1.sycdn.imooc.com//5be3e47e0001b67506360595.jpg

这样Appium Server 就启动了。

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

启动Visual Studio ,创建一个单元测试工程。
https://img1.sycdn.imooc.com//5be3e48a0001405211750819.jpg

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

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

https://img1.sycdn.imooc.com//5be3e4940001d47115940684.jpg

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

using Microsoft.VisualStudio.TestTools.UnitTesting;using OpenQA.Selenium.Remote;using System;namespace androidTest{
    [TestClass]    public class UnitTest1
    {
        [TestMethod]        public void TestMethod1()        {
            DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.SetCapability("deviceName", "Android Emulator");
            capabilities.SetCapability("automationName", "Appium");
            capabilities.SetCapability("platformName", "Android");
            capabilities.SetCapability("platformVersion", "6.0"); //可以根据自己的模拟器版版本进行修改。
            capabilities.SetCapability("appPackage", "com.android.calculator2"); //安卓自带计算器
            capabilities.SetCapability("appActivity", ".Calculator");
 
            RemoteWebDriver wd = new RemoteWebDriver(new Uri("http://127.0.0.1:4723/wd/hub"), capabilities);            try
            {                var result = wd.FindElementById("digit_5");
                result.Click();
            }            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }            finally { wd.Quit(); }
             
        }
 
    }
}
  

上面代码最重要的就是关于 capabilities.SetCapability 的参数,具体参数可以看官方的文档说明。官方说明如下:

http://appium.io/docs/en/writ...

好了,关于使用C#单元测试和Appium进行Android 测试环境的搭建就结束了。


ComponentOne Enterprise:.NET开发的“瑞士军刀”,功能全面、简单易用的 Visual Studio 组件集
https://img1.sycdn.imooc.com//5be3e4cb00016ac707070428.jpg


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 1
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消