由于我是面向对象编程的新手,这似乎是一个陈腐的问题。
我正在尝试编写一个基本的最终用户测试框架,它有一个带有大部分方法代码的Pageobject类。
我有一个测试脚本,它在顶层实例化selenium驱动程序,然后我有许多Page对象方法调用“do stuff”。
如果我在顶层实例化驱动程序,那么我需要将驱动程序对象传递给任何需要它的方法,这很好但是我想最小化传递给方法调用的参数数量以减少可读性
例如。 home_page.login(this_user)比home_page.login(this_user,selenium_driver)读得更好。
我知道全局变量是不受欢迎的,所以所有方法都可以访问不同范围内的对象。
答案 0 :(得分:1)
我通过初始化所有Page对象的PageRepo类访问测试中的所有Page对象。
我在我的测试类继承的基类中初始化PageRepo类。这也是我初始化WebDriver的地方。
所以我的测试看起来像这样。
PageRepo.HomePage()。DoSomething的()