Appium总结(一):安装

来源:互联网 发布:简单java在线考试系统 编辑:程序博客网 时间:2024/05/24 01:13

一、基本概念

Appium是一个开源的自动化测试框架,可以测试web端和移动端的项目。同时,它是跨平台的,可以在mac,linux和windows上运行。

Appium移动测试技术架构为:IOS(UIAutomation)  ,  Android(4.2+ UIAutomator,2.3+ Selendroid)

为了让任何人都可以使用自己最熟悉最顺手的语言以及框架来做移动端自动化测试,appium选择了client-server的设计模式。只要client能够发送http请求给server,那么的话client用什么语言来实现都是可以的,这就是appium及webdriver如何做到支持多语言的;

其次,为了能够实现不要为了移动端的自动化测试而重新发明轮子,重新写一套惊天动地的api;也就是说webdriver协议里的api已经够好了,拿来改进一下就可以了;这个思想,appium扩展了webdriver的协议,没有自己重新去实现一套。这样的好处是以前的webdriver api能够直接被继承过来,以前的webdriver各种语言的binding都可以拿来就用,省去了为每种语言开发一个client的工作量;


二、安装

ONE > appium server的gui需要从官网下载,下载完成后打开会进入这样一个界面:


以Android测试为例,需要进行的配置有:
点开设置按钮,然后配置Server address为127.0.0.1(默认为0.0.0.0),port为4723
点开安卓图标,进行如下的配置:



注意事项:
1.deviceName是appium server找到测试设备必备的,获得方式很简单:在命令行输入adb devices就可以拿到
2.测试机推荐使用Genymotion,运行速度很快,测试也简单
3.gui的配置完毕后需要点击左上角的appium doctor选项检查系统配置是否完备,包括JDK path,Android Home等,如果发现Android Home变量没配可以打开Home目录下的.bashrc文件进行配置;
但是如果电脑使用的是别的shell,那么就得自己google看怎么配置了。
4.打开devicename对应的设备,然后就可以点击右上角的Launch选项啦,如果server没有报错的话那么在测试机上就会看到app已经打开了

TWO > appium server的命令行安装(需要翻墙)
首先,电脑上必须已经安装好Node:brew install node,查看是否安装成功的方式就是在命令行输入node -v;
安装node后用npm命令进行appium的安装:npm install -g appium,-g表示全局安装,注意千万不要用sudo命令
安装appium的过程会比较漫长,因为需要翻墙的缘故~~~

如果不想要翻墙的话,可以使用淘宝的npm源进行安装,命令为:
npm -g --registry http://registry.cnpmjs.org  install appium

THREE > Ruby appium client的安装(需要翻墙)
首先得安装rubygems(https://rubygems.org/pages/download)
安装完成后通过gem -v查看是否安装成功,然后接下来就是重点了:
默认的gem安装源下载速度都很慢,所以我们要换成淘宝的gem源,在命令行输入下列代码:

gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/

替换完成后输入gem source -l,如果显示的是taobao的源那么说明替换成功了!
然后就是gem install --no-rdoc --no-ri appium_lib,它会自动下载所有相关的依赖库。当然,gem也支持本地安装,但是依赖树结构太恶心了,不建议使用


Simplest Demo
下面是网上的一个Appium例子,是计算器的;
server的配置:


client的配置:Test.rb
require 'appium_lib'caps   = { caps:       { platformName: 'Android', appActivity: '.Calculator', appPackage: 'com.android.calculator2', deviceName: 'Custom Phone - 4.3 - API 18 - 768x1280' },           appium_lib: { sauce_username: nil, sauce_access_key: nil } }driver = Appium::Driver.new(caps).start_driverdriver.find_element(:name,'9').click;driver.find_element(:name,'+').click;driver.find_element(:name,'3').click;driver.find_element(:name,'=').click;


打开Server后运行Client就可以看到计算器会自己进行9+3=12的运算

下章:Ruby Appium Console(arc) 

0 0