Ugh
I was looking your code and I am not sure why you did make some of the implementations. Currently I cannot use the AnywhereLibrary for my application testing.
I did write small proof of concept and from that I am certain that I can use the underlying Appium and Selenium libraries in the way it is needed. But the PoC indicates that to get the AnywhereLibrary suitable for my needs, it would need go through re-factoring/rewrite.
Changes that I have in my mind:
- I would not keep the xml file as base for the desired capabilities. Instead I would give it as an argument in the Initial Driver keyword. Most likely some sort of dictionary
- For the interaction (Click, Type and so on) keywords, I would remove the waiting element to present logic. Making sure that element is present before interacting with it, should not be present in this level. I feel that in longer test runs, waiting element to be present before interacting with it, makes the test run last longer.
- My coding skills are not that great and sometimes I not get, why the logic is done in that way. Perhaps there is a good reason, but I did plan to simplify the logic.
- Write unit and acceptance test.
Now how you feel about? I know that changes might be too big, because you may have other needs, which are different from my needs. If you feel that changes that I propose are too big, then no hard feelings, I can understand it.
In any case I would like to get the project started. So please let me know what you think.
Br Tatu