const { XCUITestDriver } = require('appium-xcuitest-driver');
const automationConfig = {
platformName: 'iOS',
platformVersion: '11.2',
deviceName: 'iPhone 7',
app: __dirname + '/cameo.app',
bundleId: 'com.app.myapp',
};
const driver = new XCUITestDriver();
driver.createSession(automationConfig)
.then(() => {
//WHAT DO I DO NOW??
})
以上代码打开iOS模拟器,下载我的应用程序并打开它。如何找到元素并单击它?
如果我driver.findElement(By.xpath("//whatever-xpath"))
,它会告诉我By
未定义。但By
中未包含driver
。我查看了appium文档,但API指南仍然是TODO>:|
我是否需要导入另一个模块来帮助解决这个问题?
在广泛的Google搜索之后,我无法找到任何有用的代码示例。
答案 0 :(得分:2)
如果您想使用appium-xcuitest-driver
进行e2e测试,那么使用wd.js包装更好更容易:
const wd = require('wd')
desired = {
platformName: 'iOS',
platformVersion: '11.1',
deviceName: 'iPhone SE',
automationName: 'XCUITest',
app: <path to app>
}
const server = {
host: 'localhost',
port: 4723
}
const driver = wd.promiseChainRemote(server)
await driver.init(desired)
const el1 = await driver.elementByAccessibilityId(<Valid Accessibility Identifier>)
const el2 = await driver.elementsByXPath(<Valid Xpath>)
另一点:它用于appium-xcuitest-driver repo
中的功能测试在运行测试之前启动appium服务非常重要:
npm install -g appium
appium