问:CodeceptJS“未知错误”:调用函数结果缺少“值”

Posted

技术标签:

【中文标题】问:CodeceptJS“未知错误”:调用函数结果缺少“值”【英文标题】:Q: CodeceptJS "unknown error": call function result missing 'value' 【发布时间】:2018-08-16 23:02:14 【问题描述】:

这是我的测试

 Feature('Test');

    Scenario('test something', (I) => 

        I.amOnPage("");
        I.see("Welcome");
        I.fillField('j_username', 'xxxxxx');
        I.wait(3);
    );

这是我的 codeceptjs.JSON


  "tests": "asd/*_test.js",
  "timeout": 10000,
  "output": "./output",
  "smartwait":"1000",
  "helpers": 
    "WebDriverIO": 
      "url": "http://localhost:8080/xxxx/",
      "browser": "chrome"
    
  ,
  "include": 
    "I": "./steps_file.js"
  ,
  "bootstrap": false,
  "name": "yenideneme"

我正在尝试使用带有 Webdriverio 助手的 CodeceptJS 进行端到端测试。连接到服务器,I.see("") 通过。但是添加了I.fillField() 采取了这个错误=

test something:
unknown error: call function result missing 'value'

我尝试更新 chrome 和 chromedriver 但没有成功。

和其他项目采取错误= 2) e2e "after each" hook: finalize codeceptjs for "welcome Page @fristBlank": unknown error: call function result missing 'value'

【问题讨论】:

【参考方案1】:

这可能与 Chrome 65 的问题有关。从 Chrome 64 升级后,我开始看到同样的问题。降级到版本 64 应该会暂时有所帮助。

一个长期的解决方案是确保将 Chromedriver 升级到 2.36 版,该版本应该可以与 Chrome 65 一起使用。但是,简单的“npm install chromedriver”可能还不够。您的 Selenium 可能仍会尝试加载旧版本。实际的解决方案取决于您的环境设置。

【讨论】:

我在安装后卸载了所有东西但没有工作。得到同样的错误。 在四处寻找之后,我发现我的 selenium-standalone 正在运行其默认设置,无论我安装哪个版本,它都有 chromedriver-2.33。 GitHub 上已经有一个带有修复的拉取请求。同时,为了解决这个问题,您可以使用以下命令运行 selenium-standalone:selenium-standalone start --drivers.chrome.version=2.36 我尝试了这个命令,但不工作。正如您在运行测试或打开 chrome 时所说的 chrome 和 selenium-standalone 更新请求。为此安装 chrome 64 版本并关闭 chrome 更新。如果不禁用 chrome 更新,则始终请求 chrome 更新并出现不兼容问题。 Selenium 独立更新不是运行问题。问题真的解决了,谢谢楼主。【参考方案2】:

昨天在 chrome 更新 (v65) 后遇到了同样的问题。

从该站点卸载并下载版本 63。

http://www.geocities.jp/ecvcn/exam/chrome_installer.html

问题解决了。

【讨论】:

VVO 刚刚更新了 selenium-standalone 包。请更新它,它将适用于 chrome 版本 65。

以上是关于问:CodeceptJS“未知错误”:调用函数结果缺少“值”的主要内容,如果未能解决你的问题,请参考以下文章

selenium.common.exceptions.WebDriverException:消息:未知错误:调用函数结果缺少“值”

未知错误:即使在 chromedriver 升级后,调用函数结果也缺少 Selenium Send Keys 的“值”

Selenium WebDriverException:未知错误:使用Java调用函数结果缺少'value'

如何使用 REST + CodeceptJS 测试 API,访问受 Auth0 保护?

使用 CodeceptJS 时如何打开新选项卡或窗口

使用 CodeceptJS/WebdriverIO 并行执行浏览器