在其他帖子中找不到我的问题的具体答案,所以在这里:
我需要从不同的类/模块修改静态类变量。我使用静态变量admin
获取了我的LoginPage类class LoginPage(BasePage):
#Users
admin = ["testemail1@gmail.com","Password1234!"]
basicUser = ["testemail1@gmail.com", "Password1234!"]
我得到了我的个人资料测试类,它使用了changepassword方法/测试:
class MyProfileTests(BaseTestCase, LoginPage):
def test_change_password(self):
try:
self.loginAs(self.basicUser)
MyProfilePage(self.driver).changePassword('Password007$$')
最后改变密码方法
def changePassword(self, new_password):
self.driver.find_element_by_xpath(self._change_pw).click()
password_fields = self.driver.find_elements_by_xpath(".//*[@class='form-group']/*/input")
password_fields[1].send_keys(new_password)
self.submit_button.click()
#Changing password for the LoginPage object
self._passwordChange(new_password)
def _passwordChange(self, password):
try:
self.driver.find_element(by=By.XPATH, value = '//*[contains(text(), "Password successfully changed.")]')
LoginPage.admin[1] = password
except NoSuchElementException:
pass
问题是它似乎没有改变实际的对象,即LoginPage.admin。这里的想法是每当我使用changePassword方法,如果我需要登录进行不同的测试,我不需要手动更新admin / basicuser的密码
答案 0 :(得分:0)
我想要做的似乎是动态修改LoginPage.py中的一行代码,这对我的代码不起作用,可能需要一些高级知识。我决定将所有登录保存在单独的.txt文件中,以解决问题