【问题标题】:Squish close my Application after every Test Case在每个测试用例之后 Squish 关闭我的应用程序
【发布时间】:2014-04-25 11:52:45
【问题描述】:

测试工具 Squish 在每个测试用例之后都会关闭我的应用程序,我该如何避免这种情况? 我什至取消选中“自动启动 AUT”并使用 startApplication() 启动应用程序。我也尝试了 attachToApplication() 方法,但没有成功!

非常感谢我的朋友

马丁

【问题讨论】:

    标签: javascript testing squish


    【解决方案1】:

    基本上,如果您默认使用 Squish 或使用“startApplication”启动 AUT,Squish 将在测试用例之后立即终止应用程序。

    幸运的是,Squish 提供了一种方法来满足您的情况,即attachToApplication

    当使用这种方式时,当 AUT 完成一个测试用例时,squish 不会终止它。参考此链接:Attaching to running applications。附加应用程序分为三个步骤。我已经检查过,它适用于windows平台,我想它也适用于其他平台。

    使用特定端口启动 AUT。您需要在 Windows 中使用名为 startxxxAUTstartwinaut 的 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。

    希望对你有帮助,谢谢!

    【讨论】:

      【解决方案2】:

      在设置上下文以启动测试脚本时,可附加 AUT 方法需要付出额外的努力。

      将 AUT 置于正确的上下文中对于任何要执行的自动化测试都很重要。 Squish 默认行为是在测试结束时终止应用程序,以保证您在同一时间开始和结束测试。在正常的方法中,无需担心将应用程序带到一个常见的已知状态,因为它总是会通过启动应用程序开始并通过终止应用程序来停止。

      正如@Lowitty 所解释的,如果您要使用附加到已经运行的 AUT 方法(如果这符合您的需要),那么您必须确保在每个测试结束时使用正确的清理步骤,这将设置您的AUT 到初始上下文,以便下一个测试脚本可以从那里重新开始。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多