在简书上的第一篇测试技术性文章
最近一直在研究自动化测试,关于web自动化个人使用selenlium+python感觉还是很方便的,在此就不多说了,今天重点说Appium在真机上调试程序,首先是Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持IOS、Android及FirefoxOS(已死,可忽略)平台。Appium使用WebDriver的json wire协议,来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架。Appium对IOS系统的支持得益于Dan Cuellar’s对于IOS自动化的研究。Appium也集成了Selendroid,来支持老android版本。Appium的好处是支持Selenium WebDriver支持的所有语言,如java、Object-C、JavaScript、Php、Python、Ruby、C#、Clojure,或者Perl语言,更可以使用Selenium WebDriver的Api。Appium支持任何一种测试框架,所以说使用起来非常方便。
废话不多说了,进入正题,工欲善其事,必现利其器,首先正确配置appium,从网上下载适用自己电脑的版本,appium支持命令行和GUI,现在GUI最新的是appium1.7.1版本,命令行我忘了最新的多少了,我电脑上的是1.6.4,至于配置什么的这里就不一一说了,请劳您大驾自行百度,最后appium-doctor,如出现以下截图则恭喜,万里长征第一步算是完成了(马赛克什么的不重要,成功配置了就行),如没有成功,那你就百度上再捣鼓捣鼓吧。
既然环境都配置成功了,那咱们就先说Android的吧,因为相对于iOS来说非常省事,点击start启动appium server,然后启动inspector会看到这样一个页面,这时在下方左侧输入你的真机对应各项参数,参数有很多,http://www.51testing.com/html/96/86796-3693951.html,这里有详细介绍,咱们就只说常用的几个
//设置当前测试手机系统
desired_caps['platformName'] =‘Android'
//设置当前手机系统版本
desired_caps['platformVersion'] ='4.4'
//手机名称,具体可以使用uiautomatorviewer来查看
desired_caps['deviceName'] ='oneplus-a0001-ae45407'
//设置待测试的包名,此处以手机计算器为例
desired_caps['appPackage'] ='com.android.calculator2'
//设置待测试的启动appActivity,如果不知道当前app的appActivity可以终端使用此命令来查看
adb shell dumpsys activity | grep mFocusedActivity
desired_caps['appActivity'] ='com.android.calculator2/.Calculator'
设置完之后大概就是下面这个样子,这时候点击start session,看到如下界面就成功了,此时你就可以定位元素去执行case了。
iOS的话稍微麻烦点,需要配置WDA,这里谢谢“每天1990“”的两篇文章http://www.cnblogs.com/meitian/p/7360097.html,http://www.cnblogs.com/meitian/p/7359787.html写的很详细,给了很多帮助,请移步此处按需配置,配置完成后这几处参数与安卓的不一样
1.app或bundid使用一个即可
2.bundId:如果已安装app可以使用bundlId免去安装
3.automationName使用XCUITest
4.udid:标识手机唯一标识。如果只插了一个手机可以用auto,会自动匹配到唯一的设备
配置完成后,跟上面安卓操作步骤一样去定位元素即可
补充一句,第一次发布文章,还不会排版,请多关照,不喜勿喷,转载请注明出处