1

任何人都可以简要解释什么是自动化项目中常见的声明。无论是内部还是公共Web应用程序。例如,目前我使用硒(Java)来自动化电子商务Web应用程序。由于这是我的第一个网站自动化,我跑出来的想法,我可以验证的东西指望几个我知道下文提到:任何自动化项目中的常见声明

1.Verify每个网页标题

2.Verify一个按钮,文字,链接,图像,自定义文本等

除了这些还有什么我可以验证吗?请随时纠正我的问题,如果您曾在各个自动化项目上工作过,您在哪些领域添加了断言以在网页上验证或验证某些内容。

+2

在sqa.stackexchange.com上可能会得到更好的响应。 – jsheeran

+0

@jsheeran:谢谢我也会试一试。 – Camreyjones

+0

您可以测试组件所具有的样式(css clases),您可以单击按钮并期望某些功能反映在屏幕上(错误或成功) 。您可以测试重定向等。测试自动化就像人类会与页面进行交互一样。 – Hosar

回答

1

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

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

这种说法可能是像什么,

  1. 是否给予有效凭据
  2. 显示错误信息输入错误的凭据等

硒有助于我们自动化的网络交互后登录成功后, (导航,点击,输入文本等),不要为你执行任何断言。

断言可以通过框架如JUnit, TestNG(Java)与Assertions类。还有就是内置的支持的编程语言一样assert关键字在python &的Java(http://docs.oracle.com/javase/7/docs/technotes/guides/language/assert.html

所以,无论你喜欢共同声明(验证每个网页标题等),你的问题中提到,那些只是网络交互。他们不确定测试是否为PASS or FAIL您是谁定义标准测试是否合格/失败。


例如,存在与成功登录一个测试用例

在这里,您自动进行网页交互,如导航到登录页面,输入凭据,单击提交按钮。

然后,为了验证您是否成功登录,在正常情况下,您在登录的用户的主页(如welcome user)中查找Web元素。在自动化中,您尝试使用webelement查找文本welcome user。然后使用由框架提供的断言,断言预期的消息是否存在于像

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

如果expected_message和actual_message是相同的网页,则该方法不抛出任何异常,从而导致标志着测试用例如框架的PASS

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

+1

辉煌!非常好的解释,这绝对有助于我进一步思考。谢谢纳文.. – Camreyjones