gpt4 book ai didi

javascript - Protractor Zip 文件上传

转载 作者:行者123 更新时间:2023-11-27 22:34:33 25 4
gpt4 key购买 nike

我一直在开发一个 Protractor 脚本来上传文件。

function upload(params) {
return _waitForElm(params.xpath)
.then(() => {
var absPath = path.resolve(__dirname, '../../../assets/' + params.filePath.match(/[^\\\/]+$/)[0]);
return $(params.xpath).sendKeys(absPath);
}).catch(err => {
console.error(jasmine.getEnv().currentSpec.description, 'Upload file', params.xpath);
throw err;
});
}

params.xpath 实际上是一个有效的 CSS 选择器(旧变量名)。

/**
* Wait for an element to be present and scroll to it if not displayed.
*
* @param xpath
* @returns {Promise<U>|IPromise<U>}
*/
function waitForElm(xpath) {
return browser.wait(() => {
return element.all(by.css(xpath)).then(items => {
return items.length > 0;
});
}, 10000)
.then(() => {
return $(xpath).isDisplayed().then(isDisplayed => {
if (!isDisplayed) {
return _scrollToElm(xpath);
}
});
});
}

/**
* Scroll to the element in the page.
*
* @param xpath
* @returns {Promise<U>|IPromise<U>}
* @private
*/
function _scrollToElm(xpath) {
let elm = $(xpath);
return browser.executeScript('arguments[0].scrollIntoView();', elm.getWebElement());
}

上传功能非常适合我的其他文件(jpg、png 和 PDF),但不上传 zip 文件,并且失败时不会抛出任何异常。此外,输入文件接受 zip 文件,因为我可以手动执行此操作。

如果您遇到此类问题,我将不胜感激并得到任何建议。

最佳答案

您的代码看起来正确,我刚刚检查了上传 ZIP 文件,部分重新使用了您的代码,看起来不错。

    var filePath = 'documents.zip';
var absPath = path.resolve(__dirname, '../Resources/' + filePath.match(/[^\\\/]+$/)[0]);
console.log(absPath); // C:\Users\<<user>>\Project\abc\Resources\documents.zip
filespage.upload(absPath);

关于javascript - Protractor Zip 文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39245833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com