appium小试用

来源:互联网 发布:网络信息安全责任状 编辑:程序博客网 时间:2024/05/16 10:40

Client/Server Architecture

appium的核心其实是一个暴露了一系列REST API的server。 

这个server的功能其实很简单:监听一个端口,然后接收由client发送来的command。翻译这些command,把这些command转成移动设备可以理解的形式发送给移动设备,然后移动设备执行完这些command后把执行结果返回给appium server,appium server再把执行结果返回给client。

在这里client其实就是发起command的设备,一般来说就是我们代码执行的机器,执行appium测试代码的机器。狭义点理解,可以把client理解成是代码,这些代码可以是java/ruby/python/js的,只要它实现了webdriver标准协议就可以。

这样的设计思想带来了一些好处:

1,可以带来多语言的支持;

2,可以把server放在任意机器上,哪怕是云服务器都可以;(是的,appium和webdriver天生适合云测试)

session就是一个会话,在webdriver/appium,你的所有工作永远都是在session start后才可以进行的。一般来说,通过POST /session这个URL,然后传入Desired Capabilities就可以开启session了。开启session后,会返回一个全局唯一的session id,以后几乎所有的请求都必须带上这个session id,因为这个seesion id代表了你所打开的浏览器或者是移动设备的模拟器。进一步思考一下,由于session id是全局唯一,那么在同一台机器上启动多个session就变成了可能,这也就是selenium gird所依赖的具体理论根据。


Appium Server

这就是每次我们在命令行用appium命令打开的东西。

Appium Clients

由于原生的webdriver api是为web端设计的,因此在移动端用起来会有点不伦不类。appium官方提供了一套appium client,涵盖多种语言ruby/java/python,在我看来ruby client是实现最好的。在测试的时候,一般要使用这些client库去替换原生的webdriver库。这实际上不是替换,算是client对原生webdriver进行了一些移动端的扩展,加入了一些方便的方法,比如swipe之类,appium client让我们可以更方便的写出可读性更好的测试用例。


Appium Server的安装:

1、安装nodejs

2、安装Android SDK 并设置ANDROID_HOME, 环境变量里添加%ANDROID_HOME%和 %ANDROID_HOME%、platform-tools

3、安装Git

4、npm install -g appium

5、安装完后输入appium,若成功则正确显示,失败有安装失败信息

Appium Client的安装:

pip install Appium-Python-Client
使用与selenium类似,都是定位元素,模拟相应的操作。可以多做些例子熟悉下各个方法的功能。




0 0
原创粉丝点击