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()

 

 不在的话抛出异常,

正常的截图如下:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM