開篇中講到所使用的測試框架: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。