CasperJS と coffeescript は初めてです。ログインフォームのパスワード要素が最近変更される前に機能していた、WebサイトにログインするためのCasperJS coffeescriptテストの非常に単純な部分があります。残念ながら、元のフォームを思い出せませんが、現在のログイン フォームは次のようになっています。
<div id="login-body">
<img src="/assets/images/logo.png" class="logo" alt="Test Acme Wil-e-Coyote Company">
<form action="/Login/login/" method="post">
<h2>Please log in to catch the roadrunner:</h2>
<div class="form-row">
<label for="login-username">Username:</label>
<input type="text" id="login-username" class="text placeholder"
data-placeholder="first.last" placeholder="first.last" name="username
value>
</div>
<div class="form-row form-password">
<label for="login-password-placeholder">Password:</label>
<input type="text" id="login-password-placeholder" class="text password-placeholder
placeholder" name="password" data-placeholder="Password is case sensitive"
placeholder="Password is case sensitive">
<input type="password" id="login-password" class="text password-text placeholder"
name="password" placeholder="Password is case sensitive" style="opacity: 0;
position: fixed; display: none;">
</div>
<div class="form-row">
<p class="switch"><a href="/Login/recover"
data-switch="forgot">Having trouble logging in? »</a></p>
<input type="submit" id="login-submit" class="submit" value="Log In">
</div>
</form>
ログインに使用しようとしたコーヒースクリプトのバリエーションは次のとおりです。
1. これは以前は正常に機能していました
casper.start appUrl('http://acmewilecoyote/Login/login'), ->
@fill 'div#login-body > form'
username: 'MyName'
password: 'MyPassword'
, true
@wait 4000
2.
casper.start appUrl('http://acmewilecoyote/Login/login'), ->
@fill 'div#login-body'
username: 'MyName'
password: 'MyPassword'
, true
@wait 4000
3. このページには他のフォームはありません - これは別のサイトのログイン フォームで動作しました
casper.start appUrl('http://acmewilecoyote/Login/login'), ->
@fill 'form'
username: 'MyName'
password: 'MyPassword'
, true
@wait 4000
4.
casper.start appUrl('http://acmewilecoyote/Login/login'), ->
@fill 'form#login-body'
username: 'MyName'
password: 'MyPassword'
, true
@wait 4000
デバッグ出力は有用なものを何も提供しないので、スクリーン キャプチャをスクリプトに追加しました。見た目から、パスワード フィールドを空白のままにしてフォームを送信しようとしているように見えます。どんな助けでも大歓迎です。