【问题标题】:How to execute testng test cases with shared webdriver?如何使用共享 webdriver 执行 testng 测试用例?
【发布时间】: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


【解决方案1】:

实际上,Agiletestware 有一个Bumblebee 产品,其中包含 java 注释包,可以与 TestNG 和 Selenium WebDriver 一起使用,将测试用例结果报告给 HP ALM。它甚至可以将失败的测试用例的屏幕截图上传到 ALM。

请参阅文档:https://www.agiletestware.com/docs/bumblebee-docs/en/latest/qa-frameworks/selenium-webdriver/

免责声明:我是 Bumblebee 开发人员。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-17
    • 2016-03-04
    • 2016-10-24
    • 1970-01-01
    相关资源
    最近更新 更多