当前位置: 首页 > 知识库问答 >
问题:

selenium web测试中的断言失败

仲孙绍元
2023-03-14

当我尝试执行一个新的单元测试用例时,它会显示以下错误。

注意:我没有特权设置路径,因为我已经将chrome web驱动程序放在D驱动器中。

测试在14:56开始。。。C:\Users\xxx.xxxx\PyCharm项目\Automation\venv\Scripts\python.exe“C:\Users\xx.xxx\AppData\Local\JetBrains\PyCharm社区版2019.2\helpers\PyCharm\u jb\u unittest\u runner.py”--路径C:/Users/xx.xxx/PycharmProjects/Automation/UnitTest_1.py在C:\Users\xx.xxx\PycharmProjects\Automation中启动带参数的unittests python-m UnitTest C:/Users/xx.xx/PycharmProjects/Automation/UnitTest_1.py

错误回溯(最近一次调用):文件“C:\xxxx\xxxxx\PycharmProjects\Automation\venv\lib\site-

软件包\selenium\webDrive\通用\service.py",第76行,在start stdin=PIPE)文件"C:\程序\Python\Python37-32\lib\subprocess.py",第775行,在initrestore_signals,start_new_session)文件"C:\程序\Python\Python37-32\lib\subprocess.py",第1178行,_execute_childstartupinfo)FileNotFoundError:[WinError 2]系统找不到指定的文件

当我处理上面的异常时,我得到了下面的另一个异常。

回溯(最近一次调用):文件“C:\Programs\Python\Python37-32\lib\unittest\case.py”,第59行,在testPartExecutor生成文件“C:\Programs\Python\Python37-32\lib\unittest\case.py”,第615行,在运行testMethod()文件“C:\xxxxx\PycharmProjects\Automation\unittest\u 1.py”中,第17行,在test\Bing self.driver=webdriver.Chrome中(可执行文件\u path=“D:\test\chromedriver.exe”)文件“C:\xxxx\xxxx\PycharmProjects\Automation\venv\lib\site packages\selenium\webdriver\chrome\webdriver.py”,init self.service.start()文件“C:\xxxx\xxxxx\PycharmProjects\Automation\venv\lib\site packages\selenium\webdriver\common\service.py”第83行,在start os.path.basename(self.path)中,self.start\u error\u message)selenium.common.exceptions.WebDriverException:message:'chromedriver.exe'可执行文件需要位于路径中。请看

https://sites.google.com/a/chromium.org/chromedriver/home

在2.374s中运行了2次测试

失败(错误=2)错误回溯(最近调用最后一次):文件"C:\程序\Python\Python37-32\lib\unittest\case.py",第59行,在testPartExecator中产生文件"C:\程序\Python\Python37-32\lib\unittest\case.py",第615行,在运行testmethod()文件"C:\用户\xxx.xxxx\PycharmProjects\Automation\UnitTest_1.py",第10行,test_Googleself.driver.get("www.google.com")文件"C:\用户\xx.xxxx\PycharmProjects\Automation\venv\lib\在获取self.execute(命令)中的333行,site-包\selenium\webDrive\远程\webdriver.py"。GET,{'url': url})在执行self.error_handler.check_response(响应)中,文件"C:\用户\xx.xxxx\PycharmProjects\Automation\venv\lib\site-包\selenium\webDrive\远程\webdriver.py",第321行文件"C:\用户\xx.xxxxx\PycharmProjects\Automation\venv\lib\site-包\selenium\webDrive\远程\errorhandler.py",第242行,check_response提出exception_class(消息,屏幕,stackTrace)selenium.common.exceptions.无效参数异常:消息:无效参数(会话信息:chrome=<--phd--16/>

断言失败

进程已完成,退出代码为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()

共有1个答案

傅峻
2023-03-14

检查代码中的所有路径都可以访问python中的ossys.path。另外,检查*. py脚本是否位于python路径列表文件python._pth中列出的目录中。检查您的操作系统指令更新路径,在大多数'锁定'的计算机,你仍然可以编辑'用户路径'。另一个选择是创建一个“运行者”脚本——windows上的操作系统脚本*. bat或shell上的操作系统脚本*. sh。在运行脚本中设置/添加操作系统sys.path并动态添加文件到python路径,当脚本完成时,添加将消失回锁定仅路径。提交有关脚本的ITIL票证,以获得系统管理员的批准。

 类似资料:
  • 我正在使用JUnit和Apache Log4J来学习TDD和日志服务的最佳实践。我有一个类,它有一个方法,它将尝试连接到MySQL数据库并返回类型的对象。 我有一个类GenericTaskInterpreterTests,在这里我为这个方法(和其他方法)编写了测试用例。 在这个测试用例场景中,如何使用TestWatcher记录断言失败

  • 问题内容: 我有一个Jenkins作业,它通过Nightwatch.js框架在Browserstack上运行Selenium测试。我们有一套完整的测试程序,可以让守夜人在不同的进程中运行,并且我们需要一种在所有测试运行后将通过/失败值返回给Jenkins的方法。 我一直在尝试使用Nightwatch挂钩在每个模块的末尾运行一段代码,但是我无法弄清楚需要采取什么措施才能使Jenkins作业可以访问该

  • 我用的是3.4.0版 我对YUI有一个奇怪的问题。测试断言。下面是一个示例: 当断言在事件的回调中时,它永远不会失败:(文档中没有提到这种情况... 也许我做错了什么,但是缺少文档很难确定... 更新 没有等待/恢复的示例:http://jsfiddle.net/op1ekun/Fgra6/2/ 和具有等待/恢复 http://jsfiddle.net/op1ekun/Fgra6/5/ 更新2 已

  • 我已经在Netbeans上通过JS测试驱动程序设置了JavaScript单元测试。然而,与该教程中的结果不同,断言失败后不会执行更多测试。我怎样才能改变这种行为? 例如,给定此测试文件: 文件: 进度条显示50%,(2次测试),应该是33%。 文件: 我可以通过命令行运行所有测试。(在Windows PowerShell上)。按如下方式运行,失败后测试不会停止运行: java-jar$env: J

  • 问题内容: 编辑:切换到一个更好的示例,并阐明了为什么这是一个真正的问题。 我想用Python编写在断言失败时继续执行的单元测试,这样我就可以在一个测试中看到多个失败。例如: 在这里,测试的目的是确保Car’s正确设置其字段。我可以将其分解为四个方法(这通常是个好主意),但是在这种情况下,我认为将其保留为测试单个概念的单个方法(“对象已正确初始化”)更容易理解。 如果我们认为最好不要破坏该方法,那

  • 问题内容: 我正在学习Xcode中的视图调试器,并通过 Debug > View Debugging> Capture View Hierarchy捕获视图层次结构 。但是,当我在应用程序中尝试该操作时,出现以下错误: -[UITextView _firstBaselineOffsetFromTop],/ BuildRoot / Library / Caches / com.apple.xbs /