testCafe 在文件上传后减慢测试速度
testCafe slowing the tests down after fileUpload
我正在自动化数据捕获表单。
此表单的第一个元素是图像文件上传控件,我正在上传一张 5KB 的图像。
但是在这一步之后,测试会执行下一步,即将文本写入文本框,然后停止将近 30 秒。
如何减少这种不必要的等待?
test('Test 1', async t => {
await listingPage.uploadImage();
await listingPage.listAnItem();
..
上传图片代码
async uploadImage() {
await t.setFilesToUpload(this.imageInput, ['../../uploads/photo02.jpg']);
}
** 数据输入代码块 **
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 文件
{
"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">
问题本身不是由上传文件控件引起的。
由于 drop-box(上传文件后)正在动态更新另一个 drop-box,该 drop-box 的值根据第一个 drop-down 中选择的值动态填充,因此出现了问题。
像下面这样重写 drop-down 操作解决了问题:
async fillSubCategoryFields(catType = 'CAT_NAME') {
await t
.click(this.categorySelect, { timeout: 50 })
.click(Selector('.listingSelect__option').withText(catType));
}
我正在自动化数据捕获表单。 此表单的第一个元素是图像文件上传控件,我正在上传一张 5KB 的图像。 但是在这一步之后,测试会执行下一步,即将文本写入文本框,然后停止将近 30 秒。 如何减少这种不必要的等待?
test('Test 1', async t => {
await listingPage.uploadImage();
await listingPage.listAnItem();
..
上传图片代码
async uploadImage() {
await t.setFilesToUpload(this.imageInput, ['../../uploads/photo02.jpg']);
}
** 数据输入代码块 **
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 文件
{
"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">
问题本身不是由上传文件控件引起的。 由于 drop-box(上传文件后)正在动态更新另一个 drop-box,该 drop-box 的值根据第一个 drop-down 中选择的值动态填充,因此出现了问题。
像下面这样重写 drop-down 操作解决了问题:
async fillSubCategoryFields(catType = 'CAT_NAME') {
await t
.click(this.categorySelect, { timeout: 50 })
.click(Selector('.listingSelect__option').withText(catType));
}