【发布时间】:2017-10-02 07:29:12
【问题描述】:
我想在 HP ALM 中报告我的 selenium 测试用例的每个步骤。报告必须与执行并行进行,即在执行第一步之后,必须在 ALM 中报告,依此类推。我在 excel 文件中将每个测试用例的状态写为通过/失败,然后在 ALM 中报告。
我为每个步骤创建了单独的类,并尝试使用 testng.xml 文件在命令提示符下执行每个步骤 使用的命令是:
java -cp “.\bin;.\libs\*” org.testng.TestNG -testnames “Login” testng.xml
这会成功执行第一步,并在我的 excel 文件中将输出作为通过/失败返回。
现在,当我执行第二步(作为第二级)时,它将再次运行 @BeforeSuite 方法,该方法创建一个单独的浏览器实例,我不想要它,因为我想从我的第一步完成的那个特定点继续。
注意:我为浏览器初始化创建了一个单独的类,并将我的 webdriver 声明为静态(在 @BeforeSuite 中初始化)并从该类继承我的测试用例,以便在所有人之间共享 webdriver。
简而言之,我的要求是一个一个地运行测试用例(不是作为一个完整的套件),并在所有测试用例之间共享 webdriver 实例。
我很抱歉没有提供我的代码,因为它是特定于客户的。 提前致谢。
【问题讨论】:
-
为 webdriver 使用 Singleton 类,它应该可以工作
-
首先,@BeforeSuite 的执行意味着你执行了第二个套件。通过一次 java 调用,您的所有测试都应该被执行。 “何时执行第二步”是什么意思?
标签: java selenium testng hp-alm