我在github上找到了一个样板,并希望将POM设计集成到我的BDD框架与Python-Behave和Selenium。我的python不好
class Page(object):
def __init__(self, browser, base_url = 'https://someUrl.com'):
self.base_url = base_url
self.browser = browser
self.timeout = 30
def open(self,url):
self.browser.get(url)
class LoginPage(Page):
def visit_login_page(self, url):
self.open(url)
---
from pages import *
@when('a valid user clicking on the login button after typing in user name and password')
def step_impl(context):
page = LoginPage(context)
page.visit_login_page("https://someUrl.com")
#AttributeError: 'Context' object has no attribute 'get'
-
环境.py
from selenium import webdriver
def before_all (context):
#define a Chrome browser instance
context.browser = webdriver.Chrome()
context.browser.maximize_window()
context.browser.implicitly_wait(2)
def after_all(context):
context.browser.quit()
更新
如果我这样做:
page = LoginPage(context.browser)
erros:
'LoginPage' object has no attribute 'visit_login_page'
尝试以下:
我的基本页面(您的页面):
class BasePage(object):
def __init__(self, browser):
self.browser = browser
和我的一个页面之一(登录页面):
class LoginPage(BasePage):
def __init__(self, context):
BasePage.__init__(
self,
context.browser)
self.context = context