def _test_can_access(self, page, user=None, can_access=True): _url = page.driver.current_url _title = page.title _id = page.id page.close() if user: page = LoginPage().log_in(user) page.driver.get(_url) if can_access: page = ProjectPage(driver=page.driver) self.assertEqual(page.title, _title) else: with self.assertRaises(PageException): page = ProjectPage(driver=page.driver) self.assertNotEqual(page.title, _title) page.close() else: if can_access: page = NodePage(url=_url) page.close() else: with self.assertRaises(PageException): ProjectPage(id=_id)
def __init__(self, headless, url): options: Options = Options() if headless: options.add_argument("--headless") self.url = url chrome_options = webdriver.ChromeOptions() self.driver = webdriver.Remote( command_executor="http://localhost:4444/wd/hub", options=chrome_options) self.login = LoginPage(self) self.product_list = ProductList(self) self.product = ProductPage(self) self.cart = CartPage(self) self.checkout = CheckoutPage(self) self.overview = OverviewPage(self) self.order_confirmation = OrderConfirmationPage(self) self.left_menu = LeftMenuPage(self) self.cart_icon = CartIconElement(self)
def _test_add_contributor_access(self, page): _url = page.driver.current_url second_user = helpers.create_user() page.add_contributor(second_user) self.assertIn(second_user.full_name, [x.full_name for x in page.contributors]) page.close() page = LoginPage() page.log_in(second_user) page.driver.get(_url) page = ProjectPage(driver=page.driver) self.assertIn( second_user.full_name, [x.full_name for x in page.contributors], ) page.close()
def user_login(self): # TODO: property changes state from pages.auth import LoginPage self.driver.get('{}/account'.format(config.osf_home)) return LoginPage(driver=self.driver)