我正在尝试在 Protractor 测试中执行 powershell 脚本
Protractor 规范
it("Should Execute Powershell Script", async () => {
browser.get('http://mywebsite.com')
var spawn = require('child_process').spawn;
var child = spawn('powershell.exe', ['-noexit', './test.ps1']);
});
测试.ps1
$wshell = New-Object -ComObject wscript.shell;
$wshell.AppActivate('Chrome')
$wshell.SendKeys('Ganesh Hegde')
$wshell.SendKeys("{ENTER}")
powershell 脚本没有执行,你能帮帮我吗?
最佳答案
以下是我如何让它与 async
一起工作。
将 SELENIUM_PROMISE_MANAGER: false
添加到您的配置中。
然后使用 spawnSync
而不是 spawn
。
const { browser } = require('protractor');
const { spawnSync } = require('child_process');
describe('spawn test', () => {
it('should execute powershell script', async () => {
await browser.get('https://google.com')
await spawnSync('powershell.exe', ['-noexit', './test.ps1']);
});
});
这运行了脚本,但它看起来不像 -noexit
正在运行。我可以看到输入到搜索输入中的文本,结果只弹出一秒钟,然后脚本退出。
关于javascript - 如何在 Protractor 测试中执行 powershell 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58630049/