You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Pipelines运行Cypress测试时遇ALSA音频错误求助

解决Azure Pipelines中Cypress测试的ALSA音频错误

在Azure宿主代理上运行Cypress测试时,出现以下ALSA相关错误:

##[error]Bash向标准错误流写入了一行或多行内容。
##[error]ALSA lib confmisc.c:767:(parse_card) cannot find card '0' ALSA lib conf.c:4732:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings ALSA lib conf.c:4732:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name ALSA lib conf.c:4732:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory ALSA lib conf.c:5220:(snd_config_expand) Evaluate error: No such file or directory ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM default
(上述错误信息重复出现一次)

以下是几种可行的解决方法:

方法1:在Cypress配置中禁用音频访问

修改cypress.config.js(或cypress.config.ts),为浏览器启动添加音频禁用参数:

const { defineConfig } = require("cypress");

module.exports = defineConfig({
  e2e: {
    // 保留原有配置
    browserLaunchOptions: {
      chrome: {
        args: ['--mute-audio', '--use-fake-device-for-media-stream']
      },
      firefox: {
        args: ['--mute-audio']
      }
    }
  }
});

方法2:配置虚拟ALSA音频设备

在Pipeline的bash任务中,先加载虚拟音频驱动并设置默认设备,再执行测试:

# 加载虚拟音频驱动模块
sudo modprobe snd-dummy
# 创建自定义ALSA配置,指定默认设备为虚拟设备
echo "pcm.default { type plug slave { pcm \"dummy\" } }" > ~/.asoundrc
# 运行Cypress测试
npx cypress run

方法3:在测试命令中直接添加参数

执行Cypress时,通过命令行参数禁用音频和媒体设备:

npx cypress run --headless --browser chrome --args="--mute-audio --use-fake-device-for-media-stream"

方法4:通过环境变量屏蔽ALSA配置

在Pipeline中设置环境变量,跳过ALSA的配置加载:

export ALSA_CONFIG_PATH=/dev/null
# 随后运行测试
npx cypress run

内容的提问来源于stack exchange,提问作者Tayyab Ansari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 08:15:46