尝试使用 capybara-angular 和 capybara-ng gems 实现自动化 - 帮助和示例。-

Trying to automate with capybara-angular & capybara-ng gems - Help & Examples.-

您好!

我正在尝试自动执行以下代码:

<form class="form ng-pristine ng-valid ng-scope ng-valid-email" ng-controller="SubscribeController" subscribe-directive="">
<input class="ng-pristine ng-valid ng-valid-email ng-touched" ng-model="subscription.email" placeholder="Email Address" ng-disabled="working || subscription.done" type="email">
<button disabled="disabled" type="submit" ng-class="{'working': working}" ng-disabled="working || !subscription.email || subscription.done" ng-click="submit(subscription.email)">
<span class="ng-binding" ng-bind-html="submitBtn">Click</span>
</button> <p ng-bind-html="callback_message" class="msg ng-binding ng-hide" ng-show="callback_message"></p>
</form>

虽然我可以在页面上执行 Javascripts 命令时访问它们(使用 @javascript 标记和黄瓜设置),但由于 属性 输入字段有,因为只有在手动输入邮件时或什至在我触发更改状态时才更改为启用,但是当我单击按钮时,我输入的电子邮件似乎没有发送。

我正在使用 Cucumber + Capybara + Rake + Rails 和其他一些 Gems,网站是使用 Middleman 构建的。

下面是我用纯JS实现的代码来测试:

page.execute_script("$('input[type=email]').val('#@random_email}').trigger('blur')")
page.execute_script(" $('button[type=submit]').prop('disabled', false).trigger('click') ")

包含 capybara-ng gem 并添加行

include Capybara::Angular::DSL

我得到了:

cucumber
uninitialized constant Capybara::Angular (NameError)

我已经包含了 spec/spec_helper.rb 但我发现无法加载文件!

谁能给我指出提到的 gem 中任何一个或两个的任何好的例子和用法?或者我如何测试 Angular?有人有理由认为这行不通吗?

我是 Ruby 世界的新手所以如果问题太愚蠢请告诉我!

"uninitialized constant Capybara::Angular (NameError)"表示初始化顺序有问题。

我刚刚创建了一个小例子,可能对你有帮助:

https://github.com/kikonen/capybara-ng/blob/master/spec/dummy/features/test.feature