采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
目前我们公司的App很适合像老师这样的分层Page->Handle->Business->Case. 因此就想用这个结构来写。 但如果一个Business是在多个页面点击跳转的结果,如何能让driver保证是同一个? 如果在Business层里实例化多个Handle,这样是会产生多个driver。
去掉在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()
发现构造方法写错了。。。。改成如下,解决了 def __init__(self,driver): self.driver = driver self.idle_handle = IdleHandle(self.driver) self.login_handle = LoginHandle(self.driver)
不错不错。加油哟
我发现我这样写还是有问题,在test case里要是调用多个business,每个business里的driver还是不一样的。
登录后可查看更多问答,登录/注册
APP自动化基础知识、po模型、关键字模型、服务自动化、持续集成
1.5k 25
2.8k 15
8.9k 14
2.4k 14
1.6k 13