【问题标题】:Behat how to capture data from one site to fill in fields on another site in a scenario testBehat 如何从一个站点捕获数据以在场景测试中填写另一个站点上的字段
【发布时间】:2014-11-18 16:26:16
【问题描述】:

我是 Behat 场景测试的新手,想知道如何或最佳实践从一个站点捕获/存储数据以在另一个站点上使用以填写用户信息。例如,站点 1 可以创建用户配置文件,例如用户 ID 和密码。站点 2 从站点 1 获取用户 ID 和密码,并在站点 2 上使用它来填写请求的 ID 和密码,然后将用户登录到站点。

我可以使用 java 和 selenium Web 驱动程序以及站点 1 中的字符串名称来执行此操作,并使用“发送密钥(字符串)”在用户 ID 位置调用站点 2 中的该字符串。使用 behat PHP 场景和功能上下文设置执行此操作的最佳方法是什么?

我还在这个站点上查看了“如何在同一个测试中使用两个站点进行测试,这有助于场景的第一阶段,但对站点二的数据填充没有帮助。

【问题讨论】:

    标签: php selenium-webdriver behat


    【解决方案1】:

    首先请告诉behat的版本。 v2.5 和 v3.0 有很大的不同。 你用貂皮吗?在这种情况下,您有 CSSSelector 来提取值。 接下来,您需要保存它们。您可以在给定步骤中将上下文保存为值,但每次您都会对其他数据重复此操作。

    要感受其他表单的数据,您只需在上下文中编写创建表单,但您仍然为每个表单重复此操作。

    我创建了一些通用库来保存数据并将其发送到场景。仍在开发中,但可以提供帮助: clipboard

    【讨论】:

    • behat 版本是 v2.5 和 mink 1.4。我通过创建三个函数来解决这个问题:获取文本的值,然后存储文本值,最后使用 fixStepArgument ($field) 填写下一页的字段。
    • 我没有得到第二部分,但仍然有兴趣查看第二部分的代码 :) @user3760451
    猜你喜欢
    • 2012-07-10
    • 1970-01-01
    • 2014-05-25
    • 2017-06-12
    • 1970-01-01
    • 2019-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多