Best Python code snippet using playwright-python
test_boolean_type.py
Source:test_boolean_type.py
...21 display_as_option_locator = page.locator(display_as_option_selector)22 custom_label_option_locator = page.locator(use_custom_label_option_selector)23 expect(display_as_option_locator).to_be_visible()24 expect(display_as_option_locator).to_contain_text("Checkbox", use_inner_text=True)25 expect(custom_label_option_locator).not_to_be_visible()26 open_column_options_and_verify_type(page, "boolean_dd", "Boolean", "BOOLEAN")27 page.locator(display_tab_selector).click()28 display_as_option_locator = page.locator(display_as_option_selector)29 expect(display_as_option_locator).to_be_visible()30 expect(display_as_option_locator).to_contain_text("Dropdown", use_inner_text=True)31 expect(custom_label_option_locator).to_be_visible()32 assert page.is_checked(use_custom_label_option_selector) is False33def test_boolean_disp_checkbox_to_dropdown(page, table_with_all_types, go_to_all_types_table):34 expect_table_to_open(page)35 open_column_options_and_verify_type(page, "boolean_cb", "Boolean", "BOOLEAN")36 page.locator(display_tab_selector).click()37 display_as_option_locator = page.locator(display_as_option_selector)38 custom_label_option_locator = page.locator(use_custom_label_option_selector)39 expect(display_as_option_locator).to_be_visible()40 expect(display_as_option_locator).to_contain_text("Checkbox", use_inner_text=True)41 expect(custom_label_option_locator).not_to_be_visible()42 change_select_input_value(page, display_as_option_locator, "Dropdown")43 expect(custom_label_option_locator).to_be_visible()44 assert page.is_checked(use_custom_label_option_selector) is False45 page.check(use_custom_label_option_selector)46 true_custom_label_option_locator = page.locator(true_custom_label_option_selector)47 false_custom_label_option_locator = page.locator(false_custom_label_option_selector)48 expect(true_custom_label_option_locator).to_be_visible()49 expect(true_custom_label_option_locator).to_have_value("true")50 expect(false_custom_label_option_locator).to_be_visible()51 expect(false_custom_label_option_locator).to_have_value("false")52 page.fill(false_custom_label_option_selector, "")53 expect(page.locator(".type-options-content")).to_contain_text("This is a required field", use_inner_text=True)54 expect(false_custom_label_option_locator).to_have_class(re.compile("has-error"))55 page.fill(true_custom_label_option_selector, "Truthy Value")56 page.fill(false_custom_label_option_selector, "Falsy Value")57 page.click("button:has-text('Save')")58 expect(page.locator(".dropdown.column-opts-content")).not_to_be_visible()59 second_row_cell_selector = get_cell_selector(page, table_with_all_types, 2, "boolean_cb")60 expect(page.locator(second_row_cell_selector)).to_contain_text("Truthy Value", use_inner_text=True)61 third_row_cell_selector = get_cell_selector(page, table_with_all_types, 3, "boolean_cb")62 expect(page.locator(third_row_cell_selector)).to_contain_text("Falsy Value", use_inner_text=True)63def test_boolean_disp_dropdown_to_checkbox(page, table_with_all_types, go_to_all_types_table):64 expect_table_to_open(page)65 open_column_options_and_verify_type(page, "boolean_dd", "Boolean", "BOOLEAN")66 page.locator(display_tab_selector).click()67 display_as_option_locator = page.locator(display_as_option_selector)68 custom_label_option_locator = page.locator(use_custom_label_option_selector)69 expect(display_as_option_locator).to_be_visible()70 expect(display_as_option_locator).to_contain_text("Dropdown", use_inner_text=True)71 expect(custom_label_option_locator).to_be_visible()72 change_select_input_value(page, display_as_option_locator, "Checkbox")73 expect(custom_label_option_locator).not_to_be_visible()74 page.click("button:has-text('Save')")75 expect(page.locator(".dropdown.column-opts-content")).not_to_be_visible()76 second_row_cell_selector = get_cell_selector(page, table_with_all_types, 2, "boolean_dd")77 second_row_checkbox_selector = f"{second_row_cell_selector} [type=checkbox]"78 assert page.is_checked(second_row_checkbox_selector) is True79 third_row_cell_selector = get_cell_selector(page, table_with_all_types, 3, "boolean_dd")80 third_row_checkbox_selector = f"{third_row_cell_selector} [type=checkbox]"81 assert page.is_checked(third_row_checkbox_selector) is False82def test_boolean_cell_checkbox_input(page, table_with_all_types, go_to_all_types_table):83 expect_table_to_open(page)84 first_row_cell_selector = get_cell_selector(page, table_with_all_types, 1, "boolean_cb")85 first_row_checkbox_selector = f"{first_row_cell_selector} [type=checkbox]"86 assert page.locator(first_row_checkbox_selector).element_handle().evaluate("node => node.indeterminate") is True87 page.check(first_row_checkbox_selector)88 assert page.locator(first_row_checkbox_selector).element_handle().evaluate("node => node.indeterminate") is False89 assert page.is_checked(first_row_checkbox_selector) is True90 page.uncheck(first_row_checkbox_selector)91 assert page.is_checked(first_row_checkbox_selector) is False92 page.check(first_row_checkbox_selector)93 assert page.is_checked(first_row_checkbox_selector) is True94 second_row_cell_selector = get_cell_selector(page, table_with_all_types, 2, "boolean_cb")95 second_row_checkbox_selector = f"{second_row_cell_selector} [type=checkbox]"96 assert page.is_checked(second_row_checkbox_selector) is True97 third_row_cell_selector = get_cell_selector(page, table_with_all_types, 3, "boolean_cb")98 third_row_checkbox_selector = f"{third_row_cell_selector} [type=checkbox]"99 assert page.is_checked(third_row_checkbox_selector) is False100def test_boolean_cell_checkbox_click_behavior(page, table_with_all_types, go_to_all_types_table):101 expect_table_to_open(page)102 cell_selector = get_cell_selector(page, table_with_all_types, 1, "boolean_cb")103 checkbox_selector = f"{cell_selector} [type=checkbox]"104 expect(page.locator(cell_selector)).not_to_have_class(re.compile("is-active"))105 assert page.locator(checkbox_selector).element_handle().evaluate("node => node.indeterminate") is True106 page.click(cell_selector)107 expect(page.locator(cell_selector)).to_have_class(re.compile("is-active"))108 assert page.locator(checkbox_selector).element_handle().evaluate("node => node.indeterminate") is True109 page.click(cell_selector)110 assert page.is_checked(checkbox_selector) is True111 page.click(cell_selector)112 assert page.is_checked(checkbox_selector) is False113def test_boolean_cell_checkbox_key_behavior(page, table_with_all_types, go_to_all_types_table):114 expect_table_to_open(page)115 cell_selector = get_cell_selector(page, table_with_all_types, 1, "boolean_cb")116 checkbox_selector = f"{cell_selector} [type=checkbox]"117 page.click(cell_selector)118 expect(page.locator(cell_selector)).to_have_class(re.compile("is-active"))119 assert page.locator(checkbox_selector).element_handle().evaluate("node => node.indeterminate") is True120 page.keyboard.press("Enter")121 assert page.is_checked(checkbox_selector) is True122 page.keyboard.press("Enter")123 assert page.is_checked(checkbox_selector) is False124def test_boolean_cell_dropdown_input(page, table_with_all_types, go_to_all_types_table):125 expect_table_to_open(page)126 first_row_cell_selector = get_cell_selector(page, table_with_all_types, 1, "boolean_dd")127 first_row_cell_locator = page.locator(first_row_cell_selector)128 expect(first_row_cell_locator).to_contain_text("NULL", use_inner_text=True)129 expect(first_row_cell_locator).not_to_have_class(re.compile("is-active"))130 page.click(first_row_cell_selector)131 expect(first_row_cell_locator).to_have_class(re.compile("is-active"))132 dropdown_id = page.locator(f"{first_row_cell_selector} .cell-wrapper").get_attribute("aria-controls")133 dropdown_selector = f".dropdown.single-select-cell-dropdown:has(ul#{dropdown_id})"134 expect(page.locator(dropdown_selector)).not_to_be_visible()135 page.click(first_row_cell_selector)136 expect(page.locator(f"{first_row_cell_selector} .cell-wrapper")).to_be_focused()137 expect(page.locator(dropdown_selector)).to_be_visible()138 expect(page.locator(f"{dropdown_selector} li")).to_contain_text(["true", "false"])139 page.click(f"{dropdown_selector} li:has-text('true')")140 expect(page.locator(dropdown_selector)).not_to_be_visible()141 expect(first_row_cell_locator).to_contain_text("true", use_inner_text=True)142 expect(page.locator(f"{first_row_cell_selector} .cell-wrapper")).to_be_focused()143 page.click(first_row_cell_selector)144 expect(page.locator(dropdown_selector)).to_be_visible()145 page.click(f"{dropdown_selector} li:has-text('false')")146 expect(page.locator(dropdown_selector)).not_to_be_visible()147 expect(first_row_cell_locator).to_contain_text("false", use_inner_text=True)148 expect(page.locator(f"{first_row_cell_selector} .cell-wrapper")).to_be_focused()149 second_row_cell_selector = get_cell_selector(page, table_with_all_types, 2, "boolean_dd")150 expect(page.locator(second_row_cell_selector)).to_contain_text("true", use_inner_text=True)151 third_row_cell_selector = get_cell_selector(page, table_with_all_types, 3, "boolean_dd")152 expect(page.locator(third_row_cell_selector)).to_contain_text("false", use_inner_text=True)153def test_boolean_cell_dropdown_key_behavior(page, table_with_all_types, go_to_all_types_table):154 expect_table_to_open(page)155 cell_selector = get_cell_selector(page, table_with_all_types, 1, "boolean_dd")156 cell_locator = page.locator(cell_selector)157 page.click(cell_selector)158 expect(cell_locator).to_have_class(re.compile("is-active"))159 dropdown_id = page.locator(f"{cell_selector} .cell-wrapper").get_attribute("aria-controls")160 dropdown_selector = f".dropdown.single-select-cell-dropdown:has(ul#{dropdown_id})"161 expect(page.locator(dropdown_selector)).not_to_be_visible()162 expect(page.locator(f"{cell_selector} .cell-wrapper")).to_be_focused()163 page.keyboard.press("Enter")164 expect(page.locator(dropdown_selector)).to_be_visible()165 page.keyboard.press("ArrowDown")166 page.keyboard.press("Enter")167 expect(page.locator(dropdown_selector)).not_to_be_visible()168 expect(cell_locator).to_contain_text("true", use_inner_text=True)...
test_text_type.py
Source:test_text_type.py
...21def test_text_options(page, go_to_all_types_table):22 expect_table_to_open(page)23 open_and_verify_column_type(page, "text", "TEXT")24 expect(page.locator(restrict_field_size_option_locator)).not_to_be_checked()25 expect(page.locator(field_size_limit_locator)).not_to_be_visible()26def test_varchar_options(page, go_to_all_types_table):27 expect_table_to_open(page)28 open_and_verify_column_type(page, "varchar", "VARCHAR")29 expect(page.locator(restrict_field_size_option_locator)).to_be_checked()30 field_size_input = page.locator(field_size_limit_locator)31 expect(field_size_input).to_be_visible()32 expect(field_size_input).to_have_class(re.compile("has-error"))33 expect(field_size_input).to_be_empty()34 expect(page.locator(".type-options-content")).to_contain_text("This is a required field", use_inner_text=True)35def test_varchar_n_options(page, go_to_all_types_table):36 expect_table_to_open(page)37 open_and_verify_column_type(page, "varchar_n", "VARCHAR")38 expect(page.locator(restrict_field_size_option_locator)).to_be_checked()39 field_size_input = page.locator(field_size_limit_locator)40 expect(field_size_input).to_be_visible()41 expect(field_size_input).to_have_value("100")42def test_char_options(page, go_to_all_types_table):43 expect_table_to_open(page)44 open_and_verify_column_type(page, "char", "CHAR")45 expect(page.locator(restrict_field_size_option_locator)).to_be_checked()46 field_size_input = page.locator(field_size_limit_locator)47 expect(field_size_input).to_be_visible()48 expect(field_size_input).to_have_value("100")49def test_text_cell(page, go_to_all_types_table):50 expect_table_to_open(page)51 row = page.locator(":nth-match(.row, 1)")52 cell = row.locator(".cell:has-text('text value') .cell-wrapper")53 cell.dblclick()54 expect(row.locator("textarea")).to_be_visible()55def test_varchar_cell(page, go_to_all_types_table):56 expect_table_to_open(page)57 row = page.locator(":nth-match(.row, 1)")58 cell = row.locator(".cell:has-text('varchar value') .cell-wrapper")59 cell.dblclick()60 expect(row.locator("textarea")).to_be_visible()61 n_cell = row.locator(".cell:has-text('varchar n value') .cell-wrapper")62 n_cell.dblclick()63 expect(row.locator("textarea")).to_be_visible()64def test_char_cell(page, go_to_all_types_table):65 expect_table_to_open(page)66 row = page.locator(":nth-match(.row, 1)")67 cell = row.locator(".cell:has-text('cell with char value') .cell-wrapper")68 cell.dblclick()69 expect(row.locator("input[type='text']")).to_be_visible()70def test_text_db_type_selection(page, go_to_all_types_table):71 expect_table_to_open(page)72 open_and_verify_column_type(page, "text", "TEXT")73 expect(page.locator(restrict_field_size_option_locator)).not_to_be_checked()74 expect(page.locator(field_size_limit_locator)).not_to_be_visible()75 page.locator(restrict_field_size_option_locator).set_checked(True)76 expect(page.locator(field_size_limit_locator)).to_have_value("255")77 verify_column_type(page, "VARCHAR")78 page.locator(restrict_field_size_option_locator).set_checked(False)79 expect(page.locator(field_size_limit_locator)).not_to_be_visible()...
test_scroll_state.py
Source:test_scroll_state.py
...67def test_scroll_preserving_on_tabs_switching(page, go_to_patents_data_table):8 # initially, the 30th element is not in the view9 thirtieth_element = page.locator('span.number:text-is("30")')10 expect(thirtieth_element).not_to_be_visible()11 # scroll makes it visible12 page.locator(".ps__rail-y").click()13 expect(thirtieth_element).to_be_visible()14 # creating new table switches to its tab15 create_empty_table(page)16 get_table_entry(page, "patents").click()17 expect(thirtieth_element).to_be_visible()181920def test_scroll_preserving_on_active_table_updating(page, go_to_patents_data_table):21 thirtieth_element = page.locator("span.number:text-is('30')")22 expect(thirtieth_element).not_to_be_visible()23 page.locator(".ps__rail-y").click()24 expect(thirtieth_element).to_be_visible()25 rename_column(page, "Center", "Updated Center")26 expect(thirtieth_element).to_be_visible()272829# TODO: add 'Filter' when implemented30@pytest.mark.parametrize("action", ["Sort", "Group"])31def test_scroll_resetting_on_sort_group_applying(page, go_to_patents_data_table, action):32 thirtieth_element = page.locator("span.number:text-is('30')")33 expect(thirtieth_element).not_to_be_visible()34 page.locator(".ps__rail-y").click()35 expect(thirtieth_element).to_be_visible()36 page.locator(f"button:has-text('{action}')").click()37 page.locator(f"button:has-text('Add new {action} column')").click()38 page.locator("td.action >> button:first-child").click()39 expect(thirtieth_element).not_to_be_visible()404142def test_scroll_resetting_on_table_page_update(page, go_to_patents_data_table):43 thirtieth_element = page.locator("span.number:text-is('30')")44 expect(thirtieth_element).not_to_be_visible()45 page.locator(".ps__rail-y").click()46 expect(thirtieth_element).to_be_visible()47 page.locator("[aria-label='Goto Page 2']").click()48 expect(page.locator("span.number:text-is('501')")).to_be_visible()495051def test_scroll_resetting_on_table_page_size_update(page, go_to_patents_data_table):52 thirtieth_element = page.locator("span.number:text-is('30')")53 expect(thirtieth_element).not_to_be_visible()54 page.locator(".ps__rail-y").click()55 expect(thirtieth_element).to_be_visible()56 page.locator("button:has-text('500')").click()57 page.locator("li[role='option']:has-text('100')").click()
...
test_tables.py
Source:test_tables.py
...19 # Delete Table 020 delete_active_table(page)21 # No Table 0 entry in the sidebar and no tab22 expect(get_tables_list(page)).to_be_empty()23 expect(get_tab(page, "Table 0")).not_to_be_visible()24 expect_welcome_to_be_visible(page, welcome_text)25def test_rename_empty_table(page, base_schema_url):26 page.goto(base_schema_url)27 # Create Table 028 create_empty_table(page)29 table_0_entry = get_table_entry(page, "Table 0")30 table_0_tab = get_tab(page, "Table 0")31 rename_table(page, "Table 1")32 # Table 1 in the sidebar and in the tab title33 expect(get_table_entry(page, "Table 1")).to_be_visible()34 expect(get_tab(page, "Table 1")).to_be_visible()35 # Table 0 not visible36 expect(table_0_entry).not_to_be_visible()37 expect(table_0_tab).not_to_be_visible()38def test_rename_table_of_another_table(page, base_schema_url):39 page.goto(base_schema_url)40 expect(get_tables_list(page)).to_be_empty()41 page.click("[aria-label='New Table']")42 page.click("button:has-text('Empty Table')")43 expect(get_table_entry(page, "Table 0")).to_be_visible()44 page.click("[aria-label='New Table']")45 page.click("button:has-text('Empty Table')")46 expect(get_table_entry(page, "Table 1")).to_be_visible()47 page.click("[aria-label='Table']")48 page.click("text=Rename")49 page.press("[aria-label='name']", "ArrowRight")50 page.fill("[aria-label='name']", "Table 0")51 expect(page.locator("text=A table with that name already exists.")).to_be_visible()...
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.
Get 100 minutes of automation test minutes FREE!!