【发布时间】:2014-04-25 11:52:45
【问题描述】:
测试工具 Squish 在每个测试用例之后都会关闭我的应用程序,我该如何避免这种情况? 我什至取消选中“自动启动 AUT”并使用 startApplication() 启动应用程序。我也尝试了 attachToApplication() 方法,但没有成功!
非常感谢我的朋友
马丁
【问题讨论】:
标签: javascript testing squish
测试工具 Squish 在每个测试用例之后都会关闭我的应用程序,我该如何避免这种情况? 我什至取消选中“自动启动 AUT”并使用 startApplication() 启动应用程序。我也尝试了 attachToApplication() 方法,但没有成功!
非常感谢我的朋友
马丁
【问题讨论】:
标签: javascript testing squish
基本上,如果您默认使用 Squish 或使用“startApplication”启动 AUT,Squish 将在测试用例之后立即终止应用程序。
幸运的是,Squish 提供了一种方法来满足您的情况,即attachToApplication。
当使用这种方式时,当 AUT 完成一个测试用例时,squish 不会终止它。参考此链接:Attaching to running applications。附加应用程序分为三个步骤。我已经检查过,它适用于windows平台,我想它也适用于其他平台。
使用特定端口启动 AUT。您需要在 Windows 中使用名为 startxxxAUT、startwinaut 的 squish 应用程序启动应用程序。此应用程序位于您的 Squish 安装目录下。例如<Squish-Install-DIR>/bin/startwinaut
startwinaut --port=8899 c:/Installed/notepad/notepad++.exe
下一步,在 squish 中注册您的应用程序,您可以使用命令 squishserver --config addAttachableAUT note 8899 来注册您的 AUT。或者,您可以使用 Squish IDE 执行此操作。 <Edit>--<Server Settings>--<Manage AUTs...>--<Attachable AUTs>--<Add>。参考屏幕截图:
请记住,端口号应与您用于启动 AUT 的端口号相匹配。
最后一步,在脚本中附加 AUT,如下所示:
def main():
attachToApplication("note")
snooze(10)
顺便说一句,如果您需要以自动方式启动 AUT(不是手动输入命令),您可以使用“subprocess.popen”执行命令“startwinaut --port=8899 c:/Installed/notepad/notepad++.exe”来启动 AUT。
希望对你有帮助,谢谢!
【讨论】:
在设置上下文以启动测试脚本时,可附加 AUT 方法需要付出额外的努力。
将 AUT 置于正确的上下文中对于任何要执行的自动化测试都很重要。 Squish 默认行为是在测试结束时终止应用程序,以保证您在同一时间开始和结束测试。在正常的方法中,无需担心将应用程序带到一个常见的已知状态,因为它总是会通过启动应用程序开始并通过终止应用程序来停止。
正如@Lowitty 所解释的,如果您要使用附加到已经运行的 AUT 方法(如果这符合您的需要),那么您必须确保在每个测试结束时使用正确的清理步骤,这将设置您的AUT 到初始上下文,以便下一个测试脚本可以从那里重新开始。
【讨论】: