我一直在量角器腳本上傳文件。量角器Zip文件上傳
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文件,因爲我可以手動完成。
如果您遇到過這樣的問題,我將不勝感激地收到任何建議。
哦,我可能會搜索一個沒有... Thx的更新問題。 – Urriel