Business层如果涉及多个Handle, driver如何能保证是同一个
来源:2-8 封装business层

qq_毅笑而过_0
2020-03-13
目前我们公司的App很适合像老师这样的分层Page->Handle->Business->Case. 因此就想用这个结构来写。
但如果一个Business是在多个页面点击跳转的结果,如何能让driver保证是同一个?
如果在Business层里实例化多个Handle,这样是会产生多个driver。
写回答
1回答
-
qq_毅笑而过_0
提问者
2020-03-13
去掉在page层的driver创建,改在case的setup class里创建driver,然后driver传递->business->handle->page,可以解决多个页面同一个driver的问题。
但是为什么LoginBusiness里只执行了第一个页面的操作,第二个页面不操作也没有输出了呢?
from handle.login_handle import LoginHandle from handle.idle_handle import IdleHandle import time class LoginBusiness: def __init__(self,driver): self.idle_handle = IdleHandle(driver) self.login_handle = LoginHandle(driver) def login_pass(self): time.sleep(50) self.idle_handle.click_secret_button() ''' 以下都不执行了? ''' print("Wait for the login page") print("selfDriver of LoginBusiness is:") print(self.driver) self.driver.implicitly_wait(5000) self.login_handle.input_username('123') self.login_handle.input_password('321') self.login_handle.click_login()
052020-03-19
相似问题