pycharm3.7版本中 unittest安装失败解决办法(检查点怎么写)
练习一:
from selenium import webdriver
import unittest
# CSS选择器
# 创建 WebDriver 对象,指明使用chrome浏览器驱动
wd = webdriver.Chrome()
# 设置最大等待时长10s 隐式等待,缺省等待
wd.implicitly_wait(10)
# 调用WebDriver 对象的get方法 可以让浏览器打开指定网址
wd.get('http://127.0.0.1/mgr/sign.html')
# 输入正确的用户名和密码账号为 byhy 密码为 88888888,点击登录
user_element = wd.find_element_by_id('username')
pwd_element = wd.find_element_by_id('password')
user_element.send_keys('byhy')
pwd_element.send_keys('88888888')
submit_element = wd.find_element_by_tag_name('button')
submit_element.click()
# 检查左侧菜单
menu_element = wd.find_element_by_class_name('sidebar-menu')
menus = menu_element.find_elements_by_tag_name('span')
# 定义一个列表,存放获取的内容
menu_list = []
for menu in menus:
menu_list.append(menu.text)
assertIn(['客户', '药品', '订单'], menu_list, '检查左侧菜单失败')
wd.quit()
发现是没有导入unittest
在导入过程中遇到如下错误
大概意思明白了,意思是python解释器和pip版本不匹配,百度了一番还是无果,又重新来看这段报错,突然发现
warning的那句话,
在这里把pip更新至最新版本,也是没有用,一直搞了很久也没有头绪。
事实证明一开始路走错了,怎么努力也是没有用的,经过从头开始分析学习,
根据字面意思一直以为是unittest安装问题,后才知道assertIn是unittest中testcase的方法,不能直接调用,如果需要调用,需要实例化,然后才能用, unittest也不需要安装python中自带了,哎,上面的报错是正常的。而且assertIn不支持列表检查,只支持字符串,经过优化,代码如下:
from selenium import webdriver
# 创建 WebDriver 对象,指明使用chrome浏览器驱动
wd = webdriver.Chrome()
# 设置最大等待时长10s 隐式等待,缺省等待
wd.implicitly_wait(10)
# 调用WebDriver 对象的get方法 可以让浏览器打开指定网址
wd.get('http://127.0.0.1/mgr/sign.html')
# 输入正确的用户名和密码账号为 byhy 密码为 88888888,点击登录
user_element = wd.find_element_by_id('username')
pwd_element = wd.find_element_by_id('password')
user_element.send_keys('byhy')
pwd_element.send_keys('88888888')
submit_element = wd.find_element_by_tag_name('button')
submit_element.click()
# 检查左侧菜单
menu_element = wd.find_element_by_class_name('sidebar-menu')
menus = menu_element.find_elements_by_tag_name('span')
# 定义一个列表,存放获取的内容
menu_list = []
for menu in menus:
menu_list.append(menu.text)
check_list = ['客户', '药品', '11']
# 检查'客户', '药品', '订单 是否在menu_list中
for ck_list in check_list:
if ck_list in menu_list:
print(ck_list + " 在menu_list中")
else:
print(ck_list + " 不在menu_list中")
raise AssertionError
wd.quit()
不在的话抛出异常,
正常的截图如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构