> assert goods_name in result E AssertionError: assert '20202198' in ['20202198_1686385618_商品名称添加', '20202198_1686382396_商品名称添加', '20202198_1686382047_商品名称添加', '20202198_1686364630_商品名称添加', '20202198_1686364061_商品名称添加', '20202198_1686363669_商品名称添加', ...] test_litemall_po.py:86: AssertionError
时间: 2024-02-04 07:04:27 浏览: 52
看起来你遇到了一个 `AssertionError` 异常,错误提示为 `assert '20202198' in ['20202198_1686385618_商品名称添加', '20202198_1686382396_商品名称添加', '20202198_1686382047_商品名称添加', ...]`,这个错误是因为断言失败了,即在 `result` 列表中没有找到符合条件的字符串。
根据错误提示,你期望在 `result` 列表中找到的字符串是 '20202198',但是实际上这个字符串是 '20202198_1686385618_商品名称添加'。这说明 `find()` 方法匹配的是包含 '20202198' 的字符串,而不是仅以 '20202198' 开头的字符串。
如果你希望在 `result` 列表中找到的字符串是仅以 '20202198' 开头的字符串,你可以使用 Python 的字符串方法 `startswith()`,例如:
```python
result = [s for s in goods_name_text_list if s.startswith(str(self.PREFIX_NUM))]
```
这样就可以找到所有以 '20202198' 开头的字符串了。然后你可以使用 `assert` 语句来判断期望的字符串是否在 `result` 列表中,例如:
```python
assert goods_name in result
```
这样就可以避免上述错误。
相关问题
# 断言商品名称是否在商品元素文本列表 > assert goods_name in goods_name_text_list E AssertionError: assert '20202198_1686364061_商品名称添加' in []
根据给出的错误信息,可以看出是断言错误,因为`goods_name_text_list`是一个空列表,所以断言失败了,即`goods_name`不在`goods_name_text_list`中。这可能是因为在获取`goods_name_text_list`的过程中出现了问题,导致该列表为空。建议检查获取`goods_name_text_list`的代码,确保它能够正确获取到商品元素文本列表。
> assert goods_name in goods_name_text_list E AssertionError: assert '20202198' in ['商品ID', '名称', '图片', '分享图', '详情', '市场售价', ...] test_litemall_po.py:83: AssertionError
根据你提供的信息,这是一个 AssertionError 异常,说明断言失败,即在 `goods_name_text_list` 列表中没有找到字符串 `'20202198'`。你需要检查一下 `goods_name_text_list` 列表中的元素是否正确,或者确认一下 `'20202198'` 是否是你要查找的字符串。如果字符串不正确,可以尝试修改字符串。如果是要查找的字符串,可以检查一下元素的定位方式是否正确,元素是否正确加载出来了。
阅读全文