Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试访问工具栏按钮为零_Javascript_Ui Automation - Fatal编程技术网

Javascript 尝试访问工具栏按钮为零

Javascript 尝试访问工具栏按钮为零,javascript,ui-automation,Javascript,Ui Automation,我一直在为我正在编写的应用程序编写一些自动化脚本,并一直在尝试让以下功能正常工作。我最终能够正确地完成它,但是使用了一些不同的代码。在我看来,以下两个代码片段是相同的,但只有第一个似乎有效。我想了解一下原因。是我的JavaScript技能不够好,还是UIAutomation特有的 // Define some global variables -- THIS WORKS var target = UIATarget.localTarget(); var app = target.frontMos

我一直在为我正在编写的应用程序编写一些自动化脚本,并一直在尝试让以下功能正常工作。我最终能够正确地完成它,但是使用了一些不同的代码。在我看来,以下两个代码片段是相同的,但只有第一个似乎有效。我想了解一下原因。是我的JavaScript技能不够好,还是UIAutomation特有的

// Define some global variables -- THIS WORKS
var target = UIATarget.localTarget();
var app = target.frontMostApp().mainWindow();
var toolbarButtons = app.toolbar().buttons();
toolbarButtons["Back"].tap();
这失败了

var target = UIATarget.localTarget();
var app = target.frontMostApp().mainWindow();
var backButton = app.toolbar().buttons()["Back"];
backButton.tap();
第二个失败的代码片段说,我得到了按钮的nil值。如果有人能帮我指出第二种方法不正确的原因,我将不胜感激。我不得不多次点击后退按钮,backButton.tap看起来更干净

更新:下面是失败的确切代码

// Define some global variables
var target = UIATarget.localTarget();
var app = target.frontMostApp().mainWindow();

// List everything we see
UIALogger.logStart("Logging app...");
app.logElementTree();
UIALogger.logPass();

// Function for moving into and out of every home screen option
var homeToViewAndBack = function() {
    var backButton = app.toolbar().buttons()["Back"];
    // Let's go down the list of buttons

    app.buttons()["VideoHomeButton"].tap();
    backButton.tap();

    UIALogger.logPass("Basic navigation works.");
}

// Call our functions
homeToViewAndBack();
此给定错误脚本引发了未捕获的JavaScript错误:无法对无效元素执行操作:来自target.frontMostApp.mainWindow.toolbar.buttons[返回]的UIAElementNil。然而,上面第一个代码片段中的代码工作起来很有魅力

为了再次确认,我将“后退”按钮上的文本更改为“主页”,并尝试了以下代码…第一次调用“后退”按钮有效,但第二次失败:

var homeToViewAndBack = function() {
var toolbarButtons = app.toolbar().buttons();
var backButton = app.toolbar().buttons()["Home"];
// Let's go down the list of buttons
app.buttons()[0].tap();
toolbarButtons["Home"].tap();

app.buttons()[1].tap();
backButton.tap();

UIALogger.logPass("Basic navigation works.");
}

运行你的场景模型,对我来说都成功了。您能提供一个关于这个问题的实时/JSFIDLE示例吗?运行您的场景的模型,对我来说都成功了。您能提供一个关于这个问题的实时/jsfiddle示例吗?