Ios 推送新视图控制器(tuneup.js)后UIAutomation测试失败

Ios 推送新视图控制器(tuneup.js)后UIAutomation测试失败,ios,ui-automation,ios-ui-automation,Ios,Ui Automation,Ios Ui Automation,我刚开始尝试使用tuneup.js实现UIAutomation。我可以很好地测试我的第一个窗口,但第二个窗口失败了——我的应用程序仍在查看第一个窗口,并看到例如“使用Facebook登录”按钮。我尝试过增加延迟,但这似乎没有帮助。知道我做错了什么吗 #import "tuneup.js" target = UIATarget.localTarget(); application = target.frontMostApp(); test("Test first-run view contro

我刚开始尝试使用tuneup.js实现UIAutomation。我可以很好地测试我的第一个窗口,但第二个窗口失败了——我的应用程序仍在查看第一个窗口,并看到例如“使用Facebook登录”按钮。我尝试过增加延迟,但这似乎没有帮助。知道我做错了什么吗

#import "tuneup.js"

target = UIATarget.localTarget();
application = target.frontMostApp();

test("Test first-run view controller", function(app, target) {
 assertWindow({
              buttons : [
                         { name : "Sign in with Facebook"},
                         { name : "Create account"},
                         { name : "Login"},
                         { name : "Try"}
              ], 
              onPass: function(window) {

                var createAccountButton = window.buttons()["Create account"]
                createAccountButton.tap();
              }

 });

});

test("Test Sign-in screen", function(app, target) {
 assertWindow({
    buttons : [
              { name : "Sign up"}
        ]
 });

 });

啊,我发现发生了什么事。我没有意识到,但我的登录屏幕有一个包含按钮的滚动视图。该代码运行良好:

test("Test the account creation", function(app, target) {
 assertWindow({
              scrollViews: [
                    { buttons : [
                            {name :"Sign up"},
                            {name : "Terms and Conditions"}
                            ]

              }
                            ],
              onPass: function(window) {
                var signUpButton = window.scrollViews()[0].buttons()["Sign up"];
                signUpButton.tap()
              }
 });

 });

只是想知道你的脚本是否在真正的设备上运行?模拟器?或者没有?嘿@WendyMunmunWang,如果我没记错的话,我在设备和模拟器上都运行了脚本,但是我已经很久没有看过tuneup.js了。苹果不赞成基于JS的UIAutomation,并添加了一个新的基于Objective-C的UI测试功能。@MaxBabriel你认为不使用任何模拟器或真实设备运行是可能的吗?我想通过阅读得到测试结果logs@WendyMunmunWang不,我很确定你需要在模拟器或设备上运行它。有些东西必须运行代码。可以让测试将结果记录到您可以读取的文件中