如何使用QA Wolf和Puppeteer上传文件?

问题描述

我正在努力通过输入使用qawolfpuppeteer上传文件。 根据qawolf they plan to develop their own upload file feature的说法,因此与此同时,我需要使用puppeteer的文件(qawolf所依赖的文件)。

但是,我一直遇到错误

  FAIL  .qawolf/uploadDataSetInProject.test.js (17.394 s)
  ✕ uploadDataSetInProject (13354 ms)

  ● uploadDataSetInProject

    TypeError: uploadElement.uploadFile is not a function

      42 |   await page.fill('[placeholder="Data set description"]',"I am a dataset description");
      43 |   const uploadElement = await page.$('#dataset-inputs > div.project-upload-container > div.project-upload-dataset > input[type=file]');
    > 44 |   await uploadElement.uploadFile('../assets/TestFile10Mo.csv');
         |                       ^
      45 |   await qawolf.scroll(page,"html",{ x: 0,y: 571 });
      46 |   await page.click(".button-save");
      47 |   await page.click(".comments-button");

      at Object.test (uploadDataSetInProject.test.js:44:23)

人偶的文档清楚地表明功能uploadFile存在!

此问题从何而来?为什么uploadFile不是函数

这是我的代码

const qawolf = require("qawolf");

let browser;
let context;

beforeAll(async () => {
  browser = await qawolf.launch();
  context = await browser.newContext();
  await qawolf.register(context);
});

afterall(async () => {
  await qawolf.stopVideos();
  await browser.close();
});

test("uploadDataSetInProject",async () => {
  const page = await context.newPage();
  [...]
  await page.click('[placeholder="Data set description"]');
  await page.fill('[placeholder="Data set description"]',"I am a dataset description");
  const uploadElement = await page.$('#dataset-inputs > div.project-upload-container > div.project-upload-dataset > input[type=file]');
  await uploadElement.uploadFile('../assets/TestFile10Mo.csv'); // The test crashes here
  await page.click(".button-save");
  await page.click(".comments-button");
  await page.click(".size");
  await page.click(".off");
});

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)