开篇中讲到所使用的测试框架:Selenium 2 + Eclipse(Java)+ Junit + Appium。

这里对Appium的原理进行一个简单的阐述。

Google为Android开发了自己的自动化测试框架 - UIAutomator,只支持Java语言。

Apple为iOS开发了自己的自动化测试框架,在Xcode里,叫做UIAutomation,只支持JavaScript语言。

如果你只做Android的自动化测试,那么UIAutomator也可以。

如果你只做iOS的自动化测试,那么UIAutomation也足够了。

如果你想既做Android的自动化测试,又做iOS的自动化测试,那么Appium就显得难能可贵了。

 

Appium的开发者认为,自动化测试,不应该限定特定的语言,也不应该限定特定的框架。

Appium几乎支持任何语言 - Java,Python,Ruby,PHP,C#,JavaScript等等。

使用Appium可以测试Android,也可以测试iOS,而且大部分代码都可以公用。

 

我们可以把Appium看做是一个翻译人员。

它可以把你的自动化测试脚本,翻译成UIAutomator能识别的Java语言,然后调用UIAutomator来执行测试。

它也可以把你的自动化测试脚本,翻译成UIAutomation能识别的JavaScript语言,然后调用UIAutomation来执行测试。

它只是一个中间人。

 

运行测试脚本的电脑,我们称为Client。

打开Appium,就开启了Appium Server,默认监听4723端口。

Appium Server接收到Client命令(测试脚本),翻译成测试机器可以理解的语言,然后发送给测试机器运行。

 

测试机器运行结束后,再把测试结果返回给Appium Server,之后Appium Server再把测试结果返回给Client。

 

posted on 2016-04-14 14:55  mattcao  阅读(7096)  评论(0编辑  收藏  举报