Guest User

Untitled

a guest
Apr 19th, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.78 KB | None | 0 0
  1. ##########################################
  2. # My Page Object in project/module/pages
  3. ##########################################
  4.  
  5. from saunter.po.webdriver.page import Page
  6. from saunter.po.webdriver.text import Text
  7. from saunter.po import string_timeout, timeout_seconds
  8. from saunter.SeleniumWrapper import SeleniumWrapper as se_wrapper
  9. from saunter.exceptions import ElementVisiblityTimeout
  10. import time
  11. from saunter.ConfigWrapper import ConfigWrapper as cfg_wrapper
  12. from saunter.SaunterWebDriver import SaunterWebDriver
  13.  
  14. locators = {
  15.   "username": "name=name",
  16.   "password": "name=pass",
  17.   "submit_button": "name=op",
  18. }
  19.  
  20. class UsernameTextElement(Text):
  21.   def __init__(self):
  22.     self.locator = locators["username"]
  23.  
  24. class PasswordTextElement(Text):
  25.   def __init__(self):
  26.     self.locator = locators["password"]
  27.        
  28. class LoginPage(Page):
  29.   #: username text field
  30.   username = UsernameTextElement()
  31.   #: password text field
  32.   password = PasswordTextElement()
  33.  
  34.   def __init__(self):
  35.     self.driver = se_wrapper().connection
  36.     self.config = cfg_wrapper().config
  37.  
  38.   def go_to_login(self):
  39.     self.driver.get("%s/test.html" % self.config.get("Selenium", "base_url"))
  40.  
  41.   def do_login(self):
  42.     """
  43.    Does the form submission
  44.    """
  45.     SaunterWebDriver.find_element_by_locator(locators['submit_button']).click()
  46.  
  47. ##########################################
  48. # My Script in project/scripts
  49. ##########################################
  50.  
  51. from saunter.testcase.webdriver import SaunterTestCase
  52. from pages.LoginPage import LoginPage
  53. import pytest
  54.  
  55. class TestLogin(SaunterTestCase):
  56.   @pytest.marks('shallow', 'login')
  57.   def test_correct_login(self):
  58.     l = LoginPage()
  59.     l.go_to_login()
  60.     l.username = "admin"
  61.     l.password = "password"
  62.     l.do_login()
Add Comment
Please, Sign In to add comment