脚本包括了一个应用的很多模块,如果一个模块的脚本测试时出现 了异常,比如说元素找不到或者 click 方法点击异常,接下来其他模块的脚本就无法进行下去,请问有什么方法可以在一个模块测试时出现了异常就返回到应用的主界面呢?
不能加个异常处理吗?
#1 楼 @draycen 现在正在想办法,异常该怎么处理才能回到应用的主界面呢?真机测试的话,返回键可以模拟吗?我现在是在虚拟机上做的,出现异常就一直返回直到找到主界面的一个标志为止,现在在测试这个想法可不可行
这标题太简洁了……建议改成更能表达帖子意思的标题。。。 返回键是可以模拟的,就是一个 KeyEvent ,adb 命令就能干这活。不过你需要先确定你一路按返回键能返回主界面。 你的这个功能其实相当于用例失败时自动执行的内容,单元测试框架的话用 tearDown 函数来做(tearDown 是无论用例执行情况如何都会执行的),如果不想每个用例都要加,那就在执行用例的那个语句加个 try catch ,捕捉找不到元素的异常或者点击异常,然后执行你那个一路返回的用例/脚本,再把异常改为用例失败的异常。
不过这么做就变得把用例的内容引入到执行框架了,你要考虑清楚你的框架是否需要保持通用性,不需要的话就加到框架里吧。
#3 楼 @chenhengjie123 我目前采用的事 try catch 方法
#4 楼 @bueaty 能满足你的需要吗?
重构一下脚本,使用 xunit,在 teardown 函数里面加返回主界面的逻辑。
#5 楼 @chenhengjie123 目前还可以,还没有遇到新的问题
直接 driver.startActivity("package","主 activity")