【发布时间】:2015-12-16 00:13:14
【问题描述】:
我想对以下场景进行自动化测试:
- 用户登录并执行一些“冗长”的操作。例如尝试上传文件。
- 在漫长的操作过程中,与服务器的连接会丢失一段时间,然后再恢复。
- 在这种情况下,应用程序会做它应该做的任何事情。例如,向用户显示一条消息,询问他们是否要重试。
我希望步骤 1. 和 3. 由 Selenium 完成。问题是:作为自动化测试的一部分,我该如何执行第 2 步?
工具和环境的详细信息:
- Selenium 使用 Junit 在 Java 上运行
- 测试必须在 Linux 和 Windows 上运行
- 它还可以在 3 种浏览器上运行:Firefox、Chrome、IE 11
我正在考虑的几个解决方案:
- 调用一些脚本来操作机器上的连接。
- 操纵浏览器的代理设置(代理指向虚假地址,因此连接中断)。
- 使用真正的代理,可以通过代码控制(例如通过某些命令),因此它可以表现为“工作”或“断开”连接。
由于各种原因,这些解决方案都不理想。
那么:有没有人尝试解决类似的问题?想听听您认为可行的解决方案或替代想法。谢谢。
【问题讨论】:
-
只需拔出网线即可。
-
@Scary Wombat:鉴于我想在自动化测试中进行,我需要一个与 selenium 测试同步的机器人来做到这一点
-
这里的问题是你说的是“使用JAVA”。有一些答案,但您至少需要 JNI,因为连接问题发生在低于 java 可以访问的层中
-
@snovelli:我应该能够以某种方式从 Java 控制它,但它不一定是破坏连接的 Java 代码。 IE。如果你有另一个服务/组件/应用程序可以进行实际中断,那没关系,只要我能告诉它从 Java 代码中做什么。
标签: java linux windows selenium networking