none
测试脚本如何再次执行 RRS feed

  • 问题

  • 通过测试代理回放脚本时,如果遇到未知的异常导致控件无法定位到,是否可以重新启动客户端,并且使当前的测试脚本再从头开始执行呢 ?是否可以实现,谢谢。
    2014年11月20日 9:57

答案

全部回复

  • 我不是很清楚你是运行什么test,或者怎么样用test agent运行的. 如果是用VS 远程执行test,你的VS版本是什么?据我所知较新的VS版本12/13,像load test,在test result窗口中可以手动点击停止或者暂停test运行,然后手动去继续执行。

    但是像code UI tests这种在新版本里面不支持test result窗口的,可能比较麻烦。

    你想实现的是不是在test agent遇到error,但是想test本身可以自动从头开始执行啊?这样的话,可能需要你去写一些bat脚本去自动执行。我所说的自动执行,应该是在之前的test已经因为error结束后再去从头开始执行。但是如果是coded UI test, 因为你想测试的UI在客户端没有关闭掉,你想重新启动,这个可能需要你自定义code,比方说,判断当前test的结果是不失败,如果失败,强制关闭当前的UI,当然这种方式也要求你运行test之前可以运行/打开UI(手动或者通过code)。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年11月21日 6:25
  • 感谢 Jack-Zhai的回复。我的测试环境如下:

    VS2013、Microsft 测试管理器2013、测试代理2013、测试框架“Coded UI Test”

    在VS2013中录制好脚本(测试方法),并设置测试用例关联的测试方法,通过生成定义生成后,在测试管理器2013的测试中心中设置计划使用最新的生成,再在测试选项卡中右键运行测试套件,同时指定所使用的测试代理环境。

    我想实现的功能就是在测试代理(Test Agent)遇到错误(例如:控件未找到、客户端无响应)时,如何重新播放当前有问题的测试方法,并强制重启客户端,这样做的目的就是想尝试让脚本播放时可以找到控件,顺利完成该测试方法的播放。Jack-Zhai 是否可以提供类似的Demo ,谢谢。

    2014年11月24日 0:50
  • 我也没有类似的demo,通常情况下,我们都是遇到错误的时候分析错误信息并解决,然后才重新运行test。按照你的方式,再次运行同样产生这个错误信息,还是不能执行?

    你可以去调用一个bat文件重新执行你的测试。

    现在的问题是:

    1. 如何调用你的UI,这个你只要把可执行文件copy到你的test agent机器上,然后通过code打开这个可执行文件就可以了。

    2.如何写bat文件,这个可能有点麻烦。

    参考:

    https://social.msdn.microsoft.com/Forums/vstudio/en-US/c100b9f9-1e93-4228-9e26-49be66d94c01/creating-and-executing-a-batch-file-to-run-coded-ui-test-in-vs-2013?forum=vstest

    https://social.msdn.microsoft.com/Forums/vstudio/en-US/e3fe733e-a95c-4263-976f-4cbbc6675f6b/run-coded-ui-tests-through-batch-file?forum=vsautotest

    3. 有个问题,我也不是太确定了,但是应该很容易测试出来,就是当test遇到error停止以后,是不是你的要测试的UI会不会关掉。这个是为了避免打开好多同样的UI。(默认的客户端UI应该会自动关闭)。

    4.还有个问题就是,就是你如何捕获错误,这个问题,如果你知道产生error的地方更好。如果不确定可能你要考虑通过一些方式去捕获!比如try。。。catch等等!

    https://social.msdn.microsoft.com/Forums/en-US/f7e89111-5cdc-440d-84c8-960c34034b85/how-to-make-a-coded-ui-test-be-set-to-failed-when-an-exception-is-caught-using-trycatch-blocks?forum=vsautotest

    希望能帮助你!


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年11月24日 7:05
  •  

    4.还有个问题就是,就是你如何捕获错误,这个问题,如果你知道产生error的地方更好。如果不确定可能你要考虑通过一些方式去捕获!比如try。。。catch等等!

     

    断言失败我们是通过try catch捕获的,除了这个方法CUIT是不是有默认的方法可以捕获到断言成功、失败的方法或者说我们通过订阅某个事件可以实现 ? 
    2014年11月24日 8:31
  • 很高兴收到你的回复!

    你所说的“断言失败”指的是什么?你的意思是Coded UI test是不是可以自己捕获error?默认的通过设置config文件可以在test explorer 窗口中输出详细的error:

    http://msdn.microsoft.com/en-us/library/jj159363.aspx

    不知道是不是你想要得?

    另外,你也知道一个帖子只讨论一个问题,对于新的问题,你可不可以开新帖子?这样也有利于其他交流者的积极参与。

    谢谢你的合作!


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年11月24日 9:03