TestCafe:导出命令在Linux中不起作用
我正在使用testcafe实现自动化 根据文档设置环境变量 我使用TestCafe:导出命令在Linux中不起作用,linux,jenkins,testing,environment-variables,testcafe,Linux,Jenkins,Testing,Environment Variables,Testcafe,我正在使用testcafe实现自动化 根据文档设置环境变量 我使用set在本地运行的windows上运行,使用export在使用Jenkins作业的Linux环境上运行测试。 在windows中,它工作得非常好。但在Linux中,export命令并没有设置环境变量 我在windows中使用的shell命令set ENV=staging&npx testcafe \“chrome:headless--no sandbox--disable dev shm usage \”automation\u
set
在本地运行的windows上运行,使用export
在使用Jenkins作业的Linux环境上运行测试。
在windows中,它工作得非常好。但在Linux中,export命令并没有设置环境变量
我在windows中使用的shell命令set ENV=staging&npx testcafe \“chrome:headless--no sandbox--disable dev shm usage \”automation\u suite/tests
我在Jenkins中使用的shell脚本命令在Linux上运行
詹金斯管道脚本
stage('Run tests') {
steps {
sh 'npm run ci360:smoketest:chrome:headless'
}
}
shell命令
npm run ci360:smoketest:chrome:headless
将自动调用该命令
export ENV=staging&npx testcafe\“chrome:headless--无沙箱--禁用dev shm用法\”automation\u suite/tests
在package.json的scripts部分中定义
我不确定这里有什么问题,我被困在这一点上。感谢您的帮助。通过将
和替换为,问题得以解决
在Linux命令中,将&
更改为代码>。此外,不清楚为什么要避开引号。你是从詹金斯那里逃出来的吗?如果您将注意力集中在命令上,就像它被直接指定给shell一样,或者为它提供了完整的上下文,则会更清楚。@JohnBollinger我已经更新了这个问题。我之所以不引用我的话,是因为npm脚本中定义的实际命令是“ci360:smoketest:chrome:headless”:“export ENV=staging&npx testcafe\”chrome:headless--no sandbox--disable dev shm用法\“automation_suite/tests
在jenkins文件中,我正在运行npm run ci360:smoketest:chrome:headless
,它将调用脚本中定义的命令。同样,在Linux命令中,将和更改为代码>。这将产生一行代码,相当于您链接的文档中所描述的内容。如果这不能解决问题,那么很可能与启动测试的方式有关。我没有Jenkins(或npm
)的专业知识来帮助解决这方面的问题。@JohnBollinger感谢老兄,它通过替换&with;