2017-09-21 18 views
0

我使用appium对Android应用的自动化工作使用,根据业务需求都UI(移动&平板电脑)彼此不同(70%)。由于这一些额外的控制正在出现的平板电脑而不是手机在某些情况下,ID或XPath也不同,对于相同的元素这两个设备。 例子:手机和平板电脑的ID不同和在某些情况下,一些标识没有出现在移动的情况下,提出一个逻辑测试

By headerNameTablet = By.id("com.android.appname:id/header_title"); 

By headerNameMobile = By.id("com.android.appname:id/titleView"); 

我手机和平板电脑之间的区别登录后进入应用程序中使用我的脚本(使用硒和JAVA)和存储文本“移动”或“平板”在一个全局变量名称设备类型。

考虑到上述情况,请建议我怎么能写一个测试方法,以便在运行时所需的ID或XPath被调用。如果我使用'if else'条件,那么维护代码将会非常复杂。

提前致谢!

+0

答案很简单,停止使用基于ID定位器,尝试使用是基于相对位置webelements XPath或cssSelector。 – kushal

+0

原生应用程序不能混成一片。在这种情况下可以使用相对xpath ..?那些仅出现在平板电脑上但不会在移动的情况下出现的元素呢?你能否在这方面多解释一下。谢谢! –

+0

对于只出现一个样的设备可以处理他们在try..catch块和相关的XPath应该工作的那些属性。 – kushal

回答

0

如果两个手机和平板电脑将具有相同的文字内容,请使用By.name("your text")

相关问题