【问题标题】:How can we make use of Selenium WebDriver and Appium in the same scenario implemented using Cucumber?我们如何在使用 Cucumber 实现的相同场景中使用 Selenium WebDriver 和 Appium?
【发布时间】:2020-01-18 00:57:21
【问题描述】:

我有一种情况,我需要在网站 (Selenium) 中执行一些步骤,在其中我执行一些步骤来创建一些数据并将它们推送到移动应用程序。我想在移动端(Appium)上工作并继续前进。一旦我在移动设备上完成操作。我必须再次在网站上验证相同的内容。 这一切都需要在一个场景中完成,因为我不希望我的场景依赖于其他场景。 基本上,网络流将出现在我要编写的每个场景中。

现在,当我尝试使用 Background 或 @Before 执行此操作时,即使我的 Appium 对象也被实例化并保持空闲状态,直到 WebDriver 执行其步骤。我希望我的 AppiumDriver 仅在执行 WebDriver 步骤之后才被实例化。我感谢您的帮助。蒂亚!

【问题讨论】:

    标签: java selenium appium


    【解决方案1】:

    在该功能的任何场景之前在该功能中设置一次背景。

    before 每次在任何场景之前执行。

    根据您的要求,这取决于您何时初始化 AppiumDriver 实例,这意味着如果您在小黄瓜语句中初始化您的 appium 驱动程序,那么使用 before 可以为您工作,请使用

    标记的钩子 可以定义一个钩子,使其仅在使用指定注释标记的场景之前或之后执行,例如:

    Feature: web text munger kata
      @web
      Scenario: It should process a sentence
    

    标记您之前需要此操作的场景,以便仅为它运行,而不是为所有人运行

    步骤定义:

    @Before("@web")
    public void beforeScenario() {
      // perform your webdriver code
    }
    

    为了更好地理解,请点击以下链接:

    https://zsoltfabok.com/blog/2012/09/cucumber-jvm-hooks/

    【讨论】:

      猜你喜欢
      • 2018-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-30
      • 1970-01-01
      • 2020-06-16
      • 1970-01-01
      相关资源
      最近更新 更多