最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

Python+appium+pytest自动化教程(四)

XAMPP教程 中文小张 4975浏览 0评论

Appium

Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持IOS、Android及FirefoxOS平台。Appium使用WebDriver的json wire协议,来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架。Appium对IOS系统的支持得益于Dan Cuellar’s对于IOS自动化的研究。Appium也集成了Selendroid,来支持老android版本。

Appium支持Selenium WebDriver支持的所有语言,如java、Object-C、JavaScript、Php、Python、Ruby、C#、Clojure,或者Perl语言,更可以使用Selenium WebDriver的Api。Appium支持任何一种测试框架。如果只使用Apple的UIAutomation,我们只能用javascript来编写测试用例,而且只能用Instruction来运行测试用例。同样,如果只使用Google的UIAutomation,我们就只能用java来编写测试用例。Appium实现了真正的跨平台自动化测试。

技术架构

功能\Driver appium-android-driver appium-uiautomator2-driver appium-espresso-driver
用途 驱动UIAutomator1 驱动UIAutomator2 驱动espresso
automationName UiAutomator1 UiAutomator2 Espresso
包形式 AppiumBootstrap.jar appium-uiautomator2-server-v${version}.apk TODO待研究
包依赖地址 bootstrap/bin/ appium-uiautomator2-server/apks/ TODO
优点 jar包形式,免安装,一个命令直接启动,权限级别是shell级别 官方推荐使用2,对高版本兼容性好 控件识别能力强
缺点 对高版本兼容性差,容易无法识别控件 apk形式,需要安装 apk形式,需求安装,并且是侵入式的,可能带来风险
Server模块 在相同工程中,Bootstrap目录,maven工程,主要目标是在bin目录下输出AppiumBootstrap.jar 不同工程,单独的另外一个Nodejs工程:appium-uiautomator2-server 相同Nodejs工程,espress-server目录,gradle工程

Appium组件:

Appium Server:是appium的服务器。一个web接口服务,使用nodejs实现

Appium Desktop是一款适用于mac和windowslinunx的开源的应用程序,他以美观而灵活的用户界面提供Appium自动化服务器的强大工具,

Appium环境搭建

1.安装node.js  node -v :查看版本 npm -v 是node.js中的包管理的工具,

2.安装appium  可以通过淘宝镜(npm.taobao.org)像 npm install -g cnpm –register=https://reistry.npm.taobao.arg 使用cmd:cnpm install -g appium1.7.2-g

where appium可查看安装路径,运行 cmd: appium

3.安装python

4.安装pycharm

Appium会话—— Capability

desired Capabilitys的功能是配置Appium的会话,是一组的键值对的集合,其中键值对设置对应的名称而值设置对应的值,它们将作为JSON对象发送到Appium。

{
"platformName": "iOS",
"platformVersion": "11.0",
"deviceName": "iPhone 7",
"automationName": "XCUITest",
"app": "/path/to/my.app"
}

这组期望的能力的表示为Appium到在iPhone 7模拟器与iOS 11开始自动化会议,使用的XCUITest驱动,以/path/to/my.app作为待测应用程序。

session:

Appium的客户端和服务端之间的通信必须在session中的上下文中进行客户端发起通信时候首先技术逆行json对象给服务器,然后创建session的ID返回客户端,之后客户端可以用session的Id来操作

转载请注明:XAMPP中文组官网 » Python+appium+pytest自动化教程(四)

您必须 登录 才能发表评论!