【发布时间】:2020-01-29 14:03:06
【问题描述】:
当我尝试执行一个新的单元测试用例时,它会显示以下错误。
注意:由于我已将 chrome web 驱动程序放在 D 盘中,因此我无权设置路径。
测试于 14:56 开始 ... C:\Users\xxx.xxxx\PycharmProjects\Automation\venv\Scripts\python.exe "C:\Users\xx.xxx\AppData\Local\JetBrains\PyCharm 社区版 2019.2\helpers\pycharm_jb_unittest_runner.py" --path C:/Users/xx.xxx/PycharmProjects/Automation/UnitTest_1.py 使用参数 python -m unittest C:/Users/xx.xx/PycharmProjects/Automation/UnitTest_1.py 启动单元测试 C:\Users\xx.xxx\PycharmProjects\Automation
错误回溯(最近一次调用最后一次):文件 "C:\xxxx\xxxxx\PycharmProjects\Automation\venv\lib\site-
包\selenium\webdriver\common\service.py", 第 76 行,开始 标准输入=管道) init 中的文件“C:\Programs\Python\Python37-32\lib\subprocess.py”,第 775 行 恢复信号,开始新会话) _execute_child 中的文件“C:\Programs\Python\Python37-32\lib\subprocess.py”,第 1178 行 启动信息) FileNotFoundError: [WinError 2] 系统找不到指定的文件
当我处理上述异常时,我得到了另一个异常 下面。
Traceback(最近一次调用最后一次):文件 “C:\Programs\Python\Python37-32\lib\unittest\case.py”,第 59 行,在 测试部分执行者 产生文件“C:\Programs\Python\Python37-32\lib\unittest\case.py”,第 615 行,在 跑步 testMethod() 文件“C:\xxxx\xxxxx\PycharmProjects\Automation\UnitTest_1.py”,第 17 行,在 test_Bing self.driver = webdriver.Chrome(executable_path="D:\test\chromedriver.exe") 文件 "C:\xxxx\xxxx\PycharmProjects\Automation\venv\lib\site-packages\selenium\webdriver\chrome\webdriver.py", 第 73 行,在 init 中 self.service.start() 文件 "C:\xxxx\xxxxx\PycharmProjects\Automation\venv\lib\site-packages\selenium\webdriver\common\service.py", 第 83 行,开始 os.path.basename(self.path),self.start_error_message)selenium.common.exceptions.WebDriverException:消息: 'chromedriver.exe' 可执行文件需要在 PATH 中。请看
https://sites.google.com/a/chromium.org/chromedriver/home
在 2.374 秒内运行 2 次测试
失败(错误=2) 错误回溯(最后一次调用):文件 “C:\Programs\Python\Python37-32\lib\unittest\case.py”,第 59 行,在 测试部分执行者 产生文件“C:\Programs\Python\Python37-32\lib\unittest\case.py”,第 615 行,在 跑步 testMethod() 文件“C:\Users\xxx.xxxx\PycharmProjects\Automation\UnitTest_1.py”,第 10 行, 在 test_Google self.driver.get("www.google.com") 文件 "C:\Users\xx.xxxx\PycharmProjects\Automation\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", 第 333 行,在获取 self.execute(Command.GET, {'url': url}) 文件 "C:\Users\xx.xxxx\PycharmProjects\Automation\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", 第 321 行,在执行中 self.error_handler.check_response(response) 文件 "C:\Users\xx.xxxxx\PycharmProjects\Automation\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", 第 242 行,在 check_response 中 引发异常类(消息,屏幕,堆栈跟踪)selenium.common.exceptions.InvalidArgumentException:消息:无效 参数(会话信息:chrome=77.0.3865.90)
断言失败
进程以退出代码 1 结束
断言失败
断言失败
import os
os.environ["PATH"] += os.pathsep +r"D:\test\chromedriver.exe"
import unittest
from selenium import webdriver
class SearchEnginesTest(unittest.TestCase):
def test_Google(self):
self.driver = webdriver.Chrome(executable_path=r"D:\test\chromedriver.exe")
self.driver.get("www.google.com")
self.driver.maximize_window()
# self.driver.save_screenshot("D:\\test\\one.jpg")
print("Title of the page : " + self.driver.title)
self.driver.close()
def test_Bing(self):
self.driver = webdriver.Chrome(executable_path="D:\test\chromedriver.exe")
self.driver.get("www.bing.com")
self.driver.maximize_window()
# self.driver.save_screenshot("D:\\test\\two.jpg")
print("Title of the page: " + self.driver.title)
self.driver.close()
if __name__ == "__main__":
unittest.main()
【问题讨论】: