我正在使用protractor为angularjs应用程序编写E2E测试用例。我的应用程序有多个文件上传作为其功能之一。因此,要为我的应用程序编写E2E测试用例,我必须自动执行多个文件上传。
我可以使用量角器上传单个文件,但我的应用程序需要多个文件才能无缝工作。
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]);
的Ajay
答案 0 :(得分:2)
你试过吗
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);
答案 1 :(得分:0)
您的要求似乎与数据驱动方法类似。因此,将所有输入文件路径保留在下面的函数 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);
});
});
});