windows下搭建appium+android测试环境(node.js样例)
创始人
2024-02-22 03:55:47
0

安装 Appium

Appium是开源的自动化测试框架,主要用于iOS,Android以及Windows apps等移动平台的自动化测试。官网的介绍说是它实现一套适用于移动端的WebDriver协议,所以使用Appium时用的还是依赖于Selenium,和Web自动化测试的主要区别就在Driver不一样。

举一个例子,如果我们需要用Google Chrome来跑Selenium的自动化测试,那么首先需要一个ChromeDriver。如果需要跑在IE上,那么需要一个IEDriver。那么现在需要在移动端比如Android里跑Selenium,这时候你需要一个Appium就够了,它担当了Driver的角色。Appium实现了一套标准的WebDriver,只要Appium服务起来之后,你的代码只需要和Appium交互,Appium会去告诉设备该干嘛干嘛。这里提到的设备可以是iOS或者Android,甚至是Windows Phone 和Firefox OS。

Appium 官网: http://appium.io/

安装方式一: 使用NodeJS 安装

首先到NodeJS官网下载安装最新的NodeJS,Windows下属于傻瓜安装。安装好之后你可以配置NodeJS的安装源,在国内一般都用taobao的镜像,速度还不错。

在个人目录下新建一个 .npmrc 文件,写入:

1
registry=https://registry.npm.taobao.org/

然后使用npm命令安装 Appium

1
npm install -g appium

建议顺便安装一下appium-doctor,通过运行appium-doctor命令可以快速检查appium的环境问题。

1
npm install -g appium-doctor

如果安装成功,那么就可以通过 appium 命令启动appium server。

转存失败重新上传取消

关闭命令行或者按 Ctrl - C 就可以停止 Appium Server。

安装方式二: 使用Appium安装包

网上很多教程所引导的Appium安装包一般在百度网盘或者bitbucket里,其实这两者都不是最新的。最新版的安装包应该从官网下载,Appium 目前托管在github,正确的下载地址应该为:

  • https://github.com/appium/appium-desktop/releases

最新版的Appium 桌面安装后启动是这样的。

转存失败重新上传取消

功能上和老的版本没太大区别,但是日志和UI显示更加清晰,一旦错误发生让你更容易找到问题所在。

转存失败重新上传取消

注意,你可以不安装Appium 桌面版,但是命令行版应该还是需要安装的,因为自动化测试运行时一般都是通过命令启动和关闭Appium,桌面版并不提供命令行功能,只是为了调试方便。

关于Appium的介绍,这里有一份非常好的文档:http://appium.io/slate/cn/master

必要的环境变量设置

如果你已经安装了appium-doctor,那么你只要运行appium-doctor命令就可以知道你还需要设置哪些环境变量,比如:

正在上传…重新上传取消

不要慌,其实你只需要设置以下环境变量:

环境变量
ANDROID_HOMEAndroid SDK 的安装位置
JAVA_HOMEJDK 或者 JRE 的安装位置
加入 PATH%ANDROID_HOME%\tools
加入 PATH%ANDROID_HOME%\platform-tools
加入 PATH%JAVA_HOME%\bin
加入 PATH%ANDROID_HOME%\build-tools\??version?? (可选)

最后一个环境变量是为了更方便地使用aapt这个工具,完成环境变量配置后你可以再次运行appium-doctor进行检查。不出意外,你应该能通过检查。

Node.js测试用例

"use strict";require("./helpers/setup");var wd = require("wd"),_ = require('underscore'),serverConfigs = require('./helpers/appium-servers');describe("android simple", function () {this.timeout(300000);var driver;var allPassed = true;before(function () {var serverConfig = process.env.npm_package_config_sauce ?serverConfigs.sauce : serverConfigs.local;driver = wd.promiseChainRemote(serverConfig);require("./helpers/logging").configure(driver);var desired = process.env.npm_package_config_sauce ?_.clone(require("./helpers/caps").android) :_.clone(require("./helpers/caps").android);// desired.app = require("./helpers/apps").taobaoApp;if (process.env.npm_package_config_sauce) {desired.name = 'android - simple';desired.tags = ['sample'];}return driver.init(desired).setImplicitWaitTimeout(3000);});after(function () {return driver.quit().finally(function () {if (process.env.npm_package_config_sauce) {return driver.sauceJobStatus(allPassed);}});});afterEach(function () {allPassed = allPassed && this.currentTest.state === 'passed';});it("should find an element", function () {return driver.elementByAccessibilityId('Graphics').click().elementByAccessibilityId('Arcs').should.eventually.exist.back().elementByName('App').should.eventually.exist.elementsByAndroidUIAutomator('new UiSelector().clickable(true)').should.eventually.have.length(12).elementsByAndroidUIAutomator('new UiSelector().enabled(true)').should.eventually.have.length.above(20).elementByXPath('//android.widget.TextView[@text=\'API Demos\']').should.exists;});
});

caps.js

exports.android = {// browserName: '','appium-version': '1.7.2',platformName: 'Android',platformVersion: '5.1',deviceName: 'emulator-5554',appActivity:'com.taobao.tao.homepage.MainActivity3',appPackage:'com.taobao.taobao'// app: undefined // will be set later
};

相关内容

热门资讯

无锡律师行业前景与老律师经验传... 在无锡、常州、苏州、镇江、南通等地,律师行业正展现出蓬勃的发展态势,无锡律师行业前景更是备受瞩目。随...
南京市廉政文化研究会应邀赴西安... 扬子晚报网12月28日讯(通讯员 杨雅舒 邵加宝 记者 闫春旭)12月28日,由陕西省廉政文化研究会...
北京放宽购房门槛,优化住房信贷...   为更好满足居民刚性和多样化改善性住房需求,北京进一步优化调整房地产相关政策。   12月24日,...
刘百奇:政策与市场双轮驱动——... 12月28日,由创业黑马主办的“第17届创业家年会”在北京举办,年会主题为“智业革命 —— 跨越断层...
原创 郑... 自从被曝与前夫张恒在国外合开代孕机构之后,郑爽突然又活跃了起来,舆论都过去了,以郑爽名义成立的几个账...
成都警方通报燃爆事件:段某因纠... 2025年12月28日,成都市公安局高新区分局发布警情通报: 来源:成都公安
原创 从... 古代传统婚姻讲究“聘则为妻,奔则为妾”,这句话出自《礼记.内则》,将妻和妾的关系区分的很明白。娶妻不...
成都警方:一男子因纠纷引发燃爆... 12月28日,成都市公安局高新区分局发布警情通报: 12月28日下午,我区南三环路四段一汽车销售服务...
高新区一4S店发生燃爆致1死4... 12月28日,成都市公安局高新公安分局发布警情通报称,2025年12月28日下午,高新区南三环路四段...
吉利起诉欣旺达索赔23亿,最“... 文 | 超聚焦 辛辛苦苦干两年,结果到头还赔钱。 12月26日,欣旺达发布公告称,子公司欣旺达动力...