summary refs log tree commit diff
path: root/gnu/packages/guile-xyz.scm
diff options
context:
space:
mode:
authorArtyom V. Poptsov <poptsov.artyom@gmail.com>2024-08-03 22:11:04 +0300
committerAndreas Enge <andreas@enge.fr>2024-08-22 12:09:22 +0200
commit4c194859f7c5956b03a4ccaa1c9ad22576c80c59 (patch)
tree17a2b6f2b9684fe00f17a4a13aaf03076d2b721b /gnu/packages/guile-xyz.scm
parent9964fafffd440bd78152375b93661cc39152c1a2 (diff)
downloadguix-4c194859f7c5956b03a4ccaa1c9ad22576c80c59.tar.gz
gnu: Add guile-web-driver-ng.
* gnu/packages/guile-xyz.scm (guile-web-driver-ng): New variable.

Change-Id: I97f979ccbfe1d9f4e43b7f9a5730e092e36129a0
Signed-off-by: Andreas Enge <andreas@enge.fr>
Diffstat (limited to 'gnu/packages/guile-xyz.scm')
-rw-r--r--gnu/packages/guile-xyz.scm44
1 files changed, 44 insertions, 0 deletions
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index b2ef31ebf7..aa76899c7d 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -4893,6 +4893,50 @@ as signed sessions, multipart message support, etc.")
     (propagated-inputs
      (list guile2.2-irregex guile2.2-gcrypt))))
 
+(define-public guile-web-driver-ng
+  (package
+    (name "guile-web-driver-ng")
+    (version "1.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/artyom-poptsov/guile-web-driver-ng")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0saljgf3kj3p9b1mk5211s8np2vwkzf072xp6j2xnc10vdn891ja"))))
+    (build-system gnu-build-system)
+    (native-inputs (list autoconf
+                         automake
+                         pkg-config
+                         texinfo
+                         ;; needed when cross-compiling.
+                         guile-lib
+                         guile-json-4
+                         guile-gnutls
+                         guile-3.0))
+    (propagated-inputs (list guile-json-4 guile-gnutls guile-lib guile-3.0
+                             inetutils))
+    (arguments
+     (list
+      #:phases #~(modify-phases %standard-phases
+                   (delete 'strip))))
+    (home-page "https://github.com/artyom-poptsov/guile-web-driver-ng")
+    (synopsis "Web driver (Selenium) client for Guile")
+    (description
+     "This is a web-driver, or Selenium 2, client.  It's purpose is to automate
+browsers, specifically for automatic web server testing.  Chrome or Firefox can be
+used as the automated browsers, or it can connect to arbitrary server providing
+webdriver interface.  The client implements most of the WebDriver
+@url{https://www.w3.org/TR/webdriver2/, specification}.
+
+@code{guile-web-driver-ng} also provides a proxy implemented as a Guile module.  If
+configured, the proxy can intercept and modify HTTP/HTTPS traffic (for example, add,
+delete and replace HTTP headers) which is useful for Selenium WebDriver as it does
+not provide a way to change the headers on its own.")
+    (license license:gpl3+)))
+
 (define-public guile-lens
   (let ((commit "14b15d07255f9d3f55d40a3b750d13c9ee3a154f")
         (revision "0"))