gpt4 book ai didi

java - TestNG,Selenium 如何在多个类之间共享对象

转载 作者:行者123 更新时间:2023-11-29 05:02:40 25 4
gpt4 key购买 nike

我正在使用 Selenium + TestNG 执行我的测试用例。我的测试用例分布在多个类中。我想在每个类(class)都使用相同的 webDriver 副本。 (我不想每次都登录然后执行其他操作,所以每个类调用单独浏览器的选项都消失了)。为了解决这个问题,现在我正在使用静态 webdriver 对象的继承。但是在并行模式下使用 Selenium 网格时,它不起作用,因为它使用相同的对象。你能告诉我一种方法吗,我可以与多个类共享对象或者在每个“测试”上创建一个不同的静态实例(就像,我为每个测试运行单独的 Java 程序)。

最佳答案

目前您正在跨各种类/测试使用 webdriver 对象的静态引用。因此,只有一个驱动程序实例正在修改代码中的静态资源。但是当你选择网格时,你将为每个节点创建不同的驱动程序实例。这些驱动程序将并行运行,并将访问共享资源(静态变量等),同时更改和覆盖其他驱动程序实例所做的更改,这将导致问题。

编写您的代码,使资源不共享(最少使用静态)。尝试将您的驱动程序实例传递给方法,以确保所需的驱动程序只执行那段代码。

关于java - TestNG,Selenium 如何在多个类之间共享对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31532121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com