【问题标题】:Selenium server parallel tests error: invalid session idSelenium 服务器并行测试错误:无效的会话 ID
【发布时间】:2020-02-08 19:38:47
【问题描述】:

嗨,谁能告诉我在 Selenium 服务器上运行并行测试时我做错了什么?
我在课堂上有这个简单的并行测试:

package tests;

import categories.Category1;
import com.google.code.tempusfugit.concurrency.ConcurrentTestRunner;
import org.junit.Before;
import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.junit.runner.RunWith;

@RunWith(ConcurrentTestRunner.class)
@Category(Category1.class)
public class ParalelTest extends Base
{
    protected String siteUrl = "/waitforit.php";

    @Before
    public void setUp()
    {
        driver.get(baseUrl + siteUrl);
    }

    @Test
    public void test1()
    {
        System.out.println("test1() thread name: " + Thread.currentThread().getName());
    }

    @Test
    public void test2()
    {
        System.out.println("test2() thread name: " + Thread.currentThread().getName());
    }

    @Test
    public void test3()
    {
        System.out.println("test3() thread name: " + Thread.currentThread().getName());
    }

    @Test
    public void test4()
    {
        System.out.println("test4() thread name: " + Thread.currentThread().getName());
    }
}

这是出现错误的屏幕:

这有什么问题?没有服务器它工作正常。

【问题讨论】:

    标签: java selenium selenium-webdriver junit parallel-processing


    【解决方案1】:

    此错误消息...

    org.openqa.selenium.NoSuchSessionException: no such session
    

    ...暗示 chromedriver=80.0 无法使用 Chrome 浏览器 v80.0 启动/生成新的浏览上下文 >.


    您的主要问题是您使用的二进制文件之间的版本不兼容,如下所示:

    • 虽然您使用的是最新的 Selenium Client 版本 3.141.59Chrome 驱动程序 版本 80.0Chrome 版本 v80.0
    • 您的 JDK 版本1.8.0_65,相当古老

    解决方案

    一个通用的解决方案是:

    • JDK升级到JDK 8u241的最新级别。
    • 清理你的项目工作区通过你的IDE重建你的项目只需要依赖。
    • 如果您的基础 Web Client 版本太旧,请通过 Revo Uninstaller 卸载它并安装最新的 GA 和发布版本的 Web Client
    • 进行系统重启
    • 执行您的@Test

    更新

    但是,invalid session ID 错误是WebDriver error,当服务器无法识别唯一的会话标识符时发生。如果会话已被删除会话 ID 无效,则会发生这种情况。

    可以通过以下任一方式删除 WebDriver 会话:


    参考

    您可以在以下位置找到相关的详细讨论:

    【讨论】:

    • 我会试试的。但是,如果我在一个线程中运行此测试,它会运行良好....
    • 我确实更新了 Java JDK,但问题不在 Java 中,而是在静态 WebDriver 中,如果某些测试关闭且驱动程序相当,则会导致缺少会话 ID。
    • @Čamo 查看更新的答案并让我知道状态。
    • 第一部分不正确。不是版本不兼容。删除它,它可以被接受。
    猜你喜欢
    • 1970-01-01
    • 2019-09-23
    • 1970-01-01
    • 1970-01-01
    • 2021-02-18
    • 2020-10-19
    • 1970-01-01
    • 2015-01-08
    • 1970-01-01
    相关资源
    最近更新 更多