How to use expect_file_chooser method in Playwright Python

Best Python code snippet using playwright-python

Autotest03_001.py

Source:Autotest03_001.py Github

copy

Full Screen

...47 if ACTIVE_LOCK == "ON":48 page.click("div[id=\"activity_locked\"] >> text=\"OK\"")49 # assert page.url == "https://localhost/workflow/activity/detail/A-20220203-00001?status="50 # Click text=/.*Click to select.*/51 with page.expect_file_chooser() as fc_info:52 page.click("text=/.*Click to select.*/")53 file_chooser = fc_info.value54 file_chooser.set_files("sample.pdf")55 page.screenshot(path=f'{"Autotest03_001_1"}_capture.png')56 # Click text="Start upload"57 page.click("text=\"Start upload\"")58 page.wait_for_timeout(int(SET_WAIT))59 page.screenshot(path=f'{"Autotest03_007_1"}_capture.png')60 # Click text=/.*Click to select.*/61 with page.expect_file_chooser() as fc_info:62 page.click("text=/.*Click to select.*/")63 file_chooser = fc_info.value64 file_chooser.set_files("sample.pptx")65 # Click text="Start upload"66 page.click("text=\"Start upload\"")67 page.wait_for_timeout(int(SET_WAIT))68 page.screenshot(path=f'{"Autotest03_009_1"}_capture.png')69 # Click text=/.*Click to select.*/70 with page.expect_file_chooser() as fc_info:71 page.click("text=/.*Click to select.*/")72 file_chooser = fc_info.value73 file_chooser.set_files("sample.docx")74 # Click text="Start upload"75 page.click("text=\"Start upload\"")76 page.wait_for_timeout(int(SET_WAIT))77 page.screenshot(path=f'{"Autotest03_011_1"}_capture.png')78 # Click text=/.*Click to select.*/79 with page.expect_file_chooser() as fc_info:80 page.click("text=/.*Click to select.*/")81 file_chooser = fc_info.value82 file_chooser.set_files("sample.xlsx")83 # Click text="Start upload"84 page.click("text=\"Start upload\"")85 page.wait_for_timeout(int(SET_WAIT))86 page.screenshot(path=f'{"Autotest03_013_1"}_capture.png')87 # Click text=/.*Click to select.*/88 with page.expect_file_chooser() as fc_info:89 page.click("text=/.*Click to select.*/")90 file_chooser = fc_info.value91 file_chooser.set_files("sample.txt")92 # Click text="Start upload"93 page.click("text=\"Start upload\"")94 page.wait_for_timeout(int(SET_WAIT))95 page.screenshot(path=f'{"Autotest03_015_1"}_capture.png')96 # Click text=/.*Click to select.*/97 with page.expect_file_chooser() as fc_info:98 page.click("text=/.*Click to select.*/")99 file_chooser = fc_info.value100 file_chooser.set_files("sample.mpeg")101 # Click text="Start upload"102 page.click("text=\"Start upload\"")103 page.wait_for_timeout(int(SET_WAIT))104 page.screenshot(path=f'{"Autotest03_017_1"}_capture.png')105 # Click text=/.*Click to select.*/106 with page.expect_file_chooser() as fc_info:107 page.click("text=/.*Click to select.*/")108 file_chooser = fc_info.value109 file_chooser.set_files("sample.swf")110 # Click text="Start upload"111 page.click("text=\"Start upload\"")112 page.wait_for_timeout(int(SET_WAIT))113 page.screenshot(path=f'{"Autotest03_019_1"}_capture.png')114 # Click text=/.*Click to select.*/115 with page.expect_file_chooser() as fc_info:116 page.click("text=/.*Click to select.*/")117 file_chooser = fc_info.value118 file_chooser.set_files("sample.mp3")119 # Click text="Start upload"120 page.click("text=\"Start upload\"")121 page.wait_for_timeout(int(SET_WAIT))122 page.screenshot(path=f'{"Autotest03_021_1"}_capture.png')123 # Click text=/.*Click to select.*/124 with page.expect_file_chooser() as fc_info:125 page.click("text=/.*Click to select.*/")126 file_chooser = fc_info.value127 file_chooser.set_files("sample.png")128 # Click text="Start upload"129 page.click("text=\"Start upload\"")130 page.wait_for_timeout(int(SET_WAIT))131 page.screenshot(path=f'{"Autotest03_023_1"}_capture.png')132 133 # Click text=/.*Click to select.*/134 with page.expect_file_chooser() as fc_info:135 page.click("text=/.*Click to select.*/")136 file_chooser = fc_info.value137 file_chooser.set_files("sample.png")138 page.wait_for_timeout(int(SET_WAIT))139 page.screenshot(path=f'{"Autotest03_024_1"}_capture.png')140 # Click div[id="step_page"] div[role="document"] >> text=/.*Cancel.*/141 page.click("div[id=\"step_page\"] div[role=\"document\"] >> text=/.*Cancel.*/")142 # Click //tr[normalize-space(.)='sample.png ... 28 Kb 100 % Processing... Error ']/td[4]/a/i143 page.click('//*[@id="file_upload"]/div/invenio-files-list/div/table/tbody/tr[2]/td[4]/a/i')144 #//*[@id="file_upload"]/div/invenio-files-list/div/table/tbody/tr[2]145 page.wait_for_timeout(int(SET_WAIT))146 page.screenshot(path=f'{"Autotest03_025_1"}_capture.png')147 # Click input[name="pubdate"]148 page.click("input[name=\"pubdate\"]")...

