搭建基于C#和 Appium 的 Android自动测试环境
移动端的自动化测试框架主要就是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 ,这样配置简单,模拟器的性能也强一些。
下载地址:http://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。可以到官网下载。
下载地址:https://github.com/appium/appium-desktop/releases/tag/v1.7.1
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。如下图:
如果对软件测试、接口测试、自动化测试、性能测试、LR脚本开发、面试经验交流。感兴趣可以175317069,群内会有不定期的发放免费的资料链接,这些资料都是从各个技术网站搜集、整理出来的,如果你有好的学习资料可以私聊发我,我会注明出处之后分享给大家。
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(); } } } }
原文:https://blog.csdn.net/Stephen_shijun/article/details/83994212
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Electrum比特币钱包的Python代码分析
如果你仍然未对Python语言的强大功能感到惊讶,那么在这部分我们将学习如何在python中开发比特币地址或钱包。我只是想说与你的计算机通信是多么容易,如果你通过python和Linux操作系统,可以用它做多少有趣的项目。 在本文中,我将分析Electrum的源代码,这是纯粹用Python编写的比特币钱包,它应该适用于任何python 2.x,我相信即使使用python 3.x包,默认情况下,所有依赖项该软件使用的是默认包。因此,不需要额外的软件。 免责声明:使用此代码和信息需要你自担风险,对于因使用修改后的代码而导致的任何损害,以及本文中提供的信息,我概不负责。如果你不知道自己在做什么,建议不要修改生成私钥的代码! 了解代码 我从Github下载了最新版本的Electrum源代码: https://github.com/spesmilo/electrum/releases/tag/2.8.3 种子生成器文件基本上位于lib中,它名为mnemonic.py,函数是make_seed(),它是这段代码: 你也可以通过内部命令从终端实际调用。所以,如果你安装了Electrum,那么它是这样...
- 下一篇
技术和商业的碰撞,谈阿里云与天猫双11这十年
摘要:2009年,发生了两件看似不起眼的事。 初春刚过,阿里云在北京一栋没有暖气的写字楼写下了飞天第一行代码。 同年11月11日,淘宝商城启动了一个叫做双11的促销活动。 谁也没想到,多年以后他们会是现在这模样。 2009年,发生了两件看似不起眼的事。 初春刚过,阿里云在北京一栋没有暖气的写字楼写下了飞天第一行代码。 同年11月11日,淘宝商城启动了一个叫做双11的促销活动。 谁也没想到,多年以后他们会是现在这模样。 前传 2007年淘宝的交易额突破了400亿,技术团队却喜忧参半:现有集中式架构已经捉襟见肘,该如何应对? 随即启动的分布式改造获得巨大成功,淘宝所有的业务都做了模块化。 尽管这次技术升级在现在看来存在诸多局限性:更多的是为了应对不断增多的图片缓存,在CDN端对海量的图片缓存做了一些限流操作。但就是这次改造成就了历史上第一个双11,2009年双11当天的流量达到了一个高峰,在旧的架构体系下,这几乎是一项不可能完成的任务。 一年后,飞天的第一个版本上线,仅有几十台机器的集群开始服务第一个内部客户——阿里金融。 这些探索让所有人看到了一个趋势:用分布式的方法将传统、昂贵的小型机...
相关文章
文章评论
共有0条评论来说两句吧...