当前位置: 首页 > 面试题库 >

Webdriver.io崩溃,并显示NoSessionIdError

宿嘉
2023-03-14
问题内容

我正在尝试使webdriver.io和Jasmine工作。

按照他们的示例,我的脚本位于test/specs/first/test2.js(根据配置),其中包含:

var webdriverio = require('webdriverio');


describe('my webdriverio tests', function() {

    var client = {};
    jasmine.DEFAULT_TIMEOUT_INTERVAL = 9999999;

    beforeEach(function() {
        client = webdriverio.remote({ desiredCapabilities: {browserName: 'firefox'} });
        client.init();
    });

    it('test it', function(done) {
        client
            .url("http://localhost:3000/")
            .waitForVisible("h2.btn.btn-primary")
            .click("h2.btn.btn-primary")
            .waitForVisible("h2.btn.btn-primary")
            .call(done);
    });

    afterEach(function(done) {
        client.end(done);
    });
});

我使用wdio作为测试运行程序,并使用交互式设置进行设置。该配置是自动生成的,并且都非常简单明了,因此我认为不需要发布它。

在另一个终端窗口中,我正在使用Java 7运行selenium-server-
andalone-2.47.1.jar。我的计算机上确实安装了Firefox(运行测试时空白启动),并且我的计算机正在运行OS 10.10。 5,

当我启动测试运行程序时,会发生以下情况:

$ wdio wdio.conf.js


=======================================================================================
Selenium 2.0/webdriver protocol bindings implementation with helper commands in nodejs.
For a complete list of commands, visit http://webdriver.io/docs.html. 
=======================================================================================

[18:17:22]:  SET SESSION ID 46731149-79aa-412e-b9b5-3d32e75dbc8d
[18:17:22]:  RESULT      {"platform":"MAC","javascriptEnabled":true,"acceptSslCerts":true,"browserName":"firefox","rotatable":false,"locationContextEnabled":true,"webdriver.remote.sessionid":"46731149-79aa-412e-b9b5-3d32e75dbc8d","version":"40.0.3","databaseEnabled":true,"cssSelectorsEnabled":true,"handlesAlerts":true,"webStorageEnabled":true,"nativeEvents":false,"applicationCacheEnabled":true,"takesScreenshot":true}
NoSessionIdError: A session id is required for this command but wasn't found in the response payload 
    at waitForVisible("h2.btn.btn-primary") - test2.js:21:14

/usr/local/lib/node_modules/webdriverio/node_modules/q/q.js:141
                throw e;
                      ^
NoSessionIdError: A session id is required for this command but wasn't found in the response payload



0 passing (3.90s)


$

我发现这非常奇怪且莫名其妙,尤其是考虑到它甚至可以打印会话ID。

有任何想法吗?


问题答案:

请查看有关wdio测试运行程序的文档。您不需要自己使用init创建实例。wdio测试运行程序会为您创建和结束会话。

您的示例涵盖了独立的WebdriverIO用法(不带testrunner)。您可以在此处找到使用wdio的示例。

需要说明的是:有两种使用WebdriverIO的方法。您可以自己将其嵌入到测试系统中(作为独立的或作为刮板使用)。然后,您需要处理诸如创建和结束实例或并行运行这些实例之类的事情。使用WebdriverIO的另一种方法是使用其测试运行程序wdio。testrunner会获取一个配置文件,其中包含有关测试设置的大量信息,并生成实例更新Sauce
Labs等上的作业信息。



 类似资料:
  • 我在我的iOS应用程序中实现了Firebase Crashlytics。我遵循了firebase文档中的所有步骤。我已经在没有调试器的情况下运行了crashlytics,方法是先关闭应用程序,然后重新运行应用程序,以便发送崩溃报告。我甚至收到这个信息 崩溃上载提交成功 我甚至将Run脚本和set变量添加到“dwarf with dsym”

  • 我的Crashlytics DSYM仍然显示它不见了。我昨天上传了Crashlytics符号。 **更新:我找到了问题和解决方案。请核对答案

  • 我正在努力使用LWJGL使用OpenGL创建一个带有照明引擎的2D Java游戏,但是在尝试链接键盘输入时,我遇到了一堵墙。 渲染循环工作正常,但当我尝试实现JFrame/canvas和getParent/keylister组合时,应用程序在启动后立即崩溃。我必须在netbeans中关闭应用程序-窗口不会响应右键单击开始工具栏中的应用程序条目。 当然,在这一点之后还有更多代码,但它都已经过测试并正

  • 我刚开始学习android应用程序开发。我尝试创建一个非常简单的应用程序,它只会以全屏模式将用户重定向到我们的主页。 但是如果我启动应用程序,那么一个黑色窗口显示不到半秒钟,应用程序就会关闭。 我不知道如何调试/修复这个,我希望有人能帮助初学者!谢谢! app\src\main\res\layout\activity\u全屏显示。xml app\src\main\java\com\example\

  • 当遵循这个指南并进入链接中的步骤时,我的web.1 dyno立即崩溃。我没有改变他们在指南中所说的任何东西。然后,我试图确保我的数据库是用< code > heroku run:detached rake db:migrate 创建的,并且超时了。 任何信息都很好。

  • 我试图在solaris机箱中使用远程Weblogic服务器配置jProfiler。服务器正常启动,但是当我将jProfiler GUI连接到服务器时,出现以下错误,服务器崩溃。tmp目录具有足够的访问权限和空间。我可以看到一些文件,比如jpcOYaysx,是在tmp目录中创建的。有人能帮我解决这个问题吗?我们是否有特定于jProfiler的日志,如何配置它? 我找不到任何帮助页面/文档编辑jPro