318 lines
29 KiB
HTML
318 lines
29 KiB
HTML
|
||
|
||
<!DOCTYPE html>
|
||
<html class="writer-html5" lang="ru" data-content_root="../../">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title>fixtures.pages — документация e-nms-qa-automation 0.1.0</title>
|
||
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=b86133f3" />
|
||
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
|
||
|
||
|
||
<script src="../../_static/jquery.js?v=5d32c60e"></script>
|
||
<script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||
<script src="../../_static/documentation_options.js?v=6ff560e8"></script>
|
||
<script src="../../_static/doctools.js?v=9bcbadda"></script>
|
||
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||
<script src="../../_static/translations.js?v=cd1d70c9"></script>
|
||
<script src="../../_static/js/theme.js"></script>
|
||
<link rel="index" title="Алфавитный указатель" href="../../genindex.html" />
|
||
<link rel="search" title="Поиск" href="../../search.html" />
|
||
</head>
|
||
|
||
<body class="wy-body-for-nav">
|
||
<div class="wy-grid-for-nav">
|
||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||
<div class="wy-side-scroll">
|
||
<div class="wy-side-nav-search" >
|
||
|
||
|
||
|
||
<a href="../../index.html" class="icon icon-home">
|
||
e-nms-qa-automation
|
||
</a>
|
||
<div role="search">
|
||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||
<input type="text" name="q" placeholder="Поиск в документации" aria-label="Поиск в документации" />
|
||
<input type="hidden" name="check_keywords" value="yes" />
|
||
<input type="hidden" name="area" value="default" />
|
||
</form>
|
||
</div>
|
||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Меню навигации">
|
||
<!-- Local TOC -->
|
||
<div class="local-toc"></div>
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
|
||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Меню навигации для мобильных устройств" >
|
||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||
<a href="../../index.html">e-nms-qa-automation</a>
|
||
</nav>
|
||
|
||
<div class="wy-nav-content">
|
||
<div class="rst-content">
|
||
<div role="navigation" aria-label="Навигация по страницам">
|
||
<ul class="wy-breadcrumbs">
|
||
<li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||
<li class="breadcrumb-item"><a href="../index.html">Код модуля</a></li>
|
||
<li class="breadcrumb-item active">fixtures.pages</li>
|
||
<li class="wy-breadcrumbs-aside">
|
||
</li>
|
||
</ul>
|
||
<hr/>
|
||
</div>
|
||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||
<div itemprop="articleBody">
|
||
|
||
<h1>Исходный код fixtures.pages</h1><div class="highlight"><pre>
|
||
<span></span><span class="sd">"""Модуль pages содержит фикстуры и функции для работы с Playwright.</span>
|
||
|
||
<span class="sd">Предоставляет инструменты для управления браузером, контекстами и страницами</span>
|
||
<span class="sd">в тестах pytest, включая настройку параметров запуска.</span>
|
||
<span class="sd">"""</span>
|
||
|
||
<span class="kn">import</span><span class="w"> </span><span class="nn">ast</span>
|
||
<span class="kn">import</span><span class="w"> </span><span class="nn">pytest</span>
|
||
<span class="kn">from</span><span class="w"> </span><span class="nn">playwright.sync_api</span><span class="w"> </span><span class="kn">import</span> <span class="n">Browser</span><span class="p">,</span> <span class="n">BrowserContext</span><span class="p">,</span> <span class="n">Page</span><span class="p">,</span> <span class="n">sync_playwright</span><span class="p">,</span> <span class="n">Playwright</span>
|
||
<span class="kn">from</span><span class="w"> </span><span class="nn">_pytest.config.argparsing</span><span class="w"> </span><span class="kn">import</span> <span class="n">Parser</span>
|
||
<span class="kn">from</span><span class="w"> </span><span class="nn">_pytest.fixtures</span><span class="w"> </span><span class="kn">import</span> <span class="n">FixtureRequest</span>
|
||
|
||
|
||
<div class="viewcode-block" id="pytest_addoption">
|
||
<a class="viewcode-back" href="../../fixtures.html#fixtures.pages.pytest_addoption">[документация]</a>
|
||
<span class="k">def</span><span class="w"> </span><span class="nf">pytest_addoption</span><span class="p">(</span><span class="n">parser</span><span class="p">:</span> <span class="n">Parser</span><span class="p">):</span>
|
||
<span class="w"> </span><span class="sd">"""Добавляет опции командной строки для настройки браузера.</span>
|
||
|
||
<span class="sd"> Args:</span>
|
||
<span class="sd"> parser: Парсер pytest для добавления опций.</span>
|
||
|
||
<span class="sd"> Опции:</span>
|
||
<span class="sd"> --bn: Браузер (chrome, remote_chrome, firefox)</span>
|
||
<span class="sd"> --h: Режим headless (True/False)</span>
|
||
<span class="sd"> --s: Размер окна {'width': int, 'height': int}</span>
|
||
<span class="sd"> --slow: Задержка между действиями (мс)</span>
|
||
<span class="sd"> --t: Таймаут по умолчанию (мс)</span>
|
||
<span class="sd"> --l: Локаль браузера</span>
|
||
<span class="sd"> """</span>
|
||
|
||
<span class="n">parser</span><span class="o">.</span><span class="n">addoption</span><span class="p">(</span><span class="s1">'--bn'</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s1">'store'</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s2">"chrome"</span><span class="p">,</span>
|
||
<span class="n">help</span><span class="o">=</span><span class="s2">"Choose browser: chrome, remote_chrome or firefox"</span><span class="p">)</span>
|
||
<span class="n">parser</span><span class="o">.</span><span class="n">addoption</span><span class="p">(</span><span class="s1">'--h'</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s1">'store'</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
|
||
<span class="n">help</span><span class="o">=</span><span class="s1">'Choose headless: True or False'</span><span class="p">)</span>
|
||
<span class="n">parser</span><span class="o">.</span><span class="n">addoption</span><span class="p">(</span><span class="s1">'--s'</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s1">'store'</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s2">"{'width': 1600, 'height': 900}"</span><span class="p">,</span>
|
||
<span class="n">help</span><span class="o">=</span><span class="s1">'Size window: width,height'</span><span class="p">)</span>
|
||
<span class="c1"># Закомментированные альтернативные размеры окон</span>
|
||
<span class="c1"># parser.addoption('--s', action='store', default="{'width': 1920, 'height': 1080}",</span>
|
||
<span class="c1"># help='Size window: width,height')</span>
|
||
<span class="c1"># parser.addoption('--s', action='store', default="{'width': 1920, 'height': 300}",</span>
|
||
<span class="c1"># help='Size window: width,height')</span>
|
||
<span class="c1"># parser.addoption('--s', action='store', default="{'width': 300, 'height': 420}",</span>
|
||
<span class="c1"># help='Size window: width,height')</span>
|
||
<span class="n">parser</span><span class="o">.</span><span class="n">addoption</span><span class="p">(</span><span class="s1">'--slow'</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s1">'store'</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">200</span><span class="p">,</span>
|
||
<span class="n">help</span><span class="o">=</span><span class="s1">'Choose slow_mo for robot action'</span><span class="p">)</span>
|
||
<span class="n">parser</span><span class="o">.</span><span class="n">addoption</span><span class="p">(</span><span class="s1">'--t'</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s1">'store'</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">60000</span><span class="p">,</span>
|
||
<span class="n">help</span><span class="o">=</span><span class="s1">'Choose timeout'</span><span class="p">)</span>
|
||
<span class="n">parser</span><span class="o">.</span><span class="n">addoption</span><span class="p">(</span><span class="s1">'--l'</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s1">'store'</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">'ru-RU'</span><span class="p">,</span>
|
||
<span class="n">help</span><span class="o">=</span><span class="s1">'Choose locale'</span><span class="p">)</span></div>
|
||
|
||
<span class="c1"># Закомментированная опция для Qase</span>
|
||
<span class="c1"># parser.addini('qs_to_api_token', default=os.getenv("QASE_TOKEN"), help='Qase app token')</span>
|
||
|
||
|
||
<div class="viewcode-block" id="browser">
|
||
<a class="viewcode-back" href="../../fixtures.html#fixtures.pages.browser">[документация]</a>
|
||
<span class="nd">@pytest</span><span class="o">.</span><span class="n">fixture</span><span class="p">(</span><span class="n">scope</span><span class="o">=</span><span class="s1">'class'</span><span class="p">)</span>
|
||
<span class="k">def</span><span class="w"> </span><span class="nf">browser</span><span class="p">(</span><span class="n">request</span><span class="p">:</span> <span class="n">FixtureRequest</span><span class="p">)</span> <span class="o">-></span> <span class="n">Page</span><span class="p">:</span>
|
||
<span class="w"> </span><span class="sd">"""Фикстура для управления экземпляром браузера.</span>
|
||
|
||
<span class="sd"> Args:</span>
|
||
<span class="sd"> request: Объект запроса pytest для доступа к конфигурации.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Page: Экземпляр страницы браузера.</span>
|
||
|
||
<span class="sd"> Yields:</span>
|
||
<span class="sd"> Page: Страница для использования в тестах.</span>
|
||
|
||
<span class="sd"> Note:</span>
|
||
<span class="sd"> Автоматически закрывает браузер после тестов.</span>
|
||
<span class="sd"> """</span>
|
||
|
||
<span class="n">playwright</span> <span class="o">=</span> <span class="n">sync_playwright</span><span class="p">()</span><span class="o">.</span><span class="n">start</span><span class="p">()</span>
|
||
|
||
<span class="c1"># Выбор браузера на основе параметра командной строки</span>
|
||
<span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">getoption</span><span class="p">(</span><span class="s2">"bn"</span><span class="p">)</span> <span class="o">==</span> <span class="s1">'remote_chrome'</span><span class="p">:</span>
|
||
<span class="n">browser</span> <span class="o">=</span> <span class="n">get_remote_chrome</span><span class="p">(</span><span class="n">playwright</span><span class="p">,</span> <span class="n">request</span><span class="p">)</span>
|
||
<span class="n">context</span> <span class="o">=</span> <span class="n">get_context</span><span class="p">(</span><span class="n">browser</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="s1">'remote'</span><span class="p">)</span>
|
||
<span class="n">page_data</span> <span class="o">=</span> <span class="n">context</span><span class="o">.</span><span class="n">new_page</span><span class="p">()</span>
|
||
<span class="k">elif</span> <span class="n">request</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">getoption</span><span class="p">(</span><span class="s2">"bn"</span><span class="p">)</span> <span class="o">==</span> <span class="s1">'firefox'</span><span class="p">:</span>
|
||
<span class="n">browser</span> <span class="o">=</span> <span class="n">get_firefox_browser</span><span class="p">(</span><span class="n">playwright</span><span class="p">,</span> <span class="n">request</span><span class="p">)</span>
|
||
<span class="n">context</span> <span class="o">=</span> <span class="n">get_context</span><span class="p">(</span><span class="n">browser</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="s1">'local'</span><span class="p">)</span>
|
||
<span class="n">page_data</span> <span class="o">=</span> <span class="n">context</span><span class="o">.</span><span class="n">new_page</span><span class="p">()</span>
|
||
<span class="k">elif</span> <span class="n">request</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">getoption</span><span class="p">(</span><span class="s2">"bn"</span><span class="p">)</span> <span class="o">==</span> <span class="s1">'chrome'</span><span class="p">:</span>
|
||
<span class="n">browser</span> <span class="o">=</span> <span class="n">get_chrome_browser</span><span class="p">(</span><span class="n">playwright</span><span class="p">,</span> <span class="n">request</span><span class="p">)</span>
|
||
<span class="n">context</span> <span class="o">=</span> <span class="n">get_context</span><span class="p">(</span><span class="n">browser</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="s1">'local'</span><span class="p">)</span>
|
||
<span class="n">page_data</span> <span class="o">=</span> <span class="n">context</span><span class="o">.</span><span class="n">new_page</span><span class="p">()</span>
|
||
<span class="k">else</span><span class="p">:</span>
|
||
<span class="n">browser</span> <span class="o">=</span> <span class="n">get_chrome_browser</span><span class="p">(</span><span class="n">playwright</span><span class="p">,</span> <span class="n">request</span><span class="p">)</span>
|
||
<span class="n">context</span> <span class="o">=</span> <span class="n">get_context</span><span class="p">(</span><span class="n">browser</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="s1">'local'</span><span class="p">)</span>
|
||
<span class="n">page_data</span> <span class="o">=</span> <span class="n">context</span><span class="o">.</span><span class="n">new_page</span><span class="p">()</span>
|
||
|
||
<span class="k">yield</span> <span class="n">page_data</span>
|
||
|
||
<span class="c1"># Очистка после завершения тестов</span>
|
||
<span class="k">for</span> <span class="n">context</span> <span class="ow">in</span> <span class="n">browser</span><span class="o">.</span><span class="n">contexts</span><span class="p">:</span>
|
||
<span class="n">context</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
|
||
<span class="n">browser</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
|
||
<span class="n">playwright</span><span class="o">.</span><span class="n">stop</span><span class="p">()</span></div>
|
||
|
||
|
||
|
||
<div class="viewcode-block" id="get_firefox_browser">
|
||
<a class="viewcode-back" href="../../fixtures.html#fixtures.pages.get_firefox_browser">[документация]</a>
|
||
<span class="k">def</span><span class="w"> </span><span class="nf">get_firefox_browser</span><span class="p">(</span><span class="n">playwright</span><span class="p">:</span> <span class="n">Playwright</span><span class="p">,</span> <span class="n">request</span><span class="p">:</span> <span class="n">FixtureRequest</span><span class="p">)</span> <span class="o">-></span> <span class="n">Browser</span><span class="p">:</span>
|
||
<span class="w"> </span><span class="sd">"""Создает и возвращает экземпляр Firefox браузера.</span>
|
||
|
||
<span class="sd"> Args:</span>
|
||
<span class="sd"> playwright: Экземпляр Playwright.</span>
|
||
<span class="sd"> request: Объект запроса pytest.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Browser: Экземпляр Firefox.</span>
|
||
<span class="sd"> """</span>
|
||
|
||
<span class="k">return</span> <span class="n">playwright</span><span class="o">.</span><span class="n">firefox</span><span class="o">.</span><span class="n">launch</span><span class="p">(</span>
|
||
<span class="n">headless</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">getoption</span><span class="p">(</span><span class="s2">"h"</span><span class="p">),</span>
|
||
<span class="n">slow_mo</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">getoption</span><span class="p">(</span><span class="s2">"slow"</span><span class="p">),</span>
|
||
<span class="p">)</span></div>
|
||
|
||
|
||
|
||
<div class="viewcode-block" id="get_chrome_browser">
|
||
<a class="viewcode-back" href="../../fixtures.html#fixtures.pages.get_chrome_browser">[документация]</a>
|
||
<span class="k">def</span><span class="w"> </span><span class="nf">get_chrome_browser</span><span class="p">(</span><span class="n">playwright</span><span class="p">:</span> <span class="n">Playwright</span><span class="p">,</span> <span class="n">request</span><span class="p">:</span> <span class="n">FixtureRequest</span><span class="p">)</span> <span class="o">-></span> <span class="n">Browser</span><span class="p">:</span>
|
||
<span class="w"> </span><span class="sd">"""Создает и возвращает экземпляр Chrome браузера.</span>
|
||
|
||
<span class="sd"> Args:</span>
|
||
<span class="sd"> playwright: Экземпляр Playwright.</span>
|
||
<span class="sd"> request: Объект запроса pytest.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Browser: Экземпляр Chrome.</span>
|
||
<span class="sd"> """</span>
|
||
|
||
<span class="k">return</span> <span class="n">playwright</span><span class="o">.</span><span class="n">chromium</span><span class="o">.</span><span class="n">launch</span><span class="p">(</span>
|
||
<span class="n">headless</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">getoption</span><span class="p">(</span><span class="s2">"h"</span><span class="p">),</span>
|
||
<span class="n">slow_mo</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">getoption</span><span class="p">(</span><span class="s2">"slow"</span><span class="p">),</span>
|
||
<span class="n">args</span><span class="o">=</span><span class="p">[</span><span class="s1">'--s'</span><span class="p">]</span>
|
||
<span class="p">)</span></div>
|
||
|
||
|
||
|
||
<div class="viewcode-block" id="get_remote_chrome">
|
||
<a class="viewcode-back" href="../../fixtures.html#fixtures.pages.get_remote_chrome">[документация]</a>
|
||
<span class="k">def</span><span class="w"> </span><span class="nf">get_remote_chrome</span><span class="p">(</span><span class="n">playwright</span><span class="p">:</span> <span class="n">Playwright</span><span class="p">,</span> <span class="n">request</span><span class="p">:</span> <span class="n">FixtureRequest</span><span class="p">)</span> <span class="o">-></span> <span class="n">Browser</span><span class="p">:</span>
|
||
<span class="w"> </span><span class="sd">"""Создает экземпляр Chrome для удаленного запуска.</span>
|
||
|
||
<span class="sd"> Args:</span>
|
||
<span class="sd"> playwright: Экземпляр Playwright.</span>
|
||
<span class="sd"> request: Объект запроса pytest.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Browser: Экземпляр Chrome в headless режиме.</span>
|
||
<span class="sd"> """</span>
|
||
|
||
<span class="k">return</span> <span class="n">playwright</span><span class="o">.</span><span class="n">chromium</span><span class="o">.</span><span class="n">launch</span><span class="p">(</span>
|
||
<span class="n">headless</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
|
||
<span class="n">slow_mo</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">getoption</span><span class="p">(</span><span class="s2">"slow"</span><span class="p">)</span>
|
||
<span class="p">)</span></div>
|
||
|
||
|
||
|
||
<div class="viewcode-block" id="get_context">
|
||
<a class="viewcode-back" href="../../fixtures.html#fixtures.pages.get_context">[документация]</a>
|
||
<span class="k">def</span><span class="w"> </span><span class="nf">get_context</span><span class="p">(</span><span class="n">browser</span><span class="p">:</span> <span class="n">Browser</span><span class="p">,</span> <span class="n">request</span><span class="p">:</span> <span class="n">FixtureRequest</span><span class="p">,</span> <span class="n">start</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="n">BrowserContext</span><span class="p">:</span>
|
||
<span class="w"> </span><span class="sd">"""Создает и настраивает контекст браузера.</span>
|
||
|
||
<span class="sd"> Args:</span>
|
||
<span class="sd"> browser: Экземпляр браузера.</span>
|
||
<span class="sd"> request: Объект запроса pytest.</span>
|
||
<span class="sd"> start: Тип запуска ('local' или 'remote').</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> BrowserContext: Настроенный контекст.</span>
|
||
<span class="sd"> """</span>
|
||
|
||
<span class="k">if</span> <span class="n">start</span> <span class="o">==</span> <span class="s1">'local'</span><span class="p">:</span>
|
||
<span class="c1"># current_viewport = json.loads(request.config.getoption('--s'))</span>
|
||
|
||
<span class="n">context</span> <span class="o">=</span> <span class="n">browser</span><span class="o">.</span><span class="n">new_context</span><span class="p">(</span>
|
||
<span class="c1"># no_viewport=True,</span>
|
||
<span class="n">viewport</span><span class="o">=</span> <span class="n">ast</span><span class="o">.</span><span class="n">literal_eval</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">getoption</span><span class="p">(</span><span class="s1">'--s'</span><span class="p">)),</span>
|
||
<span class="n">locale</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">getoption</span><span class="p">(</span><span class="s1">'l'</span><span class="p">)</span>
|
||
<span class="p">)</span>
|
||
<span class="n">context</span><span class="o">.</span><span class="n">set_default_timeout</span><span class="p">(</span>
|
||
<span class="n">timeout</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">getoption</span><span class="p">(</span><span class="s1">'t'</span><span class="p">)</span>
|
||
<span class="p">)</span>
|
||
<span class="c1"># Пример добавления кук (закомментировано)</span>
|
||
<span class="c1"># context.add_cookies([{'url': 'https://example.ru', 'name': 'ab_test', 'value': 'd'}])</span>
|
||
<span class="k">return</span> <span class="n">context</span>
|
||
|
||
<span class="k">elif</span> <span class="n">start</span> <span class="o">==</span> <span class="s1">'remote'</span><span class="p">:</span>
|
||
<span class="n">context</span> <span class="o">=</span> <span class="n">browser</span><span class="o">.</span><span class="n">new_context</span><span class="p">(</span>
|
||
<span class="n">viewport</span><span class="o">=</span><span class="n">ast</span><span class="o">.</span><span class="n">literal_eval</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">getoption</span><span class="p">(</span><span class="s1">'--s'</span><span class="p">)),</span>
|
||
<span class="n">locale</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">getoption</span><span class="p">(</span><span class="s1">'l'</span><span class="p">)</span>
|
||
<span class="p">)</span>
|
||
<span class="n">context</span><span class="o">.</span><span class="n">set_default_timeout</span><span class="p">(</span>
|
||
<span class="n">timeout</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">getoption</span><span class="p">(</span><span class="s1">'t'</span><span class="p">)</span>
|
||
<span class="p">)</span>
|
||
<span class="c1"># Пример добавления кук (закомментировано)</span>
|
||
<span class="c1"># context.add_cookies([{'url': 'https://example.ru', 'name': 'ab_test', 'value': 'd'}])</span>
|
||
<span class="k">return</span> <span class="n">context</span></div>
|
||
|
||
|
||
|
||
<div class="viewcode-block" id="return_back">
|
||
<a class="viewcode-back" href="../../fixtures.html#fixtures.pages.return_back">[документация]</a>
|
||
<span class="nd">@pytest</span><span class="o">.</span><span class="n">fixture</span><span class="p">(</span><span class="n">scope</span><span class="o">=</span><span class="s2">"function"</span><span class="p">)</span>
|
||
<span class="k">def</span><span class="w"> </span><span class="nf">return_back</span><span class="p">(</span><span class="n">browser</span><span class="p">:</span> <span class="n">Page</span><span class="p">):</span>
|
||
<span class="w"> </span><span class="sd">"""Фикстура для возврата на предыдущую страницу.</span>
|
||
|
||
<span class="sd"> Args:</span>
|
||
<span class="sd"> browser: Экземпляр страницы браузера.</span>
|
||
<span class="sd"> """</span>
|
||
|
||
<span class="n">browser</span><span class="o">.</span><span class="n">go_back</span><span class="p">()</span></div>
|
||
|
||
</pre></div>
|
||
|
||
</div>
|
||
</div>
|
||
<footer>
|
||
|
||
<hr/>
|
||
|
||
<div role="contentinfo">
|
||
<p>© Авторские права 2025, NPO KIS. </p>
|
||
</div>
|
||
|
||
Собрано при помощи <a href="https://www.sphinx-doc.org/">Sphinx</a> с использованием
|
||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">темы,</a>
|
||
предоставленной <a href="https://readthedocs.org">Read the Docs</a>.
|
||
|
||
|
||
</footer>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
<script>
|
||
jQuery(function () {
|
||
SphinxRtdTheme.Navigation.enable(true);
|
||
});
|
||
</script>
|
||
|
||
</body>
|
||
</html> |