Testing 文件上传后,testCafe会减慢测试速度

Testing 文件上传后,testCafe会减慢测试速度,testing,automation,automated-tests,e2e-testing,testcafe,Testing,Automation,Automated Tests,E2e Testing,Testcafe,我正在自动化数据捕获表单。 这个表单的第一个元素是图像文件上传控件&我正在上传一个5KB的图像。 但在这一步之后,测试将执行下一步,即将文本写入文本框&然后它将停止近30秒。 如何减少这种不必要的等待 test('Test 1', async t => { await listingPage.uploadImage(); await listingPage.listAnItem(); .. 上传图像代码 async uploadImage() { awai

我正在自动化数据捕获表单。 这个表单的第一个元素是图像文件上传控件&我正在上传一个5KB的图像。 但在这一步之后,测试将执行下一步,即将文本写入文本框&然后它将停止近30秒。 如何减少这种不必要的等待

    test('Test 1', async t => {
  await listingPage.uploadImage();
  await listingPage.listAnItem();
  ..
上传图像代码

  async uploadImage() {
    await t.setFilesToUpload(this.imageInput, ['../../uploads/photo02.jpg']);
  }
{
    "browsers": [ "chrome", "safari" ],
    "remoteChromeVersion": "80",
    "src": "specs",
    "reporter": [
      {
        "name": "spec"
      }
    ],
    "speed": 1,
    "debugOnFail": false,
    "skipJsErrors": true,
    "selectorTimeout": 20000,
    "assertionTimeout": 20000,
    "pageLoadTimeout": 8000
  }
**数据输入代码块**

async listAnItem() {
    await t
      .typeText(Selector('#description'), this.DESCRIPTION) /* --> Application is slowing after this step */
      .click(this.categorySelect)
      .click(Selector('#react-select-2-option-0-0'))
.testcaferc.json文件

  async uploadImage() {
    await t.setFilesToUpload(this.imageInput, ['../../uploads/photo02.jpg']);
  }
{
    "browsers": [ "chrome", "safari" ],
    "remoteChromeVersion": "80",
    "src": "specs",
    "reporter": [
      {
        "name": "spec"
      }
    ],
    "speed": 1,
    "debugOnFail": false,
    "skipJsErrors": true,
    "selectorTimeout": 20000,
    "assertionTimeout": 20000,
    "pageLoadTimeout": 8000
  }
文件上载的DOM片段

<input aria-describedby="error__images" aria-label="Upload an image" tabindex="0" type="file" multiple="" accept="image/jpeg, image/png" data-testid="imageInput" class="ImageInputstyles__Input-sc-2l692w-7 aosWu">

问题本身不是由于上载文件控件造成的。 由于一个下拉框(上传文件后)正在动态更新另一个下拉框,该下拉框的值根据第一个下拉框中选择的值动态填充,因此出现了问题

重写下拉操作(如下所示)解决了问题:

  async fillSubCategoryFields(catType = 'CAT_NAME') {
await t
  .click(this.categorySelect, { timeout: 50 })
  .click(Selector('.listingSelect__option').withText(catType));

}

您能否澄清,在等待期间,TestCafe是否在浏览器中显示“等待元素出现…”消息?如果前面没有文件上传,TestCafe会在typeText操作时停止吗?@ArseniyRubtsov是的。它确实会说“等待元素出现…”。但是浏览器很早以前就被加载了。很可能,这种行为与
setFilesToUpload
操作无关。您可以在测试中忽略此操作来检查它。TestCafe是在
typeText
操作写入文本之前还是之后等待?当您需要的元素隐藏在另一个元素下时,可能会发生这种延迟。如果是这种情况,您可以尝试设置有问题的操作。如果您能发送一个例子来说明这个问题,那会很有帮助。是的。它似乎正在下拉列表中等待。Other@user2451016我无法用给定的标记片段重现该问题。您能分享显示问题行为的整个页面吗?