assert 'Dashboard - Leon CRM' in 'Leon CRM'
时间: 2023-08-16 11:10:03 浏览: 48
这个断言会失败,因为 `'Dashboard - Leon CRM'` 这个字符串不在 `'Leon CRM'` 中。使用 `in` 进行字符串匹配时,左侧的字符串应该是包含右侧的字符串的,而不是相反。如果想要断言 `'Leon CRM'` 中包含 `'Dashboard - Leon CRM'`,应该将两个字符串的位置调换,即:
```
assert 'Leon CRM' in 'Dashboard - Leon CRM'
```
这样就会判断 `'Dashboard - Leon CRM'` 是否包含 `'Leon CRM'`,如果包含,断言就会成功。
相关问题
> assert 'Dashboard - Leon CRM' in res.title E assert 'Dashboard - Leon CRM' in 'Leon CRM' E + where 'Leon CRM' = <selenium.webdriver.chrome.webdriver.WebDriver (session="499c6b7aba5367f78fdb0bdcf9379362")>.title test01_login.py:31: AssertionError
根据错误信息,我们可以看到断言 `assert 'Dashboard - Leon CRM' in res.title` 失败了。具体来说,它在比较 `'Dashboard - Leon CRM'` 和 `'Leon CRM'` 时出现了错误。这表明页面上的标题并不包含 `'Dashboard - '` 这个前缀,只有 `'Leon CRM'`。因此,要修复这个断言,您需要更新它,使它只检查 `'Leon CRM'` 是否在页面标题中出现。例如:
```
assert 'Leon CRM' in res.title
```
这应该会解决这个 AssertionError。
E assert 'Dashboard - Leon CRM' in 'Leon CRM' E + where 'Leon CRM' = <selenium.webdriver.chrome.webdriver.WebDriver (session="1e02c84b8e24f72b5baf7d649b4e8925")>.title
这个断言失败的原因是 `'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` 异常,测试用例会自动失败。这样就可以确保登录成功后能够成功跳转到下一个页面,从而避免了断言失败的情况。