Skip to content

Commit 602e0ec

Browse files
authored
Add driver-type (#643)
* Add driver-type Adds a function named `driver-type` that returns the keyword appropriate for the specified `driver`. * Add test for driver-type * Use driver-type in User Guide, with test * Update CHANGELOG with driver-test * Add driver-type to API namespace TOC for docs
1 parent 70689f4 commit 602e0ec

File tree

4 files changed

+14
-2
lines changed

4 files changed

+14
-2
lines changed

CHANGELOG.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ A release with an intentional breaking changes is marked with:
2626
** {issue}620[#620]: Get stricter when unwrapping elements. ({person}dgr[@dgr])
2727
* Docs
2828
** {issue}559[#559]: Deprecate use of `:active` with `query` and other APIs that use `query` under the hood. ({person}dgr[@dgr])
29+
** {issue}642[#642]: Add `driver-type` to retrieve driver type keyword. ({person}dgr[@dgr])
2930

3031
== v1.1.41 [minor breaking] - 2024-08-14 [[v1.1.41]]
3132

doc/01-user-guide.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,8 @@ endif::[]
241241
242242
;; Start WebDriver for Firefox
243243
(def driver (e/firefox)) ;; a Firefox window should appear
244+
(e/driver-type driver)
245+
;; => :firefox
244246
245247
;; let's perform a quick Wiki session
246248

src/etaoin/api.clj

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
- [[with-edge]] [[with-edge-headless]] [[edge]] [[edge-headless]] [[when-edge]] [[when-not-edge]]
1414
- [[with-firefox]] [[with-firefox-headless]] [[firefox]] [[firefox-headless]] [[firefox?]] [[when-firefox]] [[when-not-firefox]]
1515
- [[with-safari]] [[safari]] [[safari?]] [[when-safari]] [[when-not-safari]]
16-
- [[driver?]] [[running?]] [[headless?]] [[when-headless]] [[when-not-headless]]
16+
- [[driver?]] [[driver-type]] [[running?]]
17+
- [[headless?]] [[when-headless]] [[when-not-headless]]
1718
- [[disconnect-driver]] [[stop-driver]] [[quit]]
1819
1920
**WebDriver Lower Level Comms**
@@ -2178,10 +2179,15 @@
21782179
;;
21792180

21802181
(defn driver?
2181-
"Return true if `driver` is of `type` (e.g. on of: `:chrome`, `:edge`, `:firefox`, `:safari`)"
2182+
"Return true if `driver` is of `type` (e.g. one of: `:chrome`, `:edge`, `:firefox`, `:safari`)"
21822183
[driver type]
21832184
(= (dispatch-driver driver) type))
21842185

2186+
(defn driver-type
2187+
"Returns the type of driver (e.g., `:chrome`, `:firefox`, `:safari`, or `:edge`)."
2188+
[driver]
2189+
(dispatch-driver driver))
2190+
21852191
(defn chrome?
21862192
"Returns true if a `driver` is Chrome."
21872193
[driver]

test/etaoin/api_test.clj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1078,6 +1078,9 @@
10781078
(->> (e/query-all-from-shadow-root *driver* {:id "shadow-root-host"} {:css "span"})
10791079
(mapv #(e/get-element-text-el *driver* %)))))))
10801080

1081+
(deftest test-driver-type
1082+
(is (#{:chrome :firefox :safari :edge} (e/driver-type *driver*))))
1083+
10811084
(deftest test-timeouts
10821085
(let [timeouts {:implicit 32134
10831086
:script 78921

0 commit comments

Comments
 (0)