2016-12-19 1 views
0

github에 대한 상용구가 있으며 Python-Behave 및 Selenium을 사용하여 BOM 프레임 워크에 POM 디자인을 통합하려고했습니다. 내 파이썬은 좋지 않다, 나는이 오류를 얻을 : AttributeError : '컨텍스트'개체가 어떤 속성 'GET'Python-Behave 및 Selenium 페이지 개체 모델을 함께 사용하는 방법

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' 

이 없습니다 -

environment.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() 

UPDATE

만약 내가 할 경우 :

page = LoginPage(context.browser) 

이하는 오류 :

내 기본 페이지 (페이지) :

'LoginPage' object has no attribute 'visit_login_page' 

답변

0

이 시도

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