[视频] 使用 iOS 真机演示 Macaca 测试 - CNode技术社区

[视频] 使用 iOS 真机演示 Macaca 测试
发布于 10 年前 作者 tsj1107 6345 次浏览 最后一次编辑是 9 年前 来自 分享

点击此链接看视频

iOS 模拟器效果 链接

iOS 真机与 Android 真机步骤基本一致(Android 真机下跑 macaca 用例点此),最大不同是需要将你的 iOS APP 装到真机上并且能运行。

目录结构:

| -- macaca-test
| | -- myapp.test.js
| -- package.json

package.json 文件:

{
 "name": "macaca-android-test-sample",
 "version": "0.1.0",
 "description": "macaca-android-test-sample",
 "devDependencies": {
 "wd": "*"
 }
}

查询 wdjs API 正式开始编写用例代码, myapp.test.js 文件如下,代码上与 Android 不同之处在于无需指定 APP 文件地址,因为你已经将 APP 装入真机了,另外在初始化 driver 的时候需要传设备的 udid 和 APP的 bundleId:

const path = require('path');
const wd = require('wd'); // 引用 wd 模块
describe('macaca mobile sample', function() {
 this.timeout(5 * 60 * 1000); // mocha 设置超时时间
 var driver = wd.promiseChainRemote({ // 初始化 webdriver
 host: 'localhost',
 port: 3456
 });
 before(function() { // 与 Android 最大不同是无需指定 APP 的路径,需要传 udid 和 bundleId
 return driver.init({ 
 platformName: 'Android',
 udid: 'xxxxx',
 bundleId: 'xxxxx'
 });
 });
 after(function() { // 所有测试用例的统一后置动作
 return driver 
 .sleep(1000)
 .quit();
 });
 it('#1 should login success', function() { // 测试一下 login
 return driver
 	.waitForElementByXPath('//UIATextField[1]')
 	.sendKeys(username)
 	.waitForElementByXPath('//UIASecureTextField[1]')
 	.sendKeys(password)
 	.sleep(1000)
 	.sendKeys('\n')
 	.waitForElementByName('Login')
 	.click()
 	.sleep(5000);
 });
});

最后运行 macaca run --server 就可以看了

回到顶部

AltStyle によって変換されたページ (->オリジナル) /