代码之家  ›  专栏  ›  技术社区  ›  user2451016

如何在Reactnative应用程序的测试自动化中重用StepDefinition和pageobjects?

  •  1
  • user2451016  · 技术社区  · 5 年前

    我已经创建了一个JavaCucumber框架,它使用Cucumber JVM、appium、Java、maven在ReactNative驱动的应用程序上运行自动化场景。 因此,使用ReactNative,我们有Android和iOS应用程序。

    问题1:而对于移动设备,虽然页面对象方法相同,但IOS和Android的定位器不同。[我没有使用过Page factory(@Findby annotations),因此,我想知道如何在Android上重用iOS编写的Page对象方法? 问题2:我使用了Pico容器将页面对象植入Step def。 World在BaseClass中实例化,基类是Android和iOS stepdef的父类。但如果我调用,Android步骤中的page objectmager会发生异常,然后得到NullPointer异常。

    问题3:使用cumber如何重用Android的iOS的step-defs实现?

    我们使用单例模式来实例化Appium驱动程序。

    1 回复  |  直到 5 年前
        1
  •  1
  •   user861594    5 年前

    你应该看看 QAF 它是为了支持web、移动和web服务功能测试自动化而设计的,包括 BDD .

    locator repository 概念 resource management 您可以使用相同的代码/页面。

    此外,您还可以在项目中为不同的平台或跨项目重用步骤实现(在jar中打包和在project中添加jar的通用可重用步骤)。如果由于功能不同,step在不同的平台上有不同的实现,您可以通过在不同的包中实现step来管理它。在这种情况下,你可以 configure step provider package

    简言之,您可以通过使用框架提供的不同概念来实现最高级别的可重用性。