我正在向大家介绍开发工程,我一直致力于“如何使web应用程序的测试自动化”。我认为后端和api测试自动化相对简单,概念也很清楚,但我不理解前端测试自动化背后的QA原则和工具,特别是当使用最新的FE技术(角、反应、流星、烬等)时。
你真的把前端测试自动化了吗?
该工具是否取决于技术/框架?我听说过在“控制器级”进行自动化,这是否意味着您应该只测试web应用程序中的路由位置?
你会推荐一个工具让它有CI的想法吗?
发布于 2017-03-11 16:30:00
前端测试非常重要,通常也是用户验收测试的一部分。
最流行的方法是使用Selenium和编程语言- Java、Ruby、Python或C#。
基本原则是创建一个名为“WebDriver”的Selenium对象的实例,该实例表示使用特定浏览器的实例,例如chrome驱动程序。
然后使用这个基础结构编写测试。您引用网页元素,在链接和按钮上“单击”,在输入字段中键入文本,提交表单等。基本上,如果用户可以这样做,您通常可以通过选定的语言和框架使用selenium命令复制这种行为。在某些情况下,是通过测试框架工具完成的,例如Rails (应用框架),使用RSpec (测试框架)和Capybara (Selenium )
当然,最困难的部分之一是javascript和ajax测试。
一般来说,这里的方法是:
1)确保selenium测试具有良好的等待策略,以支持ajax和javascript
2)在javascript测试框架中编写单元级测试。这可以是正在使用的javascript框架使用的特定测试框架,也可以是与各种javascript框架一起使用的更通用的测试框架。后者的一个很好的例子是茉莉花。茉莉花测试可能会用一个专门用于测试的片段来模拟实际的网页。这是使它们成为单元测试而不是用户接受测试的重要部分。
前端测试是我工作的重点。实际上,我发现它们比模型或控制器测试更容易编写!我确实使用Page这样的实践来确保测试保持可读性和可维护性。
至于“仅在控制器级别上自动化”,我认为这可能是一个更大的声明的一部分,具有更多的上下文。您应该考虑在模型、控制器和视图级别测试单元、集成测试和用户接受测试,使用愉快、悲伤和可选的工作流。
https://sqa.stackexchange.com/questions/26044
复制相似问题