Java 在Appium ios中使用Selenium Webdriver选择器
我参与的一个项目是在开发一个web应用程序的同时开发一个ios应用程序(用于相同的目的),我希望能够使用现有的Selenium测试,但我们在选择器方面遇到了问题。Selenium Webdriver和Appium ios是否都有一个选择器类型或属性名称,这样我就可以将变量设置为浏览器或应用程序,它们可以同时运行和工作。在这个项目中,以前没有人使用过Appium,所以我们缺乏很多知识 我尝试使用ID,发现ios无法使用它们,改为名称,发现名称已从appium中删除。如果可能的话,我们更愿意在浏览器中使用与应用程序中相同的选择器Java 在Appium ios中使用Selenium Webdriver选择器,java,selenium,testing,appium-ios,Java,Selenium,Testing,Appium Ios,我参与的一个项目是在开发一个web应用程序的同时开发一个ios应用程序(用于相同的目的),我希望能够使用现有的Selenium测试,但我们在选择器方面遇到了问题。Selenium Webdriver和Appium ios是否都有一个选择器类型或属性名称,这样我就可以将变量设置为浏览器或应用程序,它们可以同时运行和工作。在这个项目中,以前没有人使用过Appium,所以我们缺乏很多知识 我尝试使用ID,发现ios无法使用它们,改为名称,发现名称已从appium中删除。如果可能的话,我们更愿意在浏览器
谢谢如何创建多个对象存储库并基于底层平台加载相关的对象存储库
1.因此,您需要将这两个平台的定位器存储在单独的存储库中
2.创建一个接口/包装器,该接口/包装器将根据要运行测试的平台加载相关的存储库。您可以创建一个对象存储库文件,其中包含WebApp和iOS app的定位器。然后,您必须遵循以下流程
WebDriver
和AppiumDriver
实例WebDriver
和AppiumDriver
标识元素的方式将有所不同。例如,在WebDriver
中,如果使用ID
标识元素,则类似地,在AppiumDriver
中,可以使用findelementbaccessibilityid
标识元素
即使AppiumDriver
使用与WebDriver
相同的逻辑,方法名称也会有所不同。请查找AppiumDriver
希望这能有所帮助。没有完全理解这个问题,但对于Appium,您已经为bot iOS和Android平台分别添加了注释,类似于web via:
@FindBy(id="buttonOK")
private WebElement buttonPopUp;
下面是Android和iOS的示例
@iOSFindBy(id = "lets_do_it")
@AndroidFindBy(id = "message_popup_dismiss_button")
@WithTimeout(unit = TimeUnit.SECONDS, time = 1)
private MobileElement buttonPopUp;
所以在同一个pageObject中,您已经涵盖了这两种平台
移动平台可以一起工作,但建议不要混合使用web和移动设备,但移动平台可以很好地一起工作,并且建议可以共享相同的代码功能