我正在尝试将我的 UIAutomation 测试脚本分解成块,以便一次运行一个或一起运行它们。所以我有一个结构:
所有测试.js:
#import "tab-dates.js"
#import "tab-temperatures.js"
标签-dates.js:
#import "../../../Libraries/tuneup_js/tuneup.js"
#import "dpl_assertions.js"
var target = UIATarget.localTarget();
var app = target.frontMostApp();
test("Verify date view is shown", function() {
assertEquals(tabBar.selectedButton().name(), "Date");
});
它们都位于同一目录中,并被导入到同样位于同一目录中的自动化跟踪文件中。
当我直接运行 tab-dates.js 时,一切都很好。找到 tuneup.js,路径正确,测试通过。但是当我尝试运行 all-tests.js 时,我得到:
脚本抛出未捕获的 JavaScript 错误:找不到变量:在 tab-dates.js 的第 8 行测试
这不是直接路径问题,因为如果我编辑脚本以中断路径,我会得到一个不同的错误,明确表示“找不到文件”。
据我所知,链接导入应该可以工作——我的意思是,这是 tuneup.js 的全部内容(https://github.com/alexvollmer/tuneup_js):
#import "assertions.js"
#import "lang-ext.js"
#import "uiautomation-ext.js"
#import "screen.js"
#import "test.js"
#import "image_assertion.js"
所以我有一个奇怪的情况
- tab-dates.js 导入 tuneup.js 导入 test.js => OK
- all-tests.js 导入 tab-dates.js 导入 tuneup.js 导入 test.js => 不正常
这是怎么回事?