1{ lib 2, buildPythonPackage 3, isPy27 4, fetchFromGitHub 5, urllib3 6, selenium 7, cssselect 8, django 9, flask 10, lxml 11, pytestCheckHook 12, zope-testbrowser 13}: 14 15buildPythonPackage rec { 16 pname = "splinter"; 17 version = "0.19.0"; 18 19 disabled = isPy27; 20 21 format = "setuptools"; 22 23 src = fetchFromGitHub { 24 owner = "cobrateam"; 25 repo = "splinter"; 26 rev = "refs/tags/${version}"; 27 hash = "sha256-K10zrQOM/khVcf+OT4s5UCY8zE2+nWtaAkRLy9/feU0="; 28 }; 29 30 propagatedBuildInputs = [ 31 urllib3 32 ]; 33 34 passthru.optional-dependencies = { 35 "zope.testbrowser" = [ zope-testbrowser lxml cssselect ]; 36 django = [ django lxml cssselect ]; 37 flask = [ flask lxml cssselect ]; 38 selenium = [ selenium ]; 39 }; 40 41 nativeCheckInputs = [ 42 pytestCheckHook 43 ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies); 44 45 disabledTests = [ 46 # driver is present and fails with a different error during loading 47 "test_browser_local_driver_not_present" 48 "test_browser_log_missing_drivers" 49 "test_local_driver_not_present" 50 ]; 51 52 disabledTestPaths = [ 53 "samples" 54 # We run neither Chromium nor Firefox nor ... 55 "tests/test_async_finder.py" 56 "tests/test_element_is_visible.py" 57 "tests/test_html_snapshot.py" 58 "tests/test_iframes.py" 59 "tests/test_mouse_interaction.py" 60 "tests/test_popups.py" 61 "tests/test_screenshot.py" 62 "tests/test_shadow_root.py" 63 "tests/test_webdriver.py" 64 "tests/test_webdriver_chrome.py" 65 "tests/test_webdriver_edge_chromium.py" 66 "tests/test_webdriver_firefox.py" 67 "tests/test_webdriver_remote.py" 68 ]; 69 70 pythonImportsCheck = [ "splinter" ]; 71 72 meta = with lib; { 73 description = "Browser abstraction for web acceptance testing"; 74 homepage = "https://github.com/cobrateam/splinter"; 75 license = licenses.bsd3; 76 maintainers = with maintainers; [ dotlambda ]; 77 }; 78}