Environment (please complete the following information):
- Node.js version: v24.5.0
- NPM version: 11.5.1
- Platform name and version: MAC OS 26
- WebdriverIO version: 9.18.4
@wdio/visual-service version: 9.1.3
Config of WebdriverIO + @wdio/visual-service
.ENVS:
APPIUM_HOME=../../node_modules/
PACKAGE_NAME=*****
OS_PLATFORM=android
AVD_NAME=Pixel_6_API_34
ROLE=admin
API_URL=http://10.0.2.2:4949
DISABLE_RETRY=true
WDIO:
services: [
[
'visual',
{
formatImageName: '{tag}',
screenshotPath: path.join(process.cwd(), 'tmp'),
savePerInstance: true,
autoSaveBaseline: true,
clearRuntimeFolder: true,
autoElementScroll: true,
blockOutStatusBar: true,
blockOutToolBar: true,
blockOutSideBar: true,
} satisfies VisualServiceOptions,
],
],
Android capabilities:
capabilities: [
{
platformName: 'Android',
port: Number(process.env.APPIUM_PORT) || 4723,
'appium:options': {
automationName: 'UiAutomator2',
avd: `${process.env.AVD_NAME}`,
deviceName: `${process.env.AVD_NAME}`,
platformVersion: '14.0',
newCommandTimeout: 300,
noReset: !isCI(),
fullReset: isCI(),
disableWindowAnimation: true,
appWaitActivity: *****
},
...(isApk() && {
'appium:app': process.env.APP_FILE_PATH,
}),
},
],
Describe the bug
At appium 2.0 setting up deviceName capability with savePerInstance: true in visual service forced snaps to be stored in eg.:
packages/mobile-app-e2e/appium/e2e/01-unauthorized/01-onboarding/__snapshots__/pixel_6_api_34
where dir pixel_6_api_34 was created via appium:deviceName: ${process.env.AVD_NAME},.
In appium 3 setting it up does nothing, according to appium documentatnion users should use appium:avd instead.
even with setting up appium:deviceName and appium:avd the dir is created as: emulator-5554.
There is no option to change it.
According to:
[127] % adb devices -l
List of devices attached
emulator-5554 device product:sdk_gphone64_arm64 model:sdk_gphone64_arm64 device:emu64a transport_id:1
This problem exists only on android devices. Ios devices still creates correct folders after migration from appium 2 > 3
Expected behavior
Allow users option to use custom name for savePerInstance.
eg.
[1] % avdmanager list avd
Available Android Virtual Devices:
Name: Pixel_6_API_34
Device: pixel_6 (Google)
Path: /Users/patryk/.android/avd/Pixel_6.avd
Target: Google APIs (Google Inc.)
Based on: Android API 34 Tag/ABI: google_apis/arm64-v8a
Skin: pixel_6
Sdcard: 512M
Environment (please complete the following information):
@wdio/visual-serviceversion: 9.1.3Config of WebdriverIO +
@wdio/visual-service.ENVS:
WDIO:
Android capabilities:
Describe the bug
At appium 2.0 setting up deviceName capability with savePerInstance: true in visual service forced snaps to be stored in eg.:
packages/mobile-app-e2e/appium/e2e/01-unauthorized/01-onboarding/__snapshots__/pixel_6_api_34where dir pixel_6_api_34 was created via appium:deviceName:
${process.env.AVD_NAME},.In appium 3 setting it up does nothing, according to appium documentatnion users should use appium:avd instead.
even with setting up appium:deviceName and appium:avd the dir is created as:
emulator-5554.There is no option to change it.
According to:
This problem exists only on android devices. Ios devices still creates correct folders after migration from appium 2 > 3
Expected behavior
Allow users option to use custom name for savePerInstance.
eg.