博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用 node(wd)编写 Appium 测试用例--测试2
阅读量:6188 次
发布时间:2019-06-21

本文共 2865 字,大约阅读时间需要 9 分钟。

是Appium服务器的JavaScript语言的客户端程序库,支持使用node编写Appium测试用例

在编写测试用例前,确保电脑已搭建好Appium环境,若未搭建,参考:

搭建测试项目

新建项目

$ mkdir appium-wd-example$ cd appium-wd-example$ npm init复制代码

安装 appium 客户端程序库

$ npm install wd # wd是Appium服务器的JavaScript语言的客户端程序库复制代码

安装 mocha 测试框架及其他依赖

$ npm install mocha # 测试框架$ npm install chai$ npm install chai-as-promised$ npm install colors复制代码

编写测试用例

测试功能

进入微信首页(未登录状态),检查是否存在登录按钮

准备

Android机(安装了微信)、数据线(将手机通过数据线与电脑连接)

获取设备信息

deviceName
$ adb devices# List of devices attached# U2TDU15904014013	device复制代码
appPackage & appActivity

在测试机上,打开微信,执行以下脚本:

$ adb shell dumpsys window windows | grep mFocusedApp# mFocusedApp=AppWindowToken{1c6b43b3 token=Token{49ad22 ActivityRecord{35092aed u0 com.tencent.mm/.ui.LauncherUI t224}}}复制代码

从输出可以获取到 appPackage: "com.tencent.mm"; appActivity: ".ui.LauncherUI"

配置:

写代码

sample.js

require("../helpers/setup");const wd = require("wd");const serverConfig = {    host: 'localhost',    port: 4723};describe("sample test", function () {    this.timeout(300000);    let driver;    let allPassed = true;    before(function () {        driver = wd.promiseChainRemote(serverConfig);        require("../helpers/logging").configure(driver);        var desired = {            platformName: 'Android',            deviceName: 'U2TDU15904014013',            appPackage: 'com.tencent.mm',            appActivity: '.ui.LauncherUI',            fullReset: false,            fastReset: false,            noReset: true,        };        return driver            .init(desired)            .setImplicitWaitTimeout(8000);    });    after(function () {        return driver            .quit();    });    afterEach(function () {        allPassed = allPassed && this.currentTest.state === 'passed';    });    it("进入微信首页", function () {        return driver            .elementByXPath("//*[@text='登录']")            .should.eventually.exist;    });});复制代码

setup.js

const wd = require("wd");require('colors');const chai = require("chai");const chaiAsPromised = require("chai-as-promised");chai.use(chaiAsPromised);const should = chai.should();chaiAsPromised.transferPromiseness = wd.transferPromiseness;exports.should = should;复制代码

logging.js

exports.configure = function (driver) {    driver.on('status', function (info) {        console.log(info.cyan);    });    driver.on('command', function (meth, path, data) {        console.log(' > ' + meth.yellow, path.grey, data || '');    });    driver.on('http', function (meth, path, data) {        console.log(' > ' + meth.magenta, path, (data || '').grey);    });};复制代码

执行测试用例

package.json中添加以下脚本:

{    ...    "scripts": {        "sample": "mocha ./test/sample.js"    }    ...}复制代码

执行测试用例:

$ appium # 启动Appium服务$ npm run sample # 运行测试用例复制代码

执行结果如下:

以上就是使用 wd 编写简单 Appium 测试用例的过程了~

使用 wd 编写复杂测试用例,参考:

完整代码:

原文: https://github.com/HuJiaoHJ/blog/issues/3

转载于:https://juejin.im/post/5b2f2efd51882574a11f6a1d

你可能感兴趣的文章
shell 自增
查看>>
Arduino 与指南针传感器HMC5883L
查看>>
gevent -- 简单游戏服务
查看>>
牛逼DBA必备技能
查看>>
文档 ID 749851.1
查看>>
eclipse在线安装golang插件,并配置
查看>>
初识JVM
查看>>
javascript组件封装原则
查看>>
Screenshot Reader支持哪些语言和文档格式
查看>>
怎么使用ABBYY中手动编辑图像功能
查看>>
相当不错的Java中文教程
查看>>
ubuntu 安装netdata
查看>>
解决微信图片不可引用的问题
查看>>
Android Studio修改项目的包名
查看>>
ubuntu简单安装sublime text 2
查看>>
Centos 安装 JDK1.6 步骤及常见问题
查看>>
iOS 检测app进入后台或前台
查看>>
Xlib: connection to ":0.0" refused by server解决方法
查看>>
代码版本管理
查看>>
SpringBoot2.x配置Cors跨域
查看>>