我必须测试原生 android 应用程序,测试用 js 编写。我找不到这个概念的工作示例。
import { AndroidDriver } from "appium-android-driver"
这个导入引发了很多错误,我正在寻找一个提示 - 工作简单的项目。
我必须测试原生 android 应用程序,测试用 js 编写。我找不到这个概念的工作示例。
import { AndroidDriver } from "appium-android-driver"
这个导入引发了很多错误,我正在寻找一个提示 - 工作简单的项目。
不需要 wd,因为它是从“nativescript-dev-appium”自动导入的
看起来您正在使用打字稿。这是一个打字稿解决方案:
import { AppiumDriver, createDriver, SearchOptions,
Direction, nsCapabilities } from "nativescript-dev-appium";
import { assert } from "chai";
const addContext = require('mochawesome/addContext');
然后在同一个文件中实例化一个驱动程序实例并使用该实例:
describe('My Suite', () => {
let driver: AppiumDriver
before(async () => {
// Wait for the driver instance to be created
driver = await createDriver()
})
after(async () => {
// Destroy the driver instance
await driver.quit()
})
it('validates something', async () => {
// write your test in here
})
})
去这里获取一些很棒的文档
您可以使用wd.js作为 Appium 的 Node.js 客户端:
考虑到您熟悉async/await概念,代码可能如下所示:
const wd = require('wd')
const serverConfig = {
host: 'localhost',
port: 4723
}
const desired = {
platformName: 'Android',
deviceName: 'Android Emulator',
appWaitActivity: <activity to wait>,
appWaitPackage: <app package name>,
androidInstallTimeout: 90000,
app: <path to app>
}
const driver = wd.promiseChainRemote(serverConfig)
await driver.init(desired)
await driver.setImplicitWaitTimeout(5000)
await driver.elementById('el_id').click()
这种导入方式适用于最新版本的 Node JS。确保您使用的是最新版本。另一种解决方法是使用传统方式
var AndroidDriver = require('appium-android-driver').AndroidDriver;
希望这可以帮助。