コード例 #1
0
async def test_should_be_able_to_reset_selected_files_with_empty_file_list(
        page: Page, server):
    await page.set_content("<input type=file>")
    page.once("filechooser",
              lambda file_chooser: file_chooser.set_files(FILE_TO_UPLOAD))
    file_length = 0
    async with page.expect_file_chooser():
        file_length = await page.eval_on_selector(
            "input",
            """async picker => {
                picker.click();
                await new Promise(x => picker.oninput = x);
                return picker.files.length;
            }""",
        )
    assert file_length == 1

    page.once("filechooser", lambda file_chooser: file_chooser.set_files([]))
    async with page.expect_file_chooser():
        file_length = await page.eval_on_selector(
            "input",
            """async picker => {
                picker.click();
                await new Promise(x => picker.oninput = x);
                return picker.files.length;
            }""",
        )
    assert file_length == 0
コード例 #2
0
async def test_should_accept_single_file(page: Page):
    await page.set_content(
        '<input type=file oninput="javascript:console.timeStamp()">')
    async with page.expect_file_chooser() as fc_info:
        await page.click("input")
    file_chooser = await fc_info.value
    assert file_chooser.page == page
    assert file_chooser.element
    await file_chooser.set_files(FILE_TO_UPLOAD)
    assert await page.eval_on_selector("input",
                                       "input => input.files.length") == 1
    assert (await page.eval_on_selector(
        "input", "input => input.files[0].name") == "file-to-upload.txt")
コード例 #3
0
async def test_should_work_when_file_input_is_attached_to_dom(page: Page):
    await page.set_content("<input type=file>")
    async with page.expect_file_chooser() as fc_info:
        await page.click("input")
    file_chooser = await fc_info.value
    assert file_chooser