我正在尝试使用 Allure 来生成测试报告。我已经安装了Allure,并将bin文件夹路径添加到系统的环境变量中。当我在终端中运行 allure 版本时,它可以正常工作并正确显示版本。但是,当我运行任何其他 Allure 命令(例如 allureserve allure-results)时,我收到以下错误:
allure : The term 'allure' is not recognized as the name of a cmdlet, function, script file, or operable program.
At line:1 char:1
+ allure serve allure-results
+ ~~~~~~
+ CategoryInfo : ObjectNotFound: (allure:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
以下是我采取的步骤:
安装了Allure。 通过运行 allure 版本验证安装,该版本有效。 将 C:\Automation llure-2.32.0 添加到系统的 PATH 变量中。 运行以下命令:
allure serve allure-results
**什么可能导致此问题,如何解决? ** 我用的是Windows 10
谢谢!
我希望自己解释一下。
使用以下代码检查终端会话接收到的 PATH:
$Env:PATH -split ';'
Allure 的二进制文件夹(在你的情况下是
C:\Automation\allure-2.32.0\bin
)应该被列出。如果不是这种情况,请按以下顺序检查:
如果没有帮助,您可以修复当前会话的 PATH:
$Env:PATH = $Env:PATH + ";C:\Automation\allure-2.32.0\bin"
allure --help
如果 PATH 正确,但错误仍然存在,请检查文件夹中是否包含
allure.bat
:
Get-ChildItem C:\Automation\allure-2.32.0\bin
如果该文件丢失,您应该重新安装 Allure。如果它已经就位,那么...除了通过其全名执行它之外我没有更多的想法:
$allure = "C:\Automation\allure-2.32.0\bin\allure.bat"
&allure --help
所有这些复杂性都是我更喜欢使用 scoop 安装 Allure 的原因。
我希望这有帮助。