Testing 驱动多个相互交互的浏览器
我们有一个复杂的web应用程序,它使用了大量JavaScript以及XMPP和Rails应用程序。我们需要对整个系统进行端到端测试。我们需要能够确保各种任务能够在没有错误的情况下完成,其中一项任务是与系统上的另一方协商一对一的聊天会话。由于我们应用程序中的所有任务都涉及到用户对用户的交互,我们希望能够通过同时驱动两个通过web应用程序进行通信的浏览器来模拟这一点。我一直在考虑使用selenium或及其等待函数来等待特定的事情发生,然后再继续。例如:Testing 驱动多个相互交互的浏览器,testing,selenium,integration-testing,qa,browser-testing,Testing,Selenium,Integration Testing,Qa,Browser Testing,我们有一个复杂的web应用程序,它使用了大量JavaScript以及XMPP和Rails应用程序。我们需要对整个系统进行端到端测试。我们需要能够确保各种任务能够在没有错误的情况下完成,其中一项任务是与系统上的另一方协商一对一的聊天会话。由于我们应用程序中的所有任务都涉及到用户对用户的交互,我们希望能够通过同时驱动两个通过web应用程序进行通信的浏览器来模拟这一点。我一直在考虑使用selenium或及其等待函数来等待特定的事情发生,然后再继续。例如: 在我们的网站上打开2个浏览器 浏览器1等待发布
我们需要驱动实际的浏览器,而不是无头浏览器,并且需要能够将其与我们的CI集成,我们目前使用和selenium作为我们的CI设置的一部分。老实说,这听起来像是属于“某些东西不应该是自动化的”类别 可预见的问题:
- 其中一个浏览器无法正常启动,可能会使另一个浏览器在超时之前陷入死锁状态
- 如果由于某种原因,您的测试没有完全通过,因为您的Web服务器决定速度太慢,您将遇到另一个死锁,直到超时情况
- 可维护性将非常困难,因为如果发生需要更新测试的情况,则需要确保两个浏览器实例都工作
有了聊天系统,我会手动测试这一点,这就是dogfooding你的应用将进入它自己的地方。让公司里的每个人(从开发人员到运营人员以及其他人员)都来测试聊天,因为我确信你已经在做某种IM了。目前,我们已经对系统的每个部分、Rails应用程序、JavaScript以及XMPP ejabberd服务器上的机器人进行了广泛的测试。到目前为止,我们一直在运行手动测试,尽管我们可能没有像应该的那样进行广泛的测试。我们遇到的一个问题是,在手动测试过程中遗漏了一些东西,需要测试的边缘案例的数量越来越大,在QA过程中测试所有这些案例变得相当繁琐,因为我们是一个小团队。也许解决方案就是像你说的那样,使用我们的应用程序来代替内部电子邮件和即时通讯