|
135 | 135 | (e/wait-visible *driver* {:id :document-end}))
|
136 | 136 |
|
137 | 137 | (defmacro wait-url-change
|
138 |
| - [& body] |
| 138 | + [re & body] |
139 | 139 | `(let [old-url# (e/get-url *driver*)]
|
140 | 140 | ~@body
|
141 |
| - (e/wait-predicate (fn [] (not= old-url# (e/get-url *driver*))) |
| 141 | + (e/wait-predicate (fn [] (let [new-url# (e/get-url *driver*)] |
| 142 | + (and (not= old-url# new-url#) |
| 143 | + (re-find ~re new-url#)))) |
142 | 144 | {:timeout 30 ; 30 second timeout total
|
143 |
| - :interval 0.100 ; |
| 145 | + :interval 0.100 ; poll at 100 msec interval |
144 | 146 | :message "Timeout waiting for URL change"})))
|
145 | 147 |
|
146 | 148 | (deftest test-browser-conditionals
|
|
204 | 206 | (e/fill-multi *driver* {:simple-input 1
|
205 | 207 | :simple-password 2
|
206 | 208 | :simple-textarea 3})
|
207 |
| - (wait-url-change |
| 209 | + (wait-url-change #"login" |
208 | 210 | (e/submit *driver* :simple-input))
|
209 | 211 | (is (str/ends-with? (e/get-url *driver*) "?login=1&password=2&message=3")))
|
210 | 212 |
|
|
214 | 216 | (e/fill-multi *driver* {:simple-input 1
|
215 | 217 | :simple-password 2
|
216 | 218 | :simple-textarea 3})
|
217 |
| - (wait-url-change (e/click *driver* :simple-submit)) |
| 219 | + (wait-url-change #"login" (e/click *driver* :simple-submit)) |
218 | 220 | (is (str/ends-with? (e/get-url *driver*) "?login=1&password=2&message=3"))
|
219 | 221 | ;; Test with vector form
|
220 | 222 | (e/fill-multi *driver*
|
221 | 223 | [:simple-input 4
|
222 | 224 | :simple-password 5
|
223 | 225 | :simple-textarea 6])
|
224 |
| - (wait-url-change (e/click *driver* :simple-submit)) |
| 226 | + (wait-url-change #"login" (e/click *driver* :simple-submit)) |
225 | 227 | (is (str/ends-with? (e/get-url *driver*) "?login=4&password=5&message=6")))
|
226 | 228 | (testing "fill-multi bad inputs"
|
227 | 229 | (is (thrown+? [:type :etaoin/argument]
|
|
236 | 238 | {:simple-input "login"
|
237 | 239 | :simple-password "123"
|
238 | 240 | :simple-textarea "text"})
|
239 |
| - (wait-url-change (e/click *driver* :simple-submit)) |
| 241 | + (wait-url-change #"login" (e/click *driver* :simple-submit)) |
240 | 242 | (is (str/ends-with? (e/get-url *driver*) "?login=login&password=123&message=text"))
|
241 | 243 | ;; Test with vector form
|
242 | 244 | (e/fill-human-multi *driver*
|
243 | 245 | [:simple-input "login2"
|
244 | 246 | :simple-password "456"
|
245 | 247 | :simple-textarea "text2"])
|
246 |
| - (wait-url-change (e/click *driver* :simple-submit)) |
| 248 | + (wait-url-change #"login" (e/click *driver* :simple-submit)) |
247 | 249 | (is (str/ends-with? (e/get-url *driver*) "?login=login2&password=456&message=text2")))
|
248 | 250 | (testing "fill-human-multi bad inputs"
|
249 | 251 | (is (thrown+? [:type :etaoin/argument]
|
|
254 | 256 | (e/fill-multi *driver* [:vector :with :odd :length :is :not :allowed]))))
|
255 | 257 | (testing "fill multiple vars"
|
256 | 258 | (e/fill *driver* :simple-input 1 "test" 2 \space \A)
|
257 |
| - (wait-url-change (e/click *driver* :simple-submit)) |
| 259 | + (wait-url-change #"login" (e/click *driver* :simple-submit)) |
258 | 260 | (is (str/ends-with? (e/get-url *driver*) "?login=1test2+A&password=&message=")))
|
259 | 261 | (testing "fill active"
|
260 | 262 | (e/click *driver* :simple-input)
|
|
263 | 265 | (e/fill-active *driver* "MyPassword")
|
264 | 266 | (e/click *driver* :simple-textarea)
|
265 | 267 | (e/fill-active *driver* "Some text")
|
266 |
| - (wait-url-change (e/click *driver* :simple-submit)) |
| 268 | + (wait-url-change #"login" (e/click *driver* :simple-submit)) |
267 | 269 | (is (str/ends-with? (e/get-url *driver*)
|
268 | 270 | "?login=MyLogin&password=MyPassword&message=Some+text")))
|
269 | 271 | (testing "fill active human"
|
|
273 | 275 | (e/fill-human-active *driver* "MyPassword2")
|
274 | 276 | (e/click *driver* :simple-textarea)
|
275 | 277 | (e/fill-human-active *driver* "Some text 2")
|
276 |
| - (wait-url-change (e/click *driver* :simple-submit)) |
| 278 | + (wait-url-change #"login" (e/click *driver* :simple-submit)) |
277 | 279 | (is (str/ends-with? (e/get-url *driver*)
|
278 | 280 | "?login=MyLogin2&password=MyPassword2&message=Some+text+2"))))
|
279 | 281 |
|
|
312 | 314 | (testing "simple clear"
|
313 | 315 | (e/fill *driver* {:id :simple-input} "test")
|
314 | 316 | (e/clear *driver* {:id :simple-input})
|
315 |
| - (wait-url-change (e/click *driver* {:id :simple-submit})) |
| 317 | + (wait-url-change #"login" (e/click *driver* {:id :simple-submit})) |
316 | 318 | (is (str/ends-with? (e/get-url *driver*) "?login=&password=&message=")))
|
317 | 319 |
|
318 | 320 | (testing "multiple clear"
|
|
329 | 331 | :simple-input
|
330 | 332 | :simple-password
|
331 | 333 | :simple-textarea)
|
332 |
| - (wait-url-change (e/click *driver* {:id :simple-submit})) |
| 334 | + (wait-url-change #"login" (e/click *driver* {:id :simple-submit})) |
333 | 335 | (is (str/ends-with? (e/get-url *driver*) "?login=&password=&message="))))
|
334 | 336 |
|
335 | 337 | (deftest test-enabled
|
|
1140 | 1142 | (e/add-pointer-click-el textarea)
|
1141 | 1143 | e/add-pause
|
1142 | 1144 | (e/add-pointer-click-el submit))]
|
1143 |
| - (wait-url-change |
| 1145 | + (wait-url-change #"login" |
1144 | 1146 | (e/perform-actions *driver* keyboard mouse))
|
1145 | 1147 | (is (str/ends-with? (e/get-url *driver*) "?login=1&password=2&message=3")))))
|
1146 | 1148 |
|
|
0 commit comments