【问题标题】:Limitations of test automation for mobile application using Appium使用 Appium 的移动应用程序测试自动化的局限性
【发布时间】:2019-12-07 09:24:30
【问题描述】:

我之前使用 Appium 进行了终端测试,并取得了巨大的成功。我正在使用 Appium 在 Python 中执行移动应用程序测试自动化。现在,我对我的前辈要求我表演的内容几乎没有疑问。

  1. 以登录 UI 为例。我知道在测试登录时有很多测试场景。我怎样才能自动化这样的测试用例?是否有必要将所有手动测试用例及其测试场景自动化?

  2. 在同一个示例测试用例中,是否有一种可能的方法可以在不使用 Appium 命令 sendkeys() 的情况下传递 USERNAME 和 PASSWORD 的文本值?因为他们说他们需要我们不对值进行硬编码的测试脚本。

  3. 最后,有没有一种方法可以识别打开了正确的 UI?例如,在同一示例中,如果登录屏幕包含额外的文本/图标/按钮等,有没有办法识别 UI 不是正确的?

我真的很困惑他们打算通过测试自动化实现什么。在我看来,他们似乎完全误解了自动化可以完全取代手动测试的想法,而手动测试显然不能。

请帮助并让我知道任何建议或建议。

提前致谢。

【问题讨论】:

    标签: python automation appium mobile-application qa


    【解决方案1】:
    1. 如果您不登录,如何继续进行测试?
    2. 您可以从任何地方(网络共享或其他)读取用户名和密码,并且仍然使用 sendKeys 方法。
    3. 是的,您可以通过验证预期项目是否存在或不再存在来检查是否打开了正确的 UI。

    我自己为一个 Android 应用程序编写了一个 Appium 测试,该应用程序执行登录并执行手动测试器会执行的所有操作,包括等待通知、使用剪贴板、使用 android 上的 chrome 浏览器等操作,...

    我建议查看 Selenium 和 Appium 教程。

    【讨论】:

    • 非常感谢。我完全同意你的看法。我只需要知道我的理解是否正确,事实证明我是正确的。 :-) 但是,关于我的第二个问题,有没有一种可能的方法,我可以在使用 sendkeys 时从这些文本框的 excel 文件中传递数据,而不是对值进行硬编码。大约第三个,是的,我们可以检查一个元素是否存在,但我们无法确定是否存在其他元素,对吧?
    • 你可以从excel文件中读取。例如,我正在从 yaml 文件中读取用户和密码信息。您可以使用 xpath 计算所有元素,即 driver.findElements(By.xpath("//*")).size()。但我认为您或开发人员应该知道哪些元素可以出现在特定页面上,哪些元素不应该出现(只需检查它们?)。
    • 非常感谢。问题是我的高级 QA 对自动化测试不太熟悉,并认为我们可以在自动化方面做所有事情,完全取代手动测试 :-)
    • 只要付出足够的努力,就有可能。在我工作的公司里,我们用自动化的 UI 测试来做所有事情。但是你应该用一个可靠的计划一步一步地改变它。从构建一个处理登录等内容的框架开始。有了一个可靠的框架,编写自动化 UI 测试将非常顺利。
    【解决方案2】:
    1. 更多的是关于测试设计和calculating ROI for test automation,如果这是您负担不起的事情,理想情况下您应该将所有事情自动化 - 首先关注手动执行时间最长且执行次数最多的测试。
    2. 您可以轻松地引入 parameterization,以便从外部源加载凭据,将密码保存在代码中并不是最好的办法
    3. 关于布局测试,您可以考虑使用Galen Framework - 有一个名为galenpy 的Python 端口或使用OpenCV 将设备的屏幕截图与参考图像进行比较

    【讨论】:

    • @Dimitri T - 非常感谢。我现在使用从 YAML 获取测试数据而不将其保存在代码中。我以前曾使用过 OpenCV,我肯定会在这里研究如何使用它来满足我的需要,以及 Galen 框架。
    猜你喜欢
    • 2021-10-11
    • 1970-01-01
    • 2016-08-23
    • 2019-11-16
    • 2020-12-07
    • 1970-01-01
    • 1970-01-01
    • 2020-06-30
    • 1970-01-01
    相关资源
    最近更新 更多