Определить загруженный файл в узле Windows Selen с Unix-машины - PullRequest
0 голосов
/ 19 декабря 2018

Мой код селена развернут в jenkinns, который находится на Unix-машине.Когда мои планировщики запускают набор заданий, задание будет выполняться на узлах селена, которые находятся в окнах.У меня есть тестовый пример, в котором файл загружается в один из узлов, и мне нужно проверить этот загруженный файл.

Как я могу определить загруженный файл в Windows с Unix-машины (обе среды).

1 Ответ

0 голосов
/ 19 декабря 2018

Если вы хотите проверить это на Chrome, решение может дать следующий код.

Примечание: он написан на машинописном тексте, поэтому его нужно адаптировать.

function checkChromeForDownloadedFile(fileName: string, state: string = 'COMPLETE') {
    // open new tab
    await browser.executeScript('return window.open()');

    // switch to downloads tab window
    let tabs: string[] = await browser.getAllWindowHandles();
    await browser.switchTo().window(tabs[1]);

    // open downloads page
    await browser.get('chrome://downloads');

    // 1 sec delay.
    await browser.sleep(1000);

    let downloadedItems;

    try {
        await browser.wait(() => {
            // fetch downloaded items 
            return browser.executeScript('return downloads.Manager.get().items_').then((result) => {
                downloadedItems = result;
                if (!downloadedItems) {
                    return false;
                }
                // search for downloaded file with state complete and filename
                return downloadedItems.some(i => i.file_name === fileName && i.state === state.toUpperCase());
            }).catch( () => {
                return false;
            });
        }, 10000, `File ${fileName} with download sate ${state} was not found within 10 seconds`);
    } catch (error) {
        console.log('there was an error while trying to fetch downloaded files');
        throw error;
    }


    // close the tab
    await browser.close();


    // switch back to original window
    await browser.switchTo().window(tabs[0]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...