Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.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
阿皮姆公司;Webdriver(webdriverjs)-无法执行javascript代码_Javascript_Selenium_Selenium Webdriver_Webdriver_Appium - Fatal编程技术网

阿皮姆公司;Webdriver(webdriverjs)-无法执行javascript代码

阿皮姆公司;Webdriver(webdriverjs)-无法执行javascript代码,javascript,selenium,selenium-webdriver,webdriver,appium,Javascript,Selenium,Selenium Webdriver,Webdriver,Appium,我正在尝试使用执行javascript Appium测试。我的代码应该如下所示: "use strict"; var wd = require("wd"); var chai = require("chai"); var chaiAsPromised = require("chai-as-promised"); var jQuery = require("jQuery"); chai.use(chaiAsPromised); chai.should(); chaiAsPromised.tra

我正在尝试使用执行javascript Appium测试。我的代码应该如下所示:

"use strict";

var wd = require("wd");
var chai = require("chai");
var chaiAsPromised = require("chai-as-promised");
var jQuery = require("jQuery");

chai.use(chaiAsPromised);
chai.should();
chaiAsPromised.transferPromiseness = wd.transferPromiseness;
var desired = {
    "appium-version": "1.0",
    platformName: "iOS",
    platformVersion: "7.1",
    deviceName: "iPhone Retina (3.5-inch)",
    app: "/Users/{myuser}/Library/Developer/Xcode/DerivedData/{MyApp}/Build/Products/Debug-iphonesimulator/MyApp.app",
};

var browser = wd.promiseChainRemote("0.0.0.0", 4723);


browser.init(desired).then(function() {

    var getIframe = function(){
        //var r = jQuery('#myIframe');
        return {'response':"1"};//only for testing that this method works...
    };

    return browser

        .elementByName("Show Webview").click()
        .sleep(10000)
        .contexts().then(function (contexts) { // get list of available views. Returns array: ["NATIVE_APP","WEBVIEW_1"]
            return browser.context(contexts[1]); // choose the webview context
        })
        .execute(getIframe).then(function(res){
            console.log(res);
        })
        .sleep(10000)
        .fin(function() {
            //return browser.quit();
        });
}, function(e){console.log(e);}).done(); 
我使用
节点mytest.js运行此代码

问题是我不能执行js代码。在这种情况下,我得到以下错误:

Error: [execute()] Not JSON response
我做错了什么

评论:

  • 我最后要做的是使用
    iFrame.contentDocument

  • 我使用“像这样执行”的操作来自post

  • tnx, 亚尼夫

    更新:

    我已经设法使用“safeExecute”方法而不是“execute”来执行javascript。 我现在的问题是我没有访问“window”对象的权限,所以我无法运行“jQuery”或“window.document.getElementById”