#selenium #pytest #pytest-selenium
Вопрос:
Я установил pytest-selenium, но я не могу использовать его с pytest.
def test_sanity(selenium):
E fixture 'selenium' not found
> available fixtures: cache, capfd, capfdbinary, caplog, capsys, capsysbinary, check, cov, dash_br, dash_duo, dash_process_server, dash_thread_server, dashr, dashr_server, doctest_namespace, install_cbm_dash, install_dir, metadata, mock, mocker, monkeypatch, most_recent_installer_exe, no_cover, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, run_installer, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, uninstall_after_run
> use 'pytest --fixtures [testpath]' for help on them.
λ pytest --fixtures
======================================================= test session starts ======================================================= platform win32 -- Python 3.6.8, pytest-4.6.3, py-1.8.0, pluggy-0.12.0
rootdir: C:UsersdbakDownloadscmder
plugins: allure-pytest-2.7.0, dash-1.7.0, flaky-3.6.0, check-0.3.5, cov-2.10.0, html-1.21.1, metadata-1.8.0, mock-1.10.4, profiling-1.7.0
Что может быть основной причиной этого? Как я могу это исправить?
Ответ №1:
Это означает, что не вызывается никакое приспособление selenium
.
Вероятно, вам нужно инициализировать селен. Вы можете сделать это внутри каждой функции, которую хотите использовать, но это довольно раздражает. Поэтому лучшей альтернативой является добавление функции conftest.py
. Таким образом, вы можете продолжать использовать selenium
в качестве аргумента для своих тестовых функций.
import pytest
@pytest.fixture()
def selenium():
#do some initialisation for selenium here.
return your_selenium_instance