这些库包装了标准的Selenium客户端库,以提供JSON Wire protocol规定的所有常规Selenium命令,并添加与控制移动设备相关的额外命令,例如多点触控手势和屏幕方向。
Appium客户机库实现了 Mobile JSON Wire Protocol(标准协议的官方草案扩展)和 W3C Webdriver spec(一个传输无关的自动化规范;这里定义了multiactionapi)的元素。
Appium服务器本身定义了对官方协议的自定义扩展,为Appium用户提供了对各种设备行为的有用访问(例如在测试会话期间安装/卸载应用程序)。这就是为什么我们需要特定于Appium的客户端,而不仅仅是“香草”Selenium客户端。当然,Appium客户机库只添加了功能(实际上,它们只是扩展了标准的Selenium客户机),所以它们仍然可以用来运行常规的Selenium会话。
Language/Framework | Github Repo and Installation Instructions |
---|---|
Ruby | https://github.com/appium/ruby_lib, https://github.com/appium/ruby_lib_core |
Python | https://github.com/appium/python-client |
Java | https://github.com/appium/java-client |
JavaScript (Node.js) | https://github.com/admc/wd |
JavaScript (Node.js) | https://github.com/webdriverio/webdriverio |
JavaScript (Browser) | https://github.com/projectxyzio/web2driver |
Objective C | https://github.com/appium/selenium-objective-c |
PHP | https://github.com/appium/php-client |
C# (.NET) | https://github.com/appium/appium-dotnet-driver |
RobotFramework | https://github.com/serhatbolsu/robotframework-appiumlibrary |