我想为一个相当复杂的iPhone应用程序编写UIAutomation(基于JavaScript)测试。我不想使用一个单独的大文件,而是通过使用几个文件来分离测试函数和帮助程序。这有可能吗?你如何构建你的UIAutomation测试?
答案 0 :(得分:8)
嘿。
是的。尽管浏览器中没有为JS实现import
关键字,但它是在Instruments中实现的。您只需在使用Instruments运行的'master'JS文件中编写#import "somefile.js"
。我没有尝试从您提供给乐器的原始文件以外的位置包含文件,但该位置的子文件夹工作
请查看基于this post的以下示例:
#import "fileInTheSameDirectory.js"
#import "SubDirectory/fileInSubDirectory.js"
答案 1 :(得分:2)
UIAutomation 无法处理大型脚本文件,您最终可能会使用 #include
指令捆绑测试,辅助函数等。但是,这是您可以手动运行多个测试的唯一方法,存储在单独的文件中。
在构建一个能够运行测试集和套件的小型(600-700行或25KB代码)JS框架时,我遇到了这个问题。
我提出的测试结构:
#import "test_scripts.js"
#import "test_data.js"
#import "helper_tools.js"
tools.runTestSet(TestContainer);
TestContainer
是指包含所有测试用例作为其字段/成员的对象的链接。
test_data.js
将数据封装在JSON容器中。
P.S。起初我认为 UIAutomation 有很大的潜力,但随着时间的推移我感到很失望。您无法使用此工具运行完整的自动化测试周期。另外,请记住,它只为您提供了使用UI的API:无法访问“后端”进程。