构建我的测试文件夹/方法

时间:2016-04-25 16:21:23

标签: angularjs selenium testing webdriver protractor

我已经开始为我的团队创建测试自动化(Selenium,现在正在使用量角器)。我是一名手动测试员,目前正在升级我的技能组。

我正在开发的项目是一个拥有2个帐户/门户的webapp。一个用于客户端,另一个用于管理员。我已经在这个结构中写了我的测试

test folder
---Client Tests
-----ValidLogin_test
-----InvalidLogin_test
-----ForgotPassword_test
-----other test...
---Admin Tests
-----ValidLogin_test
-----InvalidLogin_test
-----ForgotPassword_test
-----other test...

现在我的问题是我们现在正在创建一个angularJS应用程序,我需要支持它。现在,我不确定如何设计它。我应该首先分离平台然后分类帐户吗?或帐户类型首先是平台?

如果有任何建议你可以推荐我学习或查阅,我会很感激你的时间,因为我真的有兴趣学习这个,以便扩展。

*我决定不在这个和utils中包含页面对象,以使其更简洁。但它们位于客户端和管理测试文件夹(同一级别)的文件夹中。

1 个答案:

答案 0 :(得分:0)

根据登录的人,您有1个行为不同的应用程序吗?或2个应用程序,一个是管理员使用的,一个是客户端使用的?

对于手动和自动测试用例,我非常喜欢将测试用例分解为应用程序的逻辑区域。最重要的是尽量减少重复的测试步骤和/或代码。

假设您有两个不同的应用程序:管理员门户和客户端应用程序。我在每个区域内编造了一些区域。我会建议类似于以下的细分。

管理员门户

登录

  • 登录 - 成功
  • 登录 - 密码无效
  • 登录 - 最大无效尝试

用户

  • 用户 - 当前用户信息
  • 用户 - 排序
  • 用户 - 过滤
  • 添加

    - 用户 - 添加 - 成功

    - 用户 - 添加 - 现有用户

    - 用户 - 添加 - 无效的用户名

群组

安全

然后我会为客户端应用程序做类似的事情。根据工作流程细分文件夹结构。

对于自动化(量角器)测试,我建议使用类似于以下内容的文件夹结构: 的功能

  • Login.spec.js
  • Users.spec.js

页面对象

  • Login.page.js
  • Users.page.js

您可以根据应用程序的大小/复杂程度根据需要细分规范/页面对象文件。最重要的是通过使用页面对象来获得重用。页面对象将包含应用程序或页面的该部分上的元素的定位器以及可以从spec文件中调用的可重用函数。 spec文件包含所有测试用例。您可以将其视为测试的逻辑分组/文件夹。

由于您正在使用角度应用程序,因此您不需要为每个运行的平台创建单独的部分。您希望运行测试的每个浏览器都应配置配置文件。如果由于某种原因,浏览器的行为不同,我建议传入一个带有测试的环境变量来配置运行测试的浏览器,并根据需要处理spec / page对象中的那些特定场景。我希望这些场景不会太多。