E assert 'Dashboard - Leon CRM' in 'Leon CRM' E + where 'Leon CRM' = <selenium.webdriver.chrome.webdriver.WebDriver (session="1e02c84b8e24f72b5baf7d649b4e8925")>.title
时间: 2024-02-12 13:02:52 浏览: 25
这个断言失败的原因是 `'Leon CRM'` 这个字符串不包含 `'Dashboard - Leon CRM'` 这个子串,因此断言失败。原因是在断言语句中,被断言的字符串应该是页面标题,而不是字符串 `'Leon CRM'`。这个问题很可能是由于在调用 `test01_login_method` 函数时没有成功跳转到登录后的页面导致的。
为了解决这个问题,我们需要在 `test01_login_method` 函数中加入等待页面跳转的代码,确保登录成功后能够正确地跳转到下一个页面。可以使用 `WebDriverWait` 方法等待页面跳转,具体的代码如下所示:
```
class Test_Login_method(BasePage):
def test01_login_method(self, user, passwd):
self.get(LoginResources.URL_leons.value)
self.send_keys(LoginResources.LOC_账号, user)
self.send_keys(LoginResources.LOC_密码, passwd)
self.click(LoginResources.LOC_管理员)
self.click(LoginResources.LOC_登录按钮)
# 等待页面跳转
WebDriverWait(self.driver, 10).until(EC.title_contains("Dashboard - Leon CRM"))
return self.driver
def test02_login(self, driver, arg):
page = Test_Login_method(driver)
res = page.test01_login_method(arg[0], arg[1])
assert 'Dashboard - Leon CRM' in res.title
```
在这个示例中,我们使用 `WebDriverWait` 方法等待页面标题包含字符串 `"Dashboard - Leon CRM"`,最长等待时间为 10 秒。如果等待超时仍未跳转到正确的页面,则会抛出一个 `TimeoutException` 异常,测试用例会自动失败。这样就可以确保登录成功后能够成功跳转到下一个页面,从而避免了断言失败的情况。