Использование модели Python Playwright и Page Object < /p>
Сценарий:
Нажмите на ссылку, открывает новую вкладку. Остальная часть выпеканий должна быть выполнена на новой странице. Код ниже: < /p>
def run(playwright:Playwright) -> None:
browser = playwright.chromium.launch()
context = browser.new_context()
page= context.new_page()
page.goto(URL)
with context.expect_page as Account_setup_page:
accountSetup_link.click()
new_page = Account_setup_page.value
startaccount = new_page.locator('')
выше код работает нормально, поскольку контекст браузера находится в одном и том же файле кода.
Теперь, Использование объекта страницы : нужно какое -то направление, как мы должны переключать новую вкладку?@pytest.fixture(scope="function")
def accsetup(request,playwright)
browser=playwright.chromium.launch()
context=browser.new_context()
page=context.new_page()
page.goto(URL)
yield page
context.close()
browser.close()
< /code>
Теперь, в файле кода страницы: < /p>
filename: AccountSetupE2E.py
class AccountSetup:
def __init__(self,page)
self.page = page
self.username = page.locator()
self.pwd = page.locator()
self.login = page.locator()
def fillaccountdetails(self):
self.username.fill("test")
self.pwd.fill("testpwd")
self.login.click()
< /code>
После успешного входа в систему, нажав на accountsetup_link, откроет новую вкладку.
Я не могу найти способ ссылаться на новую вкладку для выполнения операций AccountSetup. Это сработало, когда контекст не был возвращен. Только для этого сценария мне нужно использовать новую вкладку для проверки тестового примера.contest.py:
@pytest.fixture(scope="function")
def accsetup(request,playwright)
browser=playwright.chromium.launch()
context=browser.new_context()
page=context.new_page()
page.goto(URL)
yield page,context
context.close()
browser.close()
filename: AccountSetupE2E.py
class AccountSetup:
def __init__(self,page,context)
self.page = page
self.context=context
self.username = page.locator()
self.pwd = page.locator()
self.login = page.locator()
self.accountSetup_link =page.locator()
with context.expect_page() as Account_setup_page:
self.accountSetup_link.click()
new_page = Account_setup_page.value
self.startaccount = new_page.locator('')
def fillaccountdetails(self):
self.username.fill("test")
self.pwd.fill("testpwd")
self.login.click()
self.startaccount .click()
TestCasefile -> Test_Accountsetup.py
class Test_accsetup:
def test_accSetup(self,accsetup):
page,context=acc_setup
acpage = acc_setup(page,context)
acpage.fillaccountdetails()
Подробнее здесь: https://stackoverflow.com/questions/791 ... ject-model
Python Playwright несколько вкладок модели страницы страницы ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Перетащите строку таблицы из одной таблицы вкладок в другую таблицу вкладок.
Anonymous » » в форуме Jquery - 0 Ответы
- 89 Просмотры
-
Последнее сообщение Anonymous
-