SitePrism-根据当前编辑ID动态定义元素

时间:2018-07-25 21:23:00

标签: site-prism

请注意,我是SitePrism的新手。我正在整理一个Capybara功能测试用例以编辑数据。表单的ID为“ edit_bears_1”,您可以想象其中#1根据当前对象的ID进行更改。

<form class="form-horizontal validate-form" id="edit_bears_1" action="admin/bears/1" accept-charset="UTF-8" method="post" novalidate="novalidate">

这是我创建的用于定义表单的SitePrism文件:

module Pages
  module Admin
    module Bears
      class Edit < SitePrism::Page
        set_url '/admin/bears/edit/:id'
        set_url_matcher %r{/admin/bears/\d+/edit}

        binding.pry
        section :form, Form, "form#edit_bears_1"
      end
    end
  end
end

如您所见,我目前已将表单的ID硬编码为#1,但这很可能会改变。如何用某种变量替换#1,该变量被求值并链接到我正在编辑的熊?感谢所有帮助!

1 个答案:

答案 0 :(得分:0)

您可以编写一些脚本来重新创建它。或者,如果您觉得这是我们应该立即提供的支持,则可以创建问题并为其请求新功能。

GH链接:https://github.com/natritmeyer/site_prism/issues

脚本示例public function addUsername(string $url, string $username, string $password) { $delimiter = '://'; $parts = explode($delimiter, $url); return $parts[0].$delimiter.$username.':'.$password.'@'.$parts[1]; }

请确保为每个引用赋予一个索引链接名称,否则它们将被自动覆盖。