Я запустил новый проект селена и создал класс генератора пользователя для теста страницы регистра.
это класс:
import json
import random
class UserGenerator:
last_user = None
@staticmethod
def read_file():
with open('E:\\users.json', 'r') as users:
user_list = []
users_dict = json.load(users)
for user in users_dict:
user_list.append(user)
return user_list
def generate(self):
users = self.read_file()
generated_user = users[random.randint(0, len(users) - 1)]
self.last_user = generated_user
return generated_user
класс работает нормально, и регистр успешно, но я не могу найти способ сохранить последнего сгенерированного пользователя (чтобы я мог войти с ним позже).
edit:
это страница регистрации
class CreateAccountPage(BasePage):
user_gen = UserGenerator()
def __init__(self, driver):
super().__init__(driver)
self.driver = driver
def register(self, user):
self.element_send_keys(data=user["Email"], locator=self.__EMAIL_FIELD, locator_type="name")
self.element_send_keys(data=user["First Name"], locator=self.__FIRST_NAME_FIELD)
self.element_send_keys(data=user["Last Name"], locator=self.__LAST_NAME_FIELD)
self.element_send_keys(data=user["Password"], locator=self.__PASSWORD_FIELD)
self.element_send_keys(data=user["Password"], locator=self.__REPEAT_PASSWORD_FIELD)
self.element_click(locator=self.__CREATE_ACCOUNT_BTN, locator_type="xpath")
def register_new_user(self):
new_user = self.user_gen.generate()
self.register(new_user)
def register_last_user(self):
last_user = self.user_gen.last_user
self.register(last_user)
это страница входа:
class LoginPage(BasePage):
def __init__(self, driver):
super().__init__(driver)
self.driver = driver
def login(self, user):
self.element_send_keys(data=user["Email"], locator=self.__EMAIL_FIELD)
self.element_send_keys(data=user["Password"], locator=self.__PASSWORD_FIELD)
self.element_click(locator=self.__LOGIN_BTN, locator_type="xpath")
def is_logged_in(self):
return self.is_element_present(element=self.header.get_user_btn())
как я могу взять последнего зарегистрированного пользователя со страницы регистрации и использовать его на странице входа wi