E2E-输入文件。加载并选择文件后如何关闭Finder窗口?

时间:2019-07-15 12:40:34

标签: protractor e2e-testing angular-e2e

我使用输入文件从xml文件加载数据。

HTML代码:

<button (click)="xmlFile.click()" id="btnLoadXmlFile">
      Load data from file
</button>
<input type="file" (change)="handleFileInput($event)" accept="text/xml" class="load-xml-file" id="inputLoadXML" #xmlFile>
<span>{{ chosenFile }}</span>

E2E代码:

it( "Should load data from XML file", () => {
    const path = require('path');
    const fileToUpload = '../../src/assets/xml/myXmlFile.xml', 
    absolutePath = path.resolve(__dirname, fileToUpload);
    componentPo.getDomElements().btnLoadXML.click();
    componentPo.getDomElements().inputLoadXML.sendKeys(absolutePath);
});

工作正常,但选择文件并加载数据后无法关闭取景器窗口(Mac用户)。这也会导致E2E失败。

任何提示或想法如何解决,并在选择文件后强制关闭Finder窗口?

1 个答案:

答案 0 :(得分:1)

无需单击该File Upload按钮即可上传文件。 sendKeys将为您做到这一点。请从您现有的代码中删除componentPo.getDomElements().btnLoadXML.click();

 it( "Should load data from XML file", () => {
    const path = require('path');
    const fileToUpload = '../../src/assets/xml/myXmlFile.xml', 
    absolutePath = path.resolve(__dirname, fileToUpload);
    componentPo.getDomElements().inputLoadXML.sendKeys(absolutePath);
   });