AWS Device Farm 测试用例失败

AWS Device Farm testcases getting failed

虽然 运行 三星 Galaxy Note 10 的 AWS Device farm 上的测试用例,但我收到以下错误。 P.S: 这个问题不是模块的问题。

Failed to start Appium server: uncaughtException: Cannot find module 'internal/util/types'
date=Fri Dec 11 2020 09:09:29 GMT+0000 (Coordinated Universal Time), pid=8265, uid=1001, gid=1001, cwd=/usr/local/avm/versions/1.4.16/node_modules/appium, execPath=/usr/bin/node, version=v10.14.0, argv=[/usr/bin/node, /usr/local/bin/appium, --pre-launch, --log-timestamp, --log-no-colors, --use-keystore, --app, /tmp/scratchHgV3fC.scratch/share-cDnEwS.scratch/app-lHmzCQ.apk, --udid, R58M78B6WRN, --address, 127.0.0.1, --port, 4723, --log-level, debug, --platform-name, Android, --tmp, /tmp/scratchHgV3fC.scratch/appium-CqtB4x, --device-name, R58M78B6WRN, --platform-version, 9, --app-pkg, com.audetemi.trackhelp, --app-activity, com.audetemi.trackhelp.ui.activities.SplashActivity, --chromedriver-executable, /opt/chromedriver/linux/65/chromedriver], rss=89526272, heapTotal=73527296, heapUsed=45065896, external=848015, loadavg=[0.4404296875, 0.4755859375, 0.431640625], uptime=6914, trace=[column=15, file=internal/modules/cjs/loader.js, function=Function.Module._resolveFilename, line=580, method=Module._resolveFilename, native=false, column=25, file=internal/modules/cjs/loader.js, function=Function.Module._load, line=506, method=Module._load, native=false, column=17, file=internal/modules/cjs/loader.js, function=Module.require, line=636, method=require, native=false, column=18, file=internal/modules/cjs/helpers.js, function=require, line=20, method=null, native=false, column=31, file=evalmachine.<anonymous>, function=null, line=44, method=null, native=false, column=1, file=/usr/local/avm/versions/1.4.16/node_modules/appium/node_modules/md5calculator/node_modules/unzip/node_modules/fstream/node_modules/graceful-fs/fs.js, function=, line=11, method=null, native=false, column=30, file=internal/modules/cjs/loader.js, function=Module._compile, line=688, method=_compile, native=false, column=10, 

您的测试代码使用的是 Appium 服务器版本 1.4.16,AWS Device Farm 不再支持此旧版本。 AWS Device Farm 上所需的最低 Appium 版本是 1.9.1,使用 custom test environment mode 功能,您可以使用更新的版本,例如 1.16.0。

要更改您的 Appium 版本,标准模式用户将通过 ScheduleRun API (if using the CLI/SDK). Custom environment users would modify the beginning lines of the install phase of their test spec file (see https://docs.aws.amazon.com/devicefarm/latest/developerguide/custom-test-environments.html 中的 API 的测试参数选项(测试 -> 参数 -> appium_version)更改他们的版本) 使用不同版本的 appium 节点。

从 AWS Device Farm 控制台安排 运行 时,将有 测试规范 使用 avm 更改 Appium 版本的示例。我建议查看该示例文件,了解如何使用/配置自定义测试环境模式。

如果您仍然遇到问题,通常可以通过 AWS Device Farm Forums 或通过支持电子邮件获得更具体的帮助:aws-devicefarm-support@amazon.com