问题描述
我是Selenium的新手。我试图了解assert@H_502_2@语句的作用。
在下面提到的代码中,我无法指出其存在的原因(第三行)。
driver = webdriver.Chrome('./data/chromedriver.exe')
driver.get("http://www.python.org")
assert "Python" in driver.title
@H_502_2@
解决方法
您显然正在将Selenium与Python一起使用。无论如何,可以在许多编程语言中找到assert
关键字。
有关assert
的语言独立解释,请查看Wikipedia:
在计算机编程中,特别是在使用命令式编程范例时,断言是一个谓词(状态空间上的布尔值函数,通常使用程序的变量表示为逻辑命题),它连接到程序,在执行代码时始终应将其评估为true。断言可以帮助程序员阅读代码,帮助编译器进行编译或帮助程序检测其自身的缺陷。
对于后者,某些程序通过在断言运行时实际评估断言来检查断言。然后,如果事实并非如此(断言失败),则程序会认为自己已损坏,并且通常会故意崩溃或引发断言失败异常。
assert
的官方Python文档可以在这里找到:
https://docs.python.org/3/reference/simple_stmts.html#the-assert-statement
assert
实际上不是函数,而是语句。检查是否满足一定条件。否则,程序将无法以某种方式运行。在Python的情况下,将引发AssertionError
:
if __debug__:
if not expression: raise AssertionError
更具体地说,如果在http://www.python.org页面的标题中找不到 Python ,则问题中的断言将失败。
,assert关键字用于将实际结果与预期结果进行比较。主要用于验证。
例如:如果您正在测试某个URL,则可以验证标题
assert actual_title == expected_title
如果值匹配,则测试用例通过,否则测试用例无法给您AssertionError