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