【问题标题】:how to pass through the captcha while testing an application on an automation tool like QTP如何在 QTP 等自动化工具上测试应用程序时通过验证码
【发布时间】:2016-10-30 08:59:57
【问题描述】:

在任何工具上测试应用程序时如何避免(替代)验证码。 我正在 QTP 上测试一个应用程序。它在登录屏幕上有验证码由于验证码是一个图像,因此该工具无法读取它以进行重复迭代。有没有办法通过验证码。

【问题讨论】:

  • (半严肃的,让人们意识到这是在野外进行的,原因不那么简单:)创建一个流行的网站,其中包含游戏、模因或自然图片。每当您的测试工具需要解决验证码时,将此验证码推送到热门网站给一些用户,并带有“为了证明您是人类请解决此验证码”的消息。在几秒钟内获得答案并使用它来登录您的测试应用程序。让我们称之为拖延辅助测试自动化。

标签: image testing login captcha qtp


【解决方案1】:

CAPTCHA1 的全部意义在于确保真人面对计算机,因此如果 QTP 能够解决一般的 CAPTCHA,则意味着 CAPTCHA 的整个概念存在缺陷。

根据具体情况,可能会有解决方案(可能涉及Insight),但您必须分享更多信息才能获得有意义的答案。

最好的做法可能是让研发部门在测试期间提供一种不受 CAPTCHA 保护的方式进入应用程序(并确保生产服务器中不存在这种方式)。

1 完全自动化的公共图灵测试来区分计算机和人类

【讨论】:

    【解决方案2】:

    CAPTCHA 对象旨在通过确保人与应用程序而不是计算机进行交互来防止自动化。这些控件旨在防止自动化。考虑到这一点,QuickTest Professional (QTP) / Unified Functional Testing (UFT) 没有从对象中捕获文本的方法。您很可能需要手动测试应用程序的该部分。以下是您可以考虑的几个建议:

    1. 如果可能,将 CAPTCHA 控制(在测试阶段)限制为仅几个单词/字母组合。然后使用 QTP/UFT 循环浏览这些定义的单词/组合。同样,这种对控件的限制只需要在测试阶段完成。

    2. 如果可能,请您的开发人员添加一个方法,该方法将在运行时捕获 CAPTCHA 控件中使用的字符。然后,让 QTP/UFT 调用该方法,检索文本,并根据需要将其输入到字段中。再次强调,这种方法只需要在测试应用程序时就位。

    3. 如果可能,请您的开发人员添加一个标志,以便您在测试阶段绕过控制。

    4. 根据 CAPTCHA 控件中使用的设置,您可以使用其他应用程序(例如 OCR 软件)从图像中读取文本并将该文本返回到 QTP/UFT。一旦 QTP/UFT 获得文本,就可以将其输入到字段中。

    【讨论】:

      【解决方案3】:

      如果您正在测试您也可以访问数据库的应用程序,您可以从数据库中获取生成的 CAPTCHA 并将其存储在变量中。使用存储的变量打印验证码

      【讨论】:

        【解决方案4】:

        通过参数化技术中使用的“动态执行数据”,有一种更简单的方法可以在 QTP/UFT 中处理网页上的 CAPTCHA。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-09-29
          • 2011-04-27
          • 1970-01-01
          • 1970-01-01
          • 2017-08-17
          • 1970-01-01
          相关资源
          最近更新 更多