Skip to content

Conversation

@jyapayne
Copy link
Collaborator

@jyapayne jyapayne commented Sep 1, 2020

I created a library called halonium that is the Nim version of s python selenium. It has the ability to use any of the web drivers and handles errors and thread management. I think it makes sense to use it here vs webdriver due to the current situation with Firefox having a bug in version 80 where clicks on popups don't register.

Since halonium can work with any browser, if the tests don't work on one browser, we can run it on any other one.

@jyapayne
Copy link
Collaborator Author

jyapayne commented Sep 1, 2020

Since these changes only affect testing, I'm going to merge them in without a review since they make testing possible again for me by using createSession(Chrome) because of geckodriver + Firefox's current issues.

@jyapayne jyapayne merged commit b2932e9 into nim-lang:master Sep 1, 2020
@jyapayne jyapayne deleted the change-to-halonium branch September 1, 2020 13:14
@dom96
Copy link
Contributor

dom96 commented Sep 1, 2020

Whoa, what, webdriver can also work with any browser (and from what I can see the support is definitely there for even Chrome nowadays). Furthermore, I specifically implemented it as it is the next thing which is getting adoption by all the major vendors: https://github.com/w3c/webdriver#vendor-status-documents.

I really wish you didn't just merge this without review. Quite frustrating to see from my perspective. Please do not do this sort of thing. I'm afraid that I will be reverting this. Replacing the library completely because of one bug is not the way to go, and webdriver is signficantly smaller than halonium, the less complexity the better especially when it comes to testing.

@jyapayne
Copy link
Collaborator Author

jyapayne commented Sep 1, 2020

I didn't mean to offend you and I apologize for merging without review, but I thought it would be okay since this doesn't affect anything besides tests. I won't do it again, but I would ask you to consider adding halonium because I wrote it to also follow the webdriver standard and I think having more options to run the tests is a good thing when issues like this pop up.

@dom96
Copy link
Contributor

dom96 commented Sep 1, 2020

No harm done, I probably overreacted to be fair. Sorry about that!

But I'm still not sure what Halonium brings over the plain webdriver, browser support seems to be basically on par for both.

@jyapayne
Copy link
Collaborator Author

jyapayne commented Sep 2, 2020

No worries. I overstepped a bit as well :)

True. Mainly halonium manages all of subprocess communication so you don't have to worry about it and also provides some of the convenience procs that I wrote for this repo in the common.nim file.

@jyapayne
Copy link
Collaborator Author

jyapayne commented Sep 2, 2020

I was originally going to extend your webdriver project, but I figured the two projects had different goals. Yours is meant to be a lean interface and I wanted mine to be all inclusive.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants