Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 如何在Reactnative应用程序中重用步骤定义和页面对象';s测试自动化?_React Native_Selenium Webdriver_Appium_Cucumber Jvm - Fatal编程技术网

React native 如何在Reactnative应用程序中重用步骤定义和页面对象';s测试自动化?

React native 如何在Reactnative应用程序中重用步骤定义和页面对象';s测试自动化?,react-native,selenium-webdriver,appium,cucumber-jvm,React Native,Selenium Webdriver,Appium,Cucumber Jvm,我创建了一个JavaCumber框架,它使用CumberJVM、appium、Java和maven在本机驱动的应用程序上运行自动化场景。 因此,使用ReactNative,我们有Android和iOS应用程序 该框架基于Selenium多浏览器概念,其中驱动程序一旦实例化(对于浏览器),就可以利用现有的页面对象 问题1:对于移动设备,虽然页面对象方法相同,但IOS和Android的定位器不同。[我没有使用页面工厂(@Findby annotations),因此,我想知道如何在Android上重用

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

该框架基于Selenium多浏览器概念,其中驱动程序一旦实例化(对于浏览器),就可以利用现有的页面对象

问题1:对于移动设备,虽然页面对象方法相同,但IOS和Android的定位器不同。[我没有使用页面工厂(@Findby annotations),因此,我想知道如何在Android上重用iOS编写的页面对象方法? 问题2:我使用Pico容器将页面对象植入Step defs。 World在基类中实例化,基类是Android和iOS Stepdefs的父类。但如果我调用,Android Stepdefs中的page objectmager将获得NullPointer异常

问题3:使用Cucumber如何重用Android版iOS的step defs实现

我们使用Singleton模式进行Appium驱动程序实例化。

您应该了解一下,该模式旨在通过不同的测试创作方式支持web、移动和web服务功能测试自动化,包括

使用concept With,您可以使用相同的代码/页面

此外,您还可以在项目内为不同的平台或跨项目重用步骤实现(打包在jar中的常见可重用步骤和在项目中添加的jar)。如果由于功能不同,步骤针对不同的平台有不同的实现,您可以通过在不同的包中进行步骤实现来管理。在这种情况下,您可以在执行时进行管理

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

您是否也有一些基于javascript(wdio)的示例?谢谢