使用 ng-file-upload 量角器 E2E 测试多个文件上传
protractor E2E TEST multiple file upload using ng-file-upload
我正在使用量角器为 angularjs 应用程序编写 E2E 测试用例。我的应用程序具有多个文件上传作为其功能之一。因此,要为我的应用程序编写 E2E 测试用例,我必须自动执行多个文件上传。
我可以使用量角器上传单个文件,但我的应用程序需要 1 个以上的文件才能无缝工作。
browser.get(localUrl);
var button = element(by.css('[ngf-select]'));
button.click();
var input = element(by.css('input[type="file"]'));
input.sendKeys([ absolutePath, absolutePath1, absolutePath2]);
问候
阿杰
您的要求似乎是 数据驱动 方法。因此,将所有输入文件路径保留在下面的函数 arrayOfData() 中,它会阻止迭代,直到所有文件都上传完毕。您可以按照以下代码:
describe('Data driven test spec', function () {
function arrayOfData() {
return [
{
"absolutePath": "/PathToFile1",
},
{
"absolutePath": "/PathToFile2",
},
{
"absolutePath": "/PathToFile3",
},
]
}
beforeAll(function(){
browser.get(localUrl);
})
using(arrayofData, function (inputData) {
it('test case logic to be executed for each set of data', function () {
var button = element(by.css('[ngf-select]'));
var input = element(by.css('input[type="file"]'));
button.click();
input.sendKeys(inputData.absolutePath);
});
});
});
你试过了吗
browser.get(localUrl);
var button = element(by.css('[ngf-select]'));
button.click();
var input = element(by.css('input[type="file"]'));
input.sendKeys( absolutePath + "\n" + absolutePath1 + "\n" + absolutePath2);
我正在使用量角器为 angularjs 应用程序编写 E2E 测试用例。我的应用程序具有多个文件上传作为其功能之一。因此,要为我的应用程序编写 E2E 测试用例,我必须自动执行多个文件上传。
我可以使用量角器上传单个文件,但我的应用程序需要 1 个以上的文件才能无缝工作。
browser.get(localUrl);
var button = element(by.css('[ngf-select]'));
button.click();
var input = element(by.css('input[type="file"]'));
input.sendKeys([ absolutePath, absolutePath1, absolutePath2]);
阿杰
您的要求似乎是 数据驱动 方法。因此,将所有输入文件路径保留在下面的函数 arrayOfData() 中,它会阻止迭代,直到所有文件都上传完毕。您可以按照以下代码:
describe('Data driven test spec', function () {
function arrayOfData() {
return [
{
"absolutePath": "/PathToFile1",
},
{
"absolutePath": "/PathToFile2",
},
{
"absolutePath": "/PathToFile3",
},
]
}
beforeAll(function(){
browser.get(localUrl);
})
using(arrayofData, function (inputData) {
it('test case logic to be executed for each set of data', function () {
var button = element(by.css('[ngf-select]'));
var input = element(by.css('input[type="file"]'));
button.click();
input.sendKeys(inputData.absolutePath);
});
});
});
你试过了吗
browser.get(localUrl);
var button = element(by.css('[ngf-select]'));
button.click();
var input = element(by.css('input[type="file"]'));
input.sendKeys( absolutePath + "\n" + absolutePath1 + "\n" + absolutePath2);