任何自动化项目中的常见断言

时间:2016-11-16 13:47:00

标签: validation selenium-webdriver ui-automation verification assertion

任何人都可以简要解释在任何自动化项目中需要考虑的常见断言。无论是内部还是公共Web应用程序。例如,目前我正在使用selenium(java)来自动化电子商务Web应用程序。由于这是我的第一个自动化网站,我的想法已经用完了,我可以通过以下方式验证我所知道的很少的东西:

1.验证每页标题

2.验证按钮,文本,链接,图像,自定义文本等

除了这些还有我可以验证的其他东西吗?请随意纠正我的问题,如果您已经参与过各种自动化项目,那么您可以在哪些区域添加断言以验证或验证网页上的内容。

1 个答案:

答案 0 :(得分:1)

基本上,通过自动化与应用程序功能相关的Test Cases,您可以自动执行以减少回归周期的执行时间。因此,首先使用ECP, BVA等测试设计技术开发测试用例。

每个测试用例必须有一个称为预期结果或功能的断言(否则它不会被称为测试用例)。

这个断言可以是任何类似的,

  1. 在提供有效凭据后是否成功登录
  2. 输入错误的凭据等后显示错误消息
  3. Selenium帮助我们自动化网络互动(导航,点击,输入文本等),并且不会为您执行任何断言。

    可以通过JUnit, TestNG(在Java中)和Assertions类等框架提供断言。 python&中有assert关键字等编程语言的内置支持。 Java(http://docs.oracle.com/javase/7/docs/technotes/guides/language/assert.html

    所以,无论你在问题中提到的是什么,如常见的断言(验证每个页面标题等),这些只是网络交互。他们不会决定考试是PASS or FAIL您是谁定义了测试是通过/失败的标准。

    例如,测试用例成功登录相关。

    在这里,您可以自动化Web交互,例如导航到登录页面,输入凭据,单击“提交”按钮。

    然后,要验证您是否已成功登录,请在正常情况下在登录用户的主页(例如welcome user)中查找Web元素。在Automation中,您尝试使用webelement查找文本welcome user。然后使用框架提供的断言来断言预期的消息是否存在于网页中,如

    Assertions.assertEqual(expected_message, actual_message); // just an example.
    

    如果expected_message和actual_message相同,则该方法不会抛出任何异常,从而导致框架将测试用例标记为PASS

    如果expected_message和actual_message不相同,则由assertEqual方法引发AssertionError,导致框架将测试用例标记为FAIL。