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!!
