Best Python code snippet using pypom_form_python
test.py
Source:test.py
...57 page = FrontPage(self.driver, BASE_URL)58 page.open()59 def e_submit_valid_contact_data(self, data):60 page = FrontPage(self.driver, BASE_URL)61 page.contact_form.wait_for_region_to_load()62 name = fake.valid_name()63 email = fake.valid_email()64 phone = fake.valid_phone()65 subject = fake.valid_subject()66 description = fake.valid_description()67 # variables could be saved in python side, in this object, but we'll need to share them between models which use a different class & o§bject68 # self.name = fake.valid_name()69 # self.subject = fake.valid_subject()70 data['global.last_contact_name'] = name71 data['global.last_contact_email'] = email72 data['global.last_contact_phone'] = phone73 data['global.last_contact_subject'] = subject74 data['global.last_contact_description'] = description75 page.contact_form.fill_contact_data(76 name=name, email=email, phone=phone, subject=subject, description=description)77 def v_contact_successful(self, data):78 page = FrontPage(self.driver, BASE_URL)79 # if we saved variables in the object itself...80 # self.assertEqual(page.contact_form.contact_feedback_message,81 # f"Thanks for getting in touch {self.name}!\nWe'll get back to you about\n{self.subject}\nas soon as possible.")82 name = data['last_contact_name']83 subject = data['last_contact_subject']84 self.assertEqual(page.contact_form.contact_feedback_message,85 f"Thanks for getting in touch {name}!\nWe'll get back to you about\n{subject}\nas soon as possible.")86 def v_contact_unsuccessful(self):87 page = FrontPage(self.driver, BASE_URL)88 self.assertTrue(page.contact_form.is_error_message_present,89 "error message must be present")90 def v_frontpage_can_contact(self):91 page = FrontPage(self.driver, BASE_URL)92 self.assertTrue(page.contact_form.is_form_available,93 "contact form is unavailable for submission")94 def v_start(self):95 pass96class ContactForm(BaseModel):97 def e_submit_invalid_contact_data(self):98 page = FrontPage(self.driver, BASE_URL)99 page.contact_form.wait_for_region_to_load()100 name = ""101 email = ""102 phone = ""103 subject = ""104 description = ""105 invalid = False106 # randomly generate invalid contact fields (at least one of them)107 if fake.pyint(max_value=1) > 0:108 name = fake.invalid_name()109 else:110 name = fake.valid_name()111 invalid = True112 if fake.pyint(max_value=1) > 0:113 email = fake.invalid_email()114 else:115 email = fake.valid_email()116 invalid = True117 if fake.pyint(max_value=1) > 0:118 phone = fake.invalid_phone()119 else:120 phone = fake.valid_phone()121 invalid = True122 if fake.pyint(max_value=1) > 0:123 subject = fake.invalid_subject()124 else:125 subject = fake.valid_subject()126 invalid = True127 if fake.pyint(max_value=1) > 0 or invalid:128 description = fake.invalid_description()129 else:130 description = fake.valid_description()131 page.contact_form.fill_contact_data(132 name=name, email=email, phone=phone, subject=subject, description=description)133class ContactFormDetailed(BaseModel):134 def e_submit_invalid_contact_name(self):135 page = FrontPage(self.driver, BASE_URL)136 page.contact_form.wait_for_region_to_load()137 page.contact_form.fill_contact_data(138 name=fake.invalid_name(), email=fake.valid_email(), phone=fake.valid_phone(), subject=fake.valid_subject(), description=fake.valid_description())139 def e_submit_invalid_contact_email(self):140 page = FrontPage(self.driver, BASE_URL)141 page.contact_form.wait_for_region_to_load()142 page.contact_form.fill_contact_data(143 name=fake.valid_name(), email=fake.invalid_email(), phone=fake.valid_phone(), subject=fake.valid_subject(), description=fake.valid_description())144 def e_submit_invalid_contact_phone(self):145 page = FrontPage(self.driver, BASE_URL)146 page.contact_form.wait_for_region_to_load()147 page.contact_form.fill_contact_data(148 name=fake.valid_name(), email=fake.valid_email(), phone=fake.invalid_phone(), subject=fake.valid_subject(), description=fake.valid_description())149 def e_submit_invalid_contact_subject(self):150 page = FrontPage(self.driver, BASE_URL)151 page.contact_form.wait_for_region_to_load()152 page.contact_form.fill_contact_data(153 name=fake.valid_name(), email=fake.valid_email(), phone=fake.valid_phone(), subject=fake.invalid_subject(), description=fake.valid_description())154 def e_submit_invalid_contact_message(self):155 page = FrontPage(self.driver, BASE_URL)156 page.contact_form.wait_for_region_to_load()157 page.contact_form.fill_contact_data(158 name=fake.valid_name(), email=fake.valid_email(), phone=fake.valid_phone(), subject=fake.valid_subject(), description=fake.invalid_description())159class MessageBackoffice(BaseModel):160 def e_click_admin_panel(self):161 page = FrontPage(self.driver)162 page.click_admin_panel()163 def e_admin_click_rooms(self):164 page = AdminPage(self.driver)165 page.click_rooms()166 def e_click_frontpage(self):167 page = AdminPage(self.driver)168 page.click_frontpage()169 def e_admin_click_inbox(self):170 page = AdminPage(self.driver)...
test_region.py
Source:test_region.py
...5from mock import Mock6from pypom import Region7class TestWaitForRegion:8 def test_wait_for_region(self, page):9 assert isinstance(Region(page).wait_for_region_to_load(), Region)10 def test_wait_for_region_timeout(self, page):11 class MyRegion(Region):12 def wait_for_region_to_load(self):13 self.wait.until(lambda s: False)14 page.timeout = 015 from selenium.common.exceptions import TimeoutException16 with pytest.raises(TimeoutException):17 MyRegion(page)18 def test_wait_for_region_timeout_loaded(self, page):19 class MyRegion(Region):20 @property21 def loaded(self):22 return False23 page.timeout = 024 from selenium.common.exceptions import TimeoutException25 with pytest.raises(TimeoutException):26 MyRegion(page)...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!