2016-12-19 10 views
0

Я нашел шаблон на github и хотел интегрировать дизайн POM в мою структуру BDD с помощью Python-Behave и Selenium. Моя Python не хорошо, и я получаю эту ошибку: AttributeError: 'Контекст' объект не имеет атрибута 'получить'Как соединить вещи в Python-Behave и Selenium Page Object Model

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) 

это erros:

'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 

 Смежные вопросы

  • Нет связанных вопросов^_^