java有没有办法处理并行selenium测试执行的应用程序会话超时?
我有一个需要用户ID密码登录的应用程序。我目前正在使用selenium和java自动化其测试场景,并需要这些测试并行运行。我为自动化测试创建了一个用户ID。但当我并行运行它们时,随机测试会出现会话超时错误,执行失败
我的chromedriver启动是线程安全的,所以这不是问题
在与应用程序的开发人员交谈时,我了解到,不允许同一用户同时登录,之前打开的会话收到超时错误。我甚至试着以匿名的方式打开它们,但那没用。所以目前我认为,对于并行执行: 创建并行运行所需的用户数量,并为每个测试类提供独立的用户ID
有没有其他方法来处理这种情况?我认为为自动化测试创建几个用户ID总是很麻烦的
# 1 楼答案
您可以对所有webdriver实例使用一组cookie。为此,创建变量“Set cookies”,该变量将从所有线程访问
例如,如果您使用一个超类来继承所有测试类,那么将静态变量添加到该超类中
在登录操作中,检查变量是否为null。如果为真-登录并从webdirver获取cookies。如果为false,则将Cookie设置为webdriver,而不进行登录操作