[12:51:30] <dstufft> then you'll need do do something like ``pip install packaging > /dev/null && python -c 'import sys,packaging.version; print(str(packaging.version.parse(sys.argv[1])))' '1.0-dev-0'``
[21:17:34] <ionelmc> check it out, imo it's nicer than bok-choi
[21:18:14] <ionelmc> (i haven't used bok-choi, but the structure it enforces ticks me off)
[21:29:41] <dstufft> ionelmc: doesn't this have the problem that your test cases end up all having your HTML layout baked into them instead of centralizing that around a single class ?
[21:32:58] <ionelmc> dstufft: not sure what you're getting at; you can make assertions helpers or subclass/wrap the Browser object if things get too complex
[21:33:46] <dstufft> ionelmc: I guess I don't understand waht you don't like about bok-choy
[21:34:39] <ionelmc> dstufft: i don't like that it forces you to structure the tests in classes
[21:34:57] <ionelmc> maybe i just don't get their intro, it's very vague
[21:36:42] <ionelmc> then again, i don't like unittest and mock, so there's bias :-)
[21:37:33] <dstufft> Oh, you encapsulate logic inside of classes, like instead of doing browser.cssslect("div.project-title") # Hypthetical query method in every test that needs to get that information from your page (and thus, changing your HTML requires updating every test case) you make a class that has a method like def project_title(self): self.browser.cssselect("div.project-title"), and then just use that method in your tests
[21:37:46] <dstufft> I don't think it needs your tests themselves to be in classes
[21:37:57] <dstufft> you just make an object to encapsulate your page
[21:43:45] <dstufft> I'll take a look at pytest-splinter though, I'm still in my experimentation phase with a selnium testing setup
[21:49:38] <ionelmc> i still don't get why you need that is_browser_on_page method
[22:34:52] <dstufft> ionelmc: to make sure that your assumption (that the browser is currently on X page) matches reality. In particular, it ensures that you're running your tests on the page you think you are, so that you don't accidently have a passing test (or a more confusing error) if, for example, you're accidently redirecting people to the wrong page after a POST or something