任何人都可以简要解释在任何自动化项目中需要考虑的常见断言。无论是内部还是公共Web应用程序。例如,目前我正在使用selenium(java)来自动化电子商务Web应用程序。由于这是我的第一个自动化网站,我的想法已经用完了,我可以通过以下方式验证我所知道的很少的东西:
1.验证每页标题
2.验证按钮,文本,链接,图像,自定义文本等
除了这些还有我可以验证的其他东西吗?请随意纠正我的问题,如果您已经参与过各种自动化项目,那么您可以在哪些区域添加断言以验证或验证网页上的内容。
答案 0 :(得分:1)
基本上,通过自动化与应用程序功能相关的Test Cases
,您可以自动执行以减少回归周期的执行时间。因此,首先使用ECP, BVA
等测试设计技术开发测试用例。
每个测试用例必须有一个称为预期结果或功能的断言(否则它不会被称为测试用例)。
这个断言可以是任何类似的,
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。