我有一个线性应用程序,用户中途必须提交图像才能继续。 submitFile
功能如下:
selectFile: function(image) {
var path = require('path');
var image_path = path.resolve(__dirname, image);
this.uploadButton.click();
this.uploadButton.sendKeys(image_path);
}
我从Selenium知道您无法与操作系统交互,只能浏览器中包含的任何内容。所以我们一直关注the stackoverflow go-to answer for Protractor file uploading。
实际上该功能点击了文件上传按钮,弹出对话框,sendKeys
手动告诉它使用什么图像,然后在该对话框始终打开时它继续运行。 Chrome和Firefox并不关心对话框是否仍然存在,因此我可以继续测试过去图像上传的页面。
但是今天,我们正在尝试自动化IE测试,似乎必须处理弹出窗口才能继续。它从未命中this.uploadButton.sendKeys(blah);
。对话框打开的那一刻,IE希望它在继续之前得到解决。
this.uploadButton.sendKeys(protractor.Key.ESCAPE)
,由于测试无法通过uploadButton.click()
,因此无效。this.uploadButton.click().then(function() {this.uploadButton.sendKeys(image_path)})
,值得一试,但不是browser.executeScript('something');
;我忘记了什么,但它永远不会到executeScript
sendKeys
混淆?sendKeys
是否可以在IE11上运行?现在,我只是坚持手动测试IE,虽然我很想能够将我的测试与IE集成,所以我可以在我的配置中使用Browserstack甚至multiCapabilities
。