Protractor 当文件搜索弹出时,量角器上载被卡住
我正试图找出以下代码的错误:Protractor 当文件搜索弹出时,量角器上载被卡住,protractor,image-uploading,Protractor,Image Uploading,我正试图找出以下代码的错误: it('should upload a photo', function(){ var photo = './photos/et-test.jpeg', exactPhoto = path.resolve(__dirname, photo); var form = element(by.id('fileupload')); var upload = element(by.css('input[
it('should upload a photo', function(){
var photo = './photos/et-test.jpeg',
exactPhoto = path.resolve(__dirname, photo);
var form = element(by.id('fileupload'));
var upload = element(by.css('input[type = "file"]'));
var addFiles = element(by.cssContainingText('.btn.btn-success.fileinput-button.mb-10','Add files...'));
var uploadBtn = element(by.css('.btn.btn-primary.start.mt-20'));
element(by.cssContainingText('.inline_link','Upload more album photos now')).click();
element(by.id('secondary_upload_link')).click();
browser.wait(EC.visibilityOf(addFiles), 5000);
addFiles.click();
upload.sendKeys(exactPhoto);
browser.wait(EC.visibilityOf(uploadBtn), 5000);
uploadBtn.click();
expect(element(by.css('.table')).getText()).toBe('Upload Finised');
});
我一直被文件搜索弹出窗口卡住,并收到以下错误:
信息:
失败:等待在5006ms后超时
根据我的代码流程,是否缺少或应该执行任何操作?如果我正确理解了您的问题,则在上载文件时,您会看到一个弹出窗口。您能在您的配置中尝试以下功能吗(假设您使用的是Chrome)
如果我正确理解了您的问题,则在上载文件时您会看到一个弹出窗口。您能在您的配置中尝试以下功能吗(假设您使用的是Chrome)
输入元素单击sendKeys()
输入可见。就这样试试(在我的例子中,它适用于等待/异步量角器):
private addAttachment=element(by.css('input[type=“file”]))
wait browser.executeScript(“参数[0]。style.visibility='visible';参数[0]。style.height='1px';参数[0]。style.width='1px';参数[0]。style.opacity=1;参数[0]。style.display='inline';参数[0]。style.overflow='visible',this.addAttachment)
等待browser.executeScript(“参数[0].focus();”,等待this.addAttachment.getWebElement())
等待此.addAttachment.sendKeys(路径)
输入元素单击sendKeys()
输入可见。就这样试试(在我的例子中,它适用于等待/异步量角器):
private addAttachment=element(by.css('input[type=“file”]))
wait browser.executeScript(“参数[0]。style.visibility='visible';参数[0]。style.height='1px';参数[0]。style.width='1px';参数[0]。style.opacity=1;参数[0]。style.display='inline';参数[0]。style.overflow='visible',this.addAttachment)
等待browser.executeScript(“参数[0].focus();”,等待this.addAttachment.getWebElement())
等待此.addAttachment.sendKeys(路径)
尝试以下操作:
var photo = './photos/et-test.jpg',
exactPhoto = path.resolve(__dirname, photo);
var form = element(by.id('fileupload')); ///Users/leochardc/ET/photos/et-test.jpg
var upload = element(by.css('.fileupload_section input[type = "file"]'));
var addFiles = element(by.cssContainingText('.btn.btn-success.fileinput-button.mb-10','Add files...'));
var uploadBtn = element(by.css('.btn.btn-primary.start.mt-20'));
var uploadFinished = element(by.css('.fileupload_section .text-center p'));
browser.get(url);
element(by.cssContainingText('.inline_link','Upload more album photos now')).click();
element(by.id('secondary_upload_link')).click();
browser.wait(EC.visibilityOf(addFiles), 5000);
// addFiles.click();
upload.sendKeys(exactPhoto);
var previewPic = element(by.css('.fileupload_section.fileupload_files'));
browser.wait(EC.visibilityOf(previewPic), 5000);
browser.wait(EC.visibilityOf(uploadBtn), 5000);
uploadBtn.click();
browser.wait(EC.visibilityOf(uploadFinished), 30000);
expect(uploadFinished.getText()).toBe('Upload Finished');
试试这个:
var photo = './photos/et-test.jpg',
exactPhoto = path.resolve(__dirname, photo);
var form = element(by.id('fileupload')); ///Users/leochardc/ET/photos/et-test.jpg
var upload = element(by.css('.fileupload_section input[type = "file"]'));
var addFiles = element(by.cssContainingText('.btn.btn-success.fileinput-button.mb-10','Add files...'));
var uploadBtn = element(by.css('.btn.btn-primary.start.mt-20'));
var uploadFinished = element(by.css('.fileupload_section .text-center p'));
browser.get(url);
element(by.cssContainingText('.inline_link','Upload more album photos now')).click();
element(by.id('secondary_upload_link')).click();
browser.wait(EC.visibilityOf(addFiles), 5000);
// addFiles.click();
upload.sendKeys(exactPhoto);
var previewPic = element(by.css('.fileupload_section.fileupload_files'));
browser.wait(EC.visibilityOf(previewPic), 5000);
browser.wait(EC.visibilityOf(uploadBtn), 5000);
uploadBtn.click();
browser.wait(EC.visibilityOf(uploadFinished), 30000);
expect(uploadFinished.getText()).toBe('Upload Finished');
啊,不。你看,这一行打开了一个文件上传窗口:
addFiles.click()代码>显示时,等待超时将结束执行,不再继续:upload.sendKeys(exactPhoto)代码>是否需要单击?应该可以在不打开文件窗口的情况下上传文件,只需使用您已经使用的发送键方法。啊,不。您看到,这一行打开了一个文件上传窗口:addFiles.click()代码>显示时,等待超时将结束执行,不再继续:upload.sendKeys(exactPhoto)代码>是否需要单击?应该可以在不打开文件窗口的情况下上传文件,只需使用您已经使用的发送密钥方法。