-
-
Save KevM/6554377 to your computer and use it in GitHub Desktop.
**on** equals vs. contains compromise?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| let on (u: string) = | |
| try | |
| wait pageTimeout (fun _ -> browser.Url = u) | |
| with | |
| | ex -> if browser.Url.Contains(u) = false then raise (CanopyOnException(sprintf "on check failed, expected expression '%s' got %s" u browser.Url)); |
Author
Can you give an example. Not sure what would break compatibility.
Author
How about this:
url "http://localhost/path/action?id=1234"
on "http://localhost/path/action?id=1234" //should succeed
on "http://localhost/path/action" //should succeed
on "http://localhost/path/action/subaction" //should fail (currently succeeds)
let on expected =
let url = _browser.Url
if url = expected then true else whackQuerystring(url) = expectedI am suggesting that if the url does not match that on would whack the query string and compare again.
I see, your suggestion seems totally reasonable
Author
Cool I'll get you a PR when I get a chance sadly my laptop charger is busted so that means Monday.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I get that I can go my own way. Just hoping to help improve things. My first attempt at fixing it was to remove the query string from the test. What do you think about that. The problem I see is that it breaks compatibility.