如何在移动应用中找到元素? (findElement By class,id)

时间:2015-07-24 15:04:50

标签: android testing automation ui-automation appium

我正在学习移动应用程序的自动化测试。     当我通过一些教程时,我发现我们可以使用UIAutomator Viewer定位元素 - 通过截屏和查找元素。     但通过截屏我找不到某些元素的元素。     那么,我们是否有其他方法可以找到元素或任何其他工具,如UIAutomator?
    请帮忙。     如果您有任何移动自动化测试的良好链接,请继续。     感谢。

3 个答案:

答案 0 :(得分:0)

UIAutomator由Android SDK提供,这是Android工具的一部分。 您可以使用Appium提供的工具。请参阅详细信息和示例here

答案 1 :(得分:0)

通常,安装UI自动装置,如果您在Windows中使用appium,如果使用mac,则可以使用appium检查器进行识别。

printf

如果您想点击它们,请添加find_element(class: "classname") find_element(id: "resource-id name")

.click

如果您仍然没有find_element(class: "classname").click idtext的详细信息,则可以选择添加content-desc

详细了解link

如果您是测试团队的一员,对正在开发的应用程序进行测试,您可以向开发人员提出错误,以防万一,没有唯一标识符,并要求开发团队添加一个。

答案 2 :(得分:0)

当您尝试使用UIautomatorviewer查找元素时,需要突出显示要查找定位器的元素。

如果它没有给你id,name或xpath那么你必须写         xpath手动。要手动编写xpath,请参阅这些link1link2

作为另一种选择,您可以使用appium桌面客户端查找移动应用中的元素。为此,您需要按照以下步骤进行操作

        1. In appium window, click on 'Start Inspector Session' icon
        2. In there you need to add the relevant capabilities there.

参考图片here

        desiredCapabilities.setCapability("app", "C:\\Users\\VWEERAY\\Desktop\\APPIUM\\mediashare.apk");
        desiredCapabilities.setCapability("appPackage", "com.android.chrome");
        desiredCapabilities.setCapability("appActivity", "org.chromium.chrome.browser.document.ChromeLauncherActivity");
        desiredCapabilities.setCapability("platformName", "Android");
        desiredCapabilities.setCapability("deviceName", "192.168.56.101:5555");
        desiredCapabilities.setCapability("deviceName", "AndroidDevice1:5554");
        desiredCapabilities.setCapability("platformVersion", "6.0");

        3.Then click on 'Start Session' in the bottom.

        4. It will open with a Mobile view and from there you can find locators like in the uiautomatorviewer.