Загрузить файл - сохранить всплывающее окно в Internet Explorer с помощью TestCafe - PullRequest
0 голосов
/ 21 января 2019

В Internet Explorer всякий раз, когда в окне загружаемого файла запрашивается три варианта: 1. Открыть 2. Сохранить 3. Закрыть

Из-за политики компании отключить всплывающее окно невозможно.Тем не менее, необходимо обрабатывать то же самое в автоматизации TestCafe.Что нажать сохранить / сохранить как вариант?

Запросить решение.

Ответы [ 2 ]

0 голосов
/ 22 января 2019

Нет способа преодолеть эту проблему, кроме отключения всплывающего окна в настройках. В качестве обходного пути я могу предложить вам использовать функцию requestHooks для загрузки файла. Пожалуйста, попробуйте следующий пример в IE:

import fs from 'fs';
import { Selector, RequestHook } from 'testcafe';

class MyHook extends RequestHook {
    constructor (requestFilterRules, responseEventConfigureOpts) {
        super(requestFilterRules, responseEventConfigureOpts);
    }

    onRequest (event) {
    }

    onResponse (event) {
        const path = 'file.zip';

        fs.writeFileSync(path, event.body);
   }
}

fixture `fixture`
    .page `https://github.com/AlexKamaev/match-url-wildcard`;

test.requestHooks(new MyHook('https://codeload.github.com/AlexKamaev/match-url-wildcard/zip/master', {
    includeHeaders: true,
    includeBody:    true
}))(`test`, async t => {
    await t.click(Selector('summary').withText('Clone or download'));
    await t.click(Selector('a').withText('Download ZIP'));

    await t.wait(10000);
});

Когда браузер заканчивает загрузку, ловушка получает ответ и сохраняет его в файловой системе.

Пожалуйста, обратитесь к следующим статьям, чтобы прочитать больше информации о крюках: https://devexpress.github.io/testcafe/documentation/test-api/intercepting-http-requests/ https://devexpress.github.io/testcafe/documentation/test-api/intercepting-http-requests/creating-a-custom-http-request-hook.html

0 голосов
/ 21 января 2019

Боюсь, что нет решения.Я столкнулся с той же проблемой на своей стороне и решил запустить TestCafe с Chrome для такого рода испытаний.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...