测试工具 Squish 在每个测试用例之后都会关闭我的应用程序,我该如何避免这种情况?我什至取消选中“自动启动 AUT”并使用 startApplication() 启动应用程序。我也尝试了 attachToApplication() 方法,但没有成功!
非常感谢我的朋友们
马丁
测试工具 Squish 在每个测试用例之后都会关闭我的应用程序,我该如何避免这种情况?我什至取消选中“自动启动 AUT”并使用 startApplication() 启动应用程序。我也尝试了 attachToApplication() 方法,但没有成功!
非常感谢我的朋友们
马丁
基本上,如果您默认使用 Squish 或使用“startApplication”启动 AUT,Squish 将在测试用例之后终止应用程序。
幸运的是,Squish 提供了一种方法来满足您的情况,即attachToApplication
.
使用这种方式时,squish 在完成测试用例时不会终止 AUT。参考此链接:附加到正在运行的应用程序。附加应用程序分为三个步骤。我已经检查过,它适用于 windows 平台,我想它也适用于其他平台。
使用某个端口启动 AUT。您需要在 Windows 中使用名为 的 squish 应用程序启动该应用startxxxAUT
程序startwinaut
。此应用程序位于您的 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
”执行命令“ ”来启动您的 AUT。startwinaut --port=8899 c:/Installed/notepad/notepad++.exe
希望这对你有帮助,谢谢!
在设置上下文以启动测试脚本时,可附加 AUT 方法需要付出额外的努力。
将 AUT 放在正确的上下文中对于执行任何自动化测试都很重要。Squish 默认行为是在测试结束时终止应用程序,以保证您在同一时间开始和结束测试。在正常的方法中,无需担心将应用程序带到一个常见的已知状态,因为它总是会从启动应用程序开始并通过终止应用程序来停止。
正如@Lowitty 所解释的,如果您要使用附加到已经运行的 AUT 方法(如果这是您需要的套件),那么您必须确保在每个测试结束时使用正确的清理步骤,这会将您的 AUT 设置为初始上下文,以便下一个测试脚本可以从那里重新开始。