Full Screen

Full Screen

test_input.py

Source:test_input.py Github

copy

Full Screen

...65 file_chooser = await fc_done66 assert file_chooser67async def test_should_work_when_file_input_is_attached_to_dom(page: Page):68 await page.set_content("<input type=file>")69 async with page.expect_file_chooser() as fc_info:70 await page.click("input")71 file_chooser = await fc_info.value72 assert file_chooser73async def test_should_work_when_file_input_is_not_attached_to_DOM(page):74 async with page.expect_file_chooser() as fc_info:75 await page.evaluate(76 """() => {77 el = document.createElement('input')78 el.type = 'file'79 el.click()80 }"""81 )82 file_chooser = await fc_info.value83 assert file_chooser84async def test_should_return_the_same_file_chooser_when_there_are_many_watchdogs_simultaneously(85 page: Page,86):87 await page.set_content("<input type=file>")88 results = await asyncio.gather(89 page.wait_for_event("filechooser"),90 page.wait_for_event("filechooser"),91 page.eval_on_selector("input", "input => input.click()"),92 )93 assert results[0] == results[1]94async def test_should_accept_single_file(page: Page):95 await page.set_content('<input type=file oninput="javascript:console.timeStamp()">')96 async with page.expect_file_chooser() as fc_info:97 await page.click("input")98 file_chooser = await fc_info.value99 assert file_chooser.page == page100 assert file_chooser.element101 await file_chooser.set_files(FILE_TO_UPLOAD)102 assert await page.eval_on_selector("input", "input => input.files.length") == 1103 assert (104 await page.eval_on_selector("input", "input => input.files[0].name")105 == "file-to-upload.txt"106 )107async def test_should_be_able_to_read_selected_file(page: Page):108 page.once(109 "filechooser", lambda file_chooser: file_chooser.set_files(FILE_TO_UPLOAD)110 )111 await page.set_content("<input type=file>")112 content = await page.eval_on_selector(113 "input",114 """async picker => {115 picker.click();116 await new Promise(x => picker.oninput = x);117 const reader = new FileReader();118 const promise = new Promise(fulfill => reader.onload = fulfill);119 reader.readAsText(picker.files[0]);120 return promise.then(() => reader.result);121 }""",122 )123 assert content == "contents of the file\n"124async def test_should_be_able_to_reset_selected_files_with_empty_file_list(125 page: Page, server126):127 await page.set_content("<input type=file>")128 page.once(129 "filechooser", lambda file_chooser: file_chooser.set_files(FILE_TO_UPLOAD)130 )131 file_length = 0132 async with page.expect_file_chooser():133 file_length = await page.eval_on_selector(134 "input",135 """async picker => {136 picker.click();137 await new Promise(x => picker.oninput = x);138 return picker.files.length;139 }""",140 )141 assert file_length == 1142 page.once("filechooser", lambda file_chooser: file_chooser.set_files([]))143 async with page.expect_file_chooser():144 file_length = await page.eval_on_selector(145 "input",146 """async picker => {147 picker.click();148 await new Promise(x => picker.oninput = x);149 return picker.files.length;150 }""",151 )152 assert file_length == 0153async def test_should_not_accept_multiple_files_for_single_file_input(154 page, server, assetdir155):156 await page.set_content("<input type=file>")157 async with page.expect_file_chooser() as fc_info:158 await page.click("input")159 file_chooser = await fc_info.value160 with pytest.raises(Exception) as exc_info:161 await file_chooser.set_files(162 [163 os.path.realpath(assetdir / "file-to-upload.txt"),164 os.path.realpath(assetdir / "pptr.png"),165 ]166 )167 assert exc_info.value168async def test_should_emit_input_and_change_events(page):169 events = []170 await page.expose_function("eventHandled", lambda e: events.append(e))171 await page.set_content(172 """173 <input id=input type=file></input>174 <script>175 input.addEventListener('input', e => eventHandled({ type: e.type }))176 input.addEventListener('change', e => eventHandled({ type: e.type }))177 </script>178 """179 )180 await (await page.query_selector("input")).set_input_files(FILE_TO_UPLOAD)181 assert len(events) == 2182 assert events[0]["type"] == "input"183 assert events[1]["type"] == "change"184async def test_should_work_for_single_file_pick(page):185 await page.set_content("<input type=file>")186 async with page.expect_file_chooser() as fc_info:187 await page.click("input")188 file_chooser = await fc_info.value189 assert file_chooser.is_multiple() is False190async def test_should_work_for_multiple(page):191 await page.set_content("<input multiple type=file>")192 async with page.expect_file_chooser() as fc_info:193 await page.click("input")194 file_chooser = await fc_info.value195 assert file_chooser.is_multiple()196async def test_should_work_for_webkitdirectory(page):197 await page.set_content("<input multiple webkitdirectory type=file>")198 async with page.expect_file_chooser() as fc_info:199 await page.click("input")200 file_chooser = await fc_info.value...

Full Screen

Full Screen

Autotest05_182.py

Source:Autotest05_182.py Github

copy

Full Screen

...49 # assert page.url == "https://localhost/workflow/activity/detail/A-20220203-00001?status="50 page.wait_for_timeout(int(SET_WAIT))51 page.screenshot(path=f'{path.splitext(path.basename(__file__))[0]+"_1"}_capture.png')52 # Click text=/.*Click to select.*/53 with page.expect_file_chooser() as fc_info:54 page.click("text=/.*Click to select.*/")55 file_chooser = fc_info.value56 file_chooser.set_files("sample.md")57 # Click text="Start upload"58 page.click("text=\"Start upload\"")59 page.wait_for_timeout(int(SET_WAIT))60 page.screenshot(path=f'{"Autotest05_213_1"}_capture.png')61 # Click text=/.*Click to select.*/62 with page.expect_file_chooser() as fc_info:63 page.click("text=/.*Click to select.*/")64 file_chooser = fc_info.value65 file_chooser.set_files("sample.json")66 # Click text="Start upload"67 page.click("text=\"Start upload\"")68 page.wait_for_timeout(int(SET_WAIT))69 page.screenshot(path=f'{"Autotest05_214_1"}_capture.png')70 # Click text=/.*Click to select.*/71 with page.expect_file_chooser() as fc_info:72 page.click("text=/.*Click to select.*/")73 file_chooser = fc_info.value74 file_chooser.set_files("sample.xmll")75 # Click text="Start upload"76 page.click("text=\"Start upload\"")77 page.wait_for_timeout(int(SET_WAIT))78 page.screenshot(path=f'{"Autotest05_215_1"}_capture.png')79 # Click text=/.*Click to select.*/80 with page.expect_file_chooser() as fc_info:81 page.click("text=/.*Click to select.*/")82 file_chooser = fc_info.value83 file_chooser.set_files("sample.csv")84 # Click text="Start upload"85 page.click("text=\"Start upload\"")86 page.wait_for_timeout(int(SET_WAIT))87 page.screenshot(path=f'{"Autotest05_216_1"}_capture.png')88 # Click text=/.*Click to select.*/89 with page.expect_file_chooser() as fc_info:90 page.click("text=/.*Click to select.*/")91 file_chooser = fc_info.value92 file_chooser.set_files("sample.pdf")93 # Click text="Start upload"94 page.click("text=\"Start upload\"")95 page.wait_for_timeout(int(SET_WAIT))96 page.screenshot(path=f'{"Autotest05_217_1"}_capture.png')97 # Click text=/.*Click to select.*/98 with page.expect_file_chooser() as fc_info:99 page.click("text=/.*Click to select.*/")100 file_chooser = fc_info.value101 file_chooser.set_files("sample.png")102 # Click text="Start upload"103 page.click("text=\"Start upload\"")104 page.wait_for_timeout(int(SET_WAIT))105 page.screenshot(path=f'{"Autotest05_218_1"}_capture.png')106 # Click text=/.*Click to select.*/107 with page.expect_file_chooser() as fc_info:108 page.click("text=/.*Click to select.*/")109 file_chooser = fc_info.value110 file_chooser.set_files("sample.jpg")111 # Click text="Start upload"112 page.click("text=\"Start upload\"")113 page.wait_for_timeout(int(SET_WAIT))114 page.screenshot(path=f'{"Autotest05_219_1"}_capture.png')115 # Close page116 page.close()117 # ---------------------118 context.close()119 browser.close()120 return 0121def test_OK():...

Full Screen

Full Screen

create.py

Source:create.py Github

copy

Full Screen

