使用仪器从 iOS 个自动化测试文件进行异步调用
Asynchrounous call from iOS automation test file using instruments
我正在使用 iOS 提供的仪器应用程序来实现本机 iOS 应用程序的自动化。测试脚本写在一个js文件中,所以我在想是否可以通过这个测试脚本进行AJAX调用。基本上我想在测试中继续轮询来自 URL 调用的一些数据。
我只想做这样的事情:
try{
var pinger = new new XMLHttpRequest();
pinger.open("POST", "http://localhost/someurl/getData_ping"), true);
pinger.send();
}catch(e){
//returns null
}
然后我可以检查响应并执行所需的任何操作。但每次它只是进入 catch 块并将错误给出为 null。
有什么方法可以通过充当测试脚本的js文件来完成吗?还有关于这个 js 文件在哪里执行或者它支持什么的任何信息,因为我找不到任何这样的文档。
问得好,如果您要使用的 class 不在此处
或 ECMA 规范的一部分,那么您将无法使用它。因此,您没有任何常见的文档对象模型或浏览器对象模型 class,例如 Document
或 XMLHTTPRequest
。您想要使用的任何库都不能依赖于这些对象中的任何一个,不幸的是,这消除了大多数常见的 JS 库。我能够找到一个 XML 设法避免这种情况的解析库,这对我很有帮助 https://code.google.com/p/marknote/
至于尝试在测试中创建 post,我认为您唯一的选择是使用 UIAHost.performTaskWithPathArgumentsTimeout
(see here) 调用 curl 或 python 脚本或将需要的参数作为参数的东西 post。此方法 returns 如果您还需要执行 get 调用的输出。
至于你的 null 错误,有点奇怪,虽然我以前遇到过 null 或 undefined 错误(我认为这永远不会发生)。我注意到你有两次 new
这个词,也许如果你去掉其中一个,你会得到一个 XMLHttpRequest variable not found 或类似的东西。希望这会有所帮助。
我正在使用 iOS 提供的仪器应用程序来实现本机 iOS 应用程序的自动化。测试脚本写在一个js文件中,所以我在想是否可以通过这个测试脚本进行AJAX调用。基本上我想在测试中继续轮询来自 URL 调用的一些数据。
我只想做这样的事情:
try{
var pinger = new new XMLHttpRequest();
pinger.open("POST", "http://localhost/someurl/getData_ping"), true);
pinger.send();
}catch(e){
//returns null
}
然后我可以检查响应并执行所需的任何操作。但每次它只是进入 catch 块并将错误给出为 null。
有什么方法可以通过充当测试脚本的js文件来完成吗?还有关于这个 js 文件在哪里执行或者它支持什么的任何信息,因为我找不到任何这样的文档。
问得好,如果您要使用的 class 不在此处
或 ECMA 规范的一部分,那么您将无法使用它。因此,您没有任何常见的文档对象模型或浏览器对象模型 class,例如 Document
或 XMLHTTPRequest
。您想要使用的任何库都不能依赖于这些对象中的任何一个,不幸的是,这消除了大多数常见的 JS 库。我能够找到一个 XML 设法避免这种情况的解析库,这对我很有帮助 https://code.google.com/p/marknote/
至于尝试在测试中创建 post,我认为您唯一的选择是使用 UIAHost.performTaskWithPathArgumentsTimeout
(see here) 调用 curl 或 python 脚本或将需要的参数作为参数的东西 post。此方法 returns 如果您还需要执行 get 调用的输出。
至于你的 null 错误,有点奇怪,虽然我以前遇到过 null 或 undefined 错误(我认为这永远不会发生)。我注意到你有两次 new
这个词,也许如果你去掉其中一个,你会得到一个 XMLHttpRequest variable not found 或类似的东西。希望这会有所帮助。