Protractor 使用子进程运行exe的量角器

Protractor 使用子进程运行exe的量角器,protractor,Protractor,我试图用量角器模拟上传文件 我知道量角器不能与操作系统窗口交互 我创建了一个EXE文件(带autoit),它可以聚焦并插入一个文件。 当我手动测试时,一切正常。 当我试着用量角器写它时,我会出错 这是我的量角器代码(使用子进程)——参见图 这是我的错误信息 尝试使用:没有运气!! 上传文件不需要AutoIT。只需将要上载到上载输入中的文件的完整绝对路径发送到。如果使用Selenium Grid运行测试,还需要使用FileDetector将文件发送到运行测试的节点: var FileDetec

我试图用量角器模拟上传文件 我知道量角器不能与操作系统窗口交互 我创建了一个EXE文件(带autoit),它可以聚焦并插入一个文件。 当我手动测试时,一切正常。 当我试着用量角器写它时,我会出错

这是我的量角器代码(使用子进程)——参见图

这是我的错误信息

尝试使用:没有运气!!
上传文件不需要AutoIT。只需将要上载到上载输入中的文件的完整绝对路径发送到。如果使用Selenium Grid运行测试,还需要使用FileDetector将文件发送到运行测试的节点:

var FileDetector = require('selenium-webdriver/remote/index.js').FileDetector;
browser.setFileDetector(new FileDetector());

var path = require('path');

var fileToUpload = '../yourfile.txt',
absolutePath = path.resolve(__dirname, fileToUpload);
$('hiddenfileuploadinput').sendKeys(absolutePath)
以下问题的答案可能会有所帮助:
上传文件不需要AutoIT。只需将要上载到上载输入中的文件的完整绝对路径发送到。如果使用Selenium Grid运行测试,还需要使用FileDetector将文件发送到运行测试的节点:

var FileDetector = require('selenium-webdriver/remote/index.js').FileDetector;
browser.setFileDetector(new FileDetector());

var path = require('path');

var fileToUpload = '../yourfile.txt',
absolutePath = path.resolve(__dirname, fileToUpload);
$('hiddenfileuploadinput').sendKeys(absolutePath)
以下问题的答案可能会有所帮助:

我在处理我的问题时也遇到了同样的错误。我必须用量角器打开一个.exe文件。为.exe设置正确的路径对我很有用。你能再检查一下它是否是正确的路径吗?

我在处理我的问题时遇到了同样的错误。我必须用量角器打开一个.exe文件。为.exe设置正确的路径对我很有用。您还可以重新检查路径是否正确吗

您确定首先需要AutoIT来上传文件吗?有一种更简单的方法-将路径直接发送到您的文件输入。@alecxe我该怎么做,我怎么看文件真的被上传了呢?当然,看。@alecxe嘿,它不工作了。我可以私下给你写信吗?它会有一个隐藏的输入框。识别输入框并使用sendKeys发送文件路径。如果没有,请尝试以下操作:在您尝试上载的位置,我在“execFile”中看到一个空数组,它应该有窗口标题,对于firefox,它将有“File upload”,对于chrome,“Open”,您确定首先需要AutoIT来上载文件吗?有一种更简单的方法-将路径直接发送到您的文件输入。@alecxe我该怎么做,我怎么看文件真的被上传了呢?当然,看。@alecxe嘿,它不工作了。我可以私下给你写信吗?它会有一个隐藏的输入框。识别输入框并使用sendKeys发送文件路径。如果没有,请尝试以下操作:在您尝试上载的位置,我在“execFile”中看到一个空数组,它应该具有窗口标题,对于firefox,它将具有“File upload”,对于chrome,它将具有“Open”