...28 def upload_heatmap_picture(self):29 # 热力图图片上传30 self.heatmap_field().click()31 if self.heatmap_upload_field().is_visible():32 with self.page.expect_file_chooser() as fc_info:33 self.heatmap_upload_field().click()34 file_chooser = fc_info.value35 generate_pic() # 生成一张临时图片36 file_chooser.set_files(G.TMP_PIC_PATH)37 time.sleep(1.5)38 else:39 self.upload_heatmap_picture()40 @allure.step('Click create empty field')41 def create_empty(self, title):42 self.create_empty_field().click()43 self.empty_text_filed().should_be_visible()44 self.empty_text_filed().click()45 self.pop_up_filed().should_be_visible()46 if title:47 self.input_name_field().val(title)48 self.create_button_field().click()49 self.tab_questions().should_be_visible()50 G.SURVEY_ID = self.page.url.split('surveyId=')[1]51 return self52 @allure.step('Add the all of basic questions')53 def add_basic_questions(self):54 items = self.ques_basic_items()55 for item in items.elements:56 item.click()57 time.sleep(0.3)58 @allure.step('Add the all of advanced questions')59 def add_advanced_questions(self):60 items = self.ques_advanced_items()61 for item in items.elements:62 item.click()63 time.sleep(0.3)64 def add_all_ques(self):65 self.add_basic_questions()66 self.add_advanced_questions()67 @allure.step('Add the single choice item')68 def add_single_option(self):69 self.add_identify_filed().click()70 @allure.step('Add the identify item')71 def add_identify(self): # 甄别题72 self.add_identify_filed().click()73 """the editor field"""74 def cascade_txt(self):75 return el(self.page, selector='text=级联题')76 def survey_total(self):77 """检查总题是否正确"""78 return el(self.page, selector=f'text={G.QUESTION_TOTAL}.')79 80 81 @allure.step('Add the cascade item with uploading')82 def upload_item_cascade(self):83 # click preview and show cascade_upload84 self.cascade_preview_field().click()85 with self.page.expect_file_chooser() as fc_info:86 self.cascade_upload_field().click()87 file_chooser = fc_info.value88 file_chooser.set_files(G.CASCADE_TEMPLATE)89 time.sleep(1)90 """survey setting"""91 @allure.step('Set aim total number')92 def set_aim_total(self):93 self.aim_total_field()94 self.aim_total_field().val(random_str())95 timeout = 096 while self.plan_number_msg_field().is_visible():97 self.aim_total_field().val(random_str())98 timeout += 199 time.sleep(1)...

Full Screen

Full Screen

Playwright tutorial

LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.

Chapters:

  1. What is Playwright : Playwright is comparatively new but has gained good popularity. Get to know some history of the Playwright with some interesting facts connected with it.
  2. How To Install Playwright : Learn in detail about what basic configuration and dependencies are required for installing Playwright and run a test. Get a step-by-step direction for installing the Playwright automation framework.
  3. Playwright Futuristic Features: Launched in 2020, Playwright gained huge popularity quickly because of some obliging features such as Playwright Test Generator and Inspector, Playwright Reporter, Playwright auto-waiting mechanism and etc. Read up on those features to master Playwright testing.
  4. What is Component Testing: Component testing in Playwright is a unique feature that allows a tester to test a single component of a web application without integrating them with other elements. Learn how to perform Component testing on the Playwright automation framework.
  5. Inputs And Buttons In Playwright: Every website has Input boxes and buttons; learn about testing inputs and buttons with different scenarios and examples.
  6. Functions and Selectors in Playwright: Learn how to launch the Chromium browser with Playwright. Also, gain a better understanding of some important functions like “BrowserContext,” which allows you to run multiple browser sessions, and “newPage” which interacts with a page.
  7. Handling Alerts and Dropdowns in Playwright : Playwright interact with different types of alerts and pop-ups, such as simple, confirmation, and prompt, and different types of dropdowns, such as single selector and multi-selector get your hands-on with handling alerts and dropdown in Playright testing.
  8. Playwright vs Puppeteer: Get to know about the difference between two testing frameworks and how they are different than one another, which browsers they support, and what features they provide.
  9. Run Playwright Tests on LambdaTest: Playwright testing with LambdaTest leverages test performance to the utmost. You can run multiple Playwright tests in Parallel with the LammbdaTest test cloud. Get a step-by-step guide to run your Playwright test on the LambdaTest platform.
  10. Playwright Python Tutorial: Playwright automation framework support all major languages such as Python, JavaScript, TypeScript, .NET and etc. However, there are various advantages to Python end-to-end testing with Playwright because of its versatile utility. Get the hang of Playwright python testing with this chapter.
  11. Playwright End To End Testing Tutorial: Get your hands on with Playwright end-to-end testing and learn to use some exciting features such as TraceViewer, Debugging, Networking, Component testing, Visual testing, and many more.
  12. Playwright Video Tutorial: Watch the video tutorials on Playwright testing from experts and get a consecutive in-depth explanation of Playwright automation testing.

Run Playwright Python automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful