2014-10-21 60 views
2

我仍然在学习使用Android应用程序进行Appium测试。我想知道这是否可行。使用Appium黑色测试Android应用程序

让我们说我有A.apk,我想要安装A.apk到我的Android设备,然后启动应用程序并尝试点击每个可点击的链接(按钮,帮助链接,图像链接等)和看看有没有人坏了。

我没有访问A.apk的源代码,但是我可以潜在地需要这样做,以高达100个其他Android应用因此手动目测每个链路是完全不可能。

回答

1

简短回答是:是的,你可以
编写此类测试的努力程度取决于您希望测试的深度,但即使在最复杂的情​​况下也不需要任何应用程序源。

下面是更详尽的答案。

你可以写黑箱测试仅在用户应该看到UI元素依托。
在许多情况下,通过出现在文本上的文本来识别可点击的对象就足够了。

测试快照的java:

// find your button by the text 
WebElement button = driver.findElement(By.name("my button")); 
button.click(); 
// you can then wait for the next screen to appear, scroll to element, etc. 

// then you verify that certain text is on screen 
WebElement title = driver.findElement(By.text("some Title")); 
assertNotNull(title); 

您可以参考examplessome documentation

对于更复杂的情况,当您不希望/不能只依赖文本时,您可能需要使用类(即Button,TextView,EditText),XPath值,屏幕上唯一的id字符串来手动识别某些元素。
您可以通过使用appium inspectorUI automator viewer下测试检查应用程序(你需要做的只是一旦你写你的测试之前)获得所有这些信息。
同样,除了.apk文件外,您不需要任何东西。

+0

谢谢kiruwka!
是否有可能完全黑试验一个apk,这意味着甚至没有运行一次uiautomatorviewer?例如,我可以使用Appium启动apk。然后使用深度优先搜索,并按照每个可点击的WebElement,无论按钮,文本视图,视图等 – user908645 2014-10-28 07:21:34

+0

@ user908645当然你可以做到这一点。但是,在我的理解中,功能性UI测试通常与手动用户测试具有相同的含义:即,用户点击“Button1” - >他应该“看到第2页文本'abc'等。 – kiruwka 2014-10-28 07:35:50

0

你不一定需要源代码,以全面测试您的APK。由于Appium提供测试APK的好方法(不需要src),为什么不使用真实设备自动化测试呢?模拟器不幸的是没有提供好的结果(没有OEM定制,没有真正的硬件,网络等)。

+0

非常感谢erkz的信息。是的,我选择Appium的原因是,从我读过的关于它Appium可以用于apk的黑色测试,没有源代码。但是我找到的所有示例都要求我使用某种标识符,例如resource-id,text等,通过findElements ...调用来定位特定的WebElement。让我们说如果我不知道xpath,resource-id,apk文本的使用,我如何遍历当前页面上所有可点击的链接/按钮。并进一步了解如何从一个活动导航到另一个活动。任何示例代码有助于 – user908645 2014-10-23 04:15:45

相关问题