При выполнении тестовых случаев на ферме устройств AWS для Samsung Galaxy Note 10 я получаю следующую ошибку. 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. Минимальная требуемая версия Appium на AWS Device Farm — 1.9.1
, и с помощью функции пользовательского режима тестовой среды вы можете использовать гораздо более свежие версии, такие как 1.16.0.
Чтобы изменить версию Appium, пользователи стандартного режима должны изменить свою версию с помощью параметров тестового API (тест -> параметры -> appium_version) в ScheduleRun API (при использовании CLI/SDK). Пользователи пользовательской среды могут изменить начальные строки фазы install
своего файла тестовой спецификации (см. https://docs.aws.amazon.com/devicefarm/latest/developerguide/custom-test-environments.html), чтобы использовать другая версия узла appium.
При планировании запуска из консоли AWS Device Farm будут приведены примеры тестовых спецификаций для изменения версии Appium с помощью avm
. Я рекомендую взглянуть на этот образец файла, чтобы получить представление о том, как использовать/настраивать режим пользовательской тестовой среды.
Если у вас по-прежнему возникают проблемы, вы обычно можете получить более конкретную помощь на форумах AWS Device Farm или по электронной почте службы поддержки: [email protected]