def get_contact_info_from_edit_page(self, index): wd = self.app.wd self.view_contact_by_index_edit_page(index) # person data first_name_ep = wd.find_element_by_name("firstname").get_attribute( "value") last_name_ep = wd.find_element_by_name("lastname").get_attribute( "value") contact_id_ep = wd.find_element_by_name("id").get_attribute("value") address_ep = wd.find_element_by_name("address").get_attribute("value") # emails email_ep = wd.find_element_by_name("email").get_attribute("value") email2_ep = wd.find_element_by_name("email2").get_attribute("value") email3_ep = wd.find_element_by_name("email3").get_attribute("value") # phones home_phone_ep = wd.find_element_by_name("home").get_attribute("value") mobile_phone_ep = wd.find_element_by_name("mobile").get_attribute( "value") work_phone_ep = wd.find_element_by_name("work").get_attribute("value") secondary_home_ep = wd.find_element_by_name("phone2").get_attribute( "value") return Contact(first_name_value=first_name_ep, last_name_value=last_name_ep, contact_id_value=contact_id_ep, address_value=address_ep, email_value=email_ep, email2_value=email2_ep, email3_value=email3_ep, home_phone_value=home_phone_ep, work_phone_value=work_phone_ep, mobile_phone_value=mobile_phone_ep, secondary_home_value=secondary_home_ep)
def test_delete_some_contact(app, db, check_ui): contact = Contact(first_name_value="Firstname", middle_name_value="Middlename", last_name_value="Lastname", nickname_value="Nickname", title_value="Title", company_value="Company", address_value="123456, address_city, address_street, address_home", home_phone_value="123456_home_phone", mobile_phone_value="123456_mobile_phone", work_phone_value="123456_work_phone", fax_value="123456_fax", email_value="*****@*****.**", email2_value="*****@*****.**", email3_value="*****@*****.**", homepage_value="https://home_page.com", bday_value="1", bmonth_value="January", byear_value="2000", aday_value="1", amonth_value="January", ayear_value="2020", secondary_address_value="Second address", secondary_home_value="Second home", secondary_notes_value="Notes") if app.contact.count_contacts() == 0: app.contact.create(contact) old_contacts = db.get_contact_list() contact = random.choice(old_contacts) # index = randrange(len(old_contacts)) # app.contact.delete_contact_by_index(index) app.contact.delete_contact_by_id(contact.contact_id) new_contacts = db.get_contact_list() assert len(old_contacts) - 1 == len(new_contacts) old_contacts.remove(contact) assert old_contacts == new_contacts if check_ui: assert sorted(new_contacts, key=Contact.id_or_max) == sorted(app.contact.get_contact_list(), key=Contact.id_or_max)
def get_contact_info_from_view_page(self, index): wd = self.app.wd self.view_contact_by_index_details(index) contact_text = wd.find_element_by_id("content").text home_phone_details = re.search("H: (.*)", contact_text).group(1) mobile_phone_details = re.search("M: (.*)", contact_text).group(1) work_phone_details = re.search("W: (.*)", contact_text).group(1) secondary_phone_details = re.search("P: (.*)", contact_text).group(1) return Contact(home_phone_value=home_phone_details, work_phone_value=work_phone_details, mobile_phone_value=mobile_phone_details, secondary_home_value=secondary_phone_details)
def get_contact_list(self): contact_list = [] cursor = self.connection.cursor() try: cursor.execute( "select id, firstname, lastname from addressbook where deprecated='0000-00-00 00:00:00'" ) for row in cursor: (contact_id, firstname, lastname) = row contact_list.append( Contact(contact_id_value=str(contact_id), first_name_value=firstname, last_name_value=lastname)) finally: cursor.close() return contact_list
def get_contact_list(self): if self.contact_cache is None: wd = self.app.wd self.return_to_homepage() self.contact_cache = [] for contacts_rows in wd.find_elements_by_name("entry"): contacts_cells = contacts_rows.find_elements_by_tag_name("td") local_contact_firstname = contacts_cells[2].text local_contact_lastname = contacts_cells[1].text local_contact_address = contacts_cells[3].text all_emails = contacts_cells[4].text all_phones = contacts_cells[5].text local_contact_id = contacts_cells[0].find_element_by_tag_name( "input").get_attribute("value") self.contact_cache.append( Contact(first_name_value=local_contact_firstname, last_name_value=local_contact_lastname, address_value=local_contact_address, all_emails_from_home_page_value=all_emails, contact_id_value=local_contact_id, all_phones_from_home_page_value=all_phones)) return list(self.contact_cache)
def convert(contact): return Contact(contact_id_value=str(contact.contact_id), first_name_value=contact.firstname, last_name_value=contact.lastname)
import random import string test_data = [ Contact(first_name_value="first_name_constant_1", middle_name_value="middle_name_constant_1", last_name_value="last_name_constant_1", nickname_value="nickname_constant_1", title_value="title_constant_1", company_value="company_constant_1", address_value="address_constant_1", home_phone_value="home_phone_constant_1", mobile_phone_value="mobile_phone_constant_1", work_phone_value="work_phone_constant_1", fax_value="fax_constant_1", email_value="email_constant_1", email2_value="email2_constant_1", email3_value="email3_constant_1", homepage_value="homepage_constant_1", bday_value="3", bmonth_value="March", byear_value="2003", aday_value="4", amonth_value="April", ayear_value="2004", secondary_address_value="secondary_address_constant_1", secondary_home_value="secondary_home_constant_1", secondary_notes_value="secondary_notes_constant_1"), Contact(first_name_value="first_name_constant", middle_name_value="middle_name_constant", last_name_value="last_name_constant", nickname_value="nickname_constant",
"August", "September", "October", "November", "December" ] return random.choice(months) def random_year(): year = str(random.randrange(1970, 2021)) return year test_data_for_contact = [Contact(first_name_value="", middle_name_value="", last_name_value="", nickname_value="", title_value="", company_value="", address_value="", home_phone_value="", mobile_phone_value="", work_phone_value="", fax_value="", email_value="", email2_value="", email3_value="", homepage_value="", bday_value="-", bmonth_value="-", byear_value="", aday_value="-", amonth_value="-", ayear_value="", secondary_address_value="", secondary_home_value="", secondary_notes_value="")] + \ [Contact(first_name_value=random_string("first_name", 10), middle_name_value=random_string("middle_name", 10), last_name_value=random_string("last_name", 10), nickname_value=random_string("nickname", 10), title_value=random_string("title", 20), company_value=random_string("company_name", 20), address_value=random_string("address", 40), home_phone_value=random_string("home_phone", 10), mobile_phone_value=random_string("mobile_phone", 10), work_phone_value=random_string("work_phone", 10),
def test_edit_contact(app, db, check_ui): contact = Contact( first_name_value="Firstname", middle_name_value="Middlename", last_name_value="Lastname", nickname_value="Nickname", title_value="Title", company_value="Company", address_value="123456, address_city, address_street, address_home", home_phone_value="123456_home_phone", mobile_phone_value="123456_mobile_phone", work_phone_value="123456_work_phone", fax_value="123456_fax", email_value="*****@*****.**", email2_value="*****@*****.**", email3_value="*****@*****.**", homepage_value="https://home_page.com", bday_value="1", bmonth_value="January", byear_value="2000", aday_value="1", amonth_value="January", ayear_value="2020", secondary_address_value="Second address", secondary_home_value="Second home", secondary_notes_value="Notes") new_contact_data = Contact( first_name_value="Edit_name_test", middle_name_value="Edit_middle_name_test", last_name_value="Edit_last_name_test", nickname_value="edit_nickname_test", title_value="edit_title_test", company_value="edit_company_test", address_value="edit_address_test", home_phone_value="edit_home_phone_test", mobile_phone_value="edit_mobile_phone_test", work_phone_value="edit_work_phone_test", fax_value="edit_fax_test", email_value="edit_email_test", email2_value="edit_email2_test", email3_value="edit_email3_test", homepage_value="edit_homepage_test", bday_value="12", bmonth_value="November", byear_value="2020", aday_value="13", amonth_value="November", ayear_value="2023", secondary_address_value="edit_second_address_test", secondary_home_value="edit_second_home_test", secondary_notes_value="edit_notes_test") if app.contact.count_contacts() == 0: app.contact.create(contact) # получаем список контактов из БД old_contacts = db.get_contact_list() # выбираем из списка случайный контакт contact = random.choice(old_contacts) # модифицируем контакт app.contact.edit_contact_by_id(contact.contact_id, new_contact_data) # получаем новый список контактов new_contacts = db.get_contact_list() # ищем отредактированный контакт по id new_contact = next(x for x in new_contacts if x.contact_id == contact.contact_id) # в старом списке удаляем старый контакт old_contacts.remove(contact) # на его место добавляем новый отредактированный old_contacts.append(new_contact) # сравниваем длины старого и нового списков assert len(old_contacts) == len(new_contacts) if check_ui: assert sorted(old_contacts, key=Contact.id_or_max) == sorted(new_contacts, key=Contact.id_or_max)