marionette-1.0.0: marionette.cabal
cabal-version: 3.0
name: marionette
version: 1.0.0
category: Web
synopsis: Marionette protocol for Firefox
description:
Marionette is an automation driver for Mozilla’s Gecko engine. It can remotely control either the UI or the internal JavaScript of a Gecko platform, such as Firefox. It can control both the chrome (i.e. menus and functions) or the content (the webpage loaded inside the browsing context), giving a high level of control and ability to replicate user actions. In addition to performing actions on the browser, Marionette can also read the properties and attributes of the DOM.
If this sounds similar to <https://dvcs.w3.org/hg/webdriver/raw-file/tip/webdriver-spec.html Selenium/WebDriver> then you’re correct! Marionette shares much of the same ethos and API as Selenium/WebDriver, with additional commands to interact with Gecko’s chrome interface. Its goal is to replicate what Selenium does for web content: to enable the tester to have the ability to send commands to remotely control a user agent.
license: EUPL-1.2
license-file: LICENCE
author: IDA
maintainer: IDA
homepage: https://digital-autonomy.institute
bug-reports: https://issues.digital-autonomy.institute
build-type: Simple
extra-doc-files:
CHANGELOG.md
common common
default-language: Haskell2010
ghc-options:
-Weverything
-Wno-unsafe
-Wno-missing-safe-haskell-mode
-Wno-missing-export-lists
-Wno-missing-import-lists
-Wno-missing-kind-signatures
-Wno-all-missed-specialisations
-Wno-missing-role-annotations
default-extensions:
ApplicativeDo
BlockArguments
ConstraintKinds
DataKinds
DefaultSignatures
DeriveAnyClass
DeriveGeneric
DerivingStrategies
DerivingVia
ExplicitNamespaces
FlexibleContexts
FlexibleInstances
GeneralisedNewtypeDeriving
ImportQualifiedPost
InstanceSigs
LambdaCase
MultiParamTypeClasses
NamedFieldPuns
NoImplicitPrelude
NumericUnderscores
OverloadedLabels
OverloadedRecordDot
OverloadedStrings
RecordWildCards
RecursiveDo
ScopedTypeVariables
Trustworthy
TupleSections
TypeApplications
TypeFamilies
TypeOperators
ViewPatterns
build-depends:
aeson >=2.2 && <2.3,
base >=4.16 && <5,
bytestring >=0.12 && <0.13,
text >=2.1 && <2.2,
library
import: common
hs-source-dirs: src
build-depends:
base64-bytestring >=1.2 && <1.3,
binary >=0.8 && <0.9,
binary-parsers >=0.2 && <0.3,
containers >=0.7 && <0.8,
exceptions >=0.10 && <0.11,
hashable >=1.5 && <1.6,
mtl >=2.3 && <2.4,
network >=3.2 && <3.3,
network-simple >=0.4.5 && <0.5,
retry >=0.9 && <0.10,
unliftio >=0.2 && <0.3,
exposed-modules:
Test.Marionette
Test.Marionette.AccessibilityProperties
Test.Marionette.Class
Test.Marionette.Client
Test.Marionette.Commands
Test.Marionette.Context
Test.Marionette.Cookie
Test.Marionette.Element
Test.Marionette.Frame
Test.Marionette.Orientation
Test.Marionette.Protocol
Test.Marionette.Rect
Test.Marionette.Registry
Test.Marionette.Selector
Test.Marionette.Timeouts
Test.Marionette.WebAuthn
Test.Marionette.Window
test-suite marionette-test
import: common
type: exitcode-stdio-1.0
ghc-options: -threaded
hs-source-dirs: test
main-is: Main.hs
build-depends:
hspec >=2.11 && <2.12,
hspec-expectations-lifted >=0.10 && <0.11,
http-types >=0.12 && <0.13,
lucid2 >=0.0 && <0.1,
marionette,
typed-process >=0.2 && <0.3,
wai >=3.2 && <3.3,
warp >=3.4 && <3.5,