tsaicharlie93's avatar

Select function not working for Browser test

Hi Guys, I am getting an weird error from select function in browser test using laravel

The error is :

no such element: Unable to locate element: {"method":"css selector","selector":"body #editRank1 textarea[name='rank']"}

My test code is :

$browser->loginAs($user)
                ->visit('/view/1')
                ->click('[name=EditRank1]')
                ->whenAvailable('#editRank1', function($modal) use ($user){
                    $modal->select('rank','3')
                          ->assertInputValue('rank','3');
                         // ->press('Save');
                });

My dropdown code is:

<div class="modal fade" id="editRank{{ $rank->id }}" tabindex="-1" role="dialog">
  <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h4 class="modal-title">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                    </button>
                Edit User Information
                </h4>
            </div>
            <div class="modal-body">
                <form class="form" role="form" method="POST" action="{{ url('/view/editRank') }}" data-parsley-validate>
                    {{ csrf_field() }}
                    <input type="hidden" name="user_id" value="{{ $user->id }}">
                    <input type="hidden" name="rank_id" value="{{ $rank->id }}">
                    <div class="form-group">
                        <label for="rank">Rank</label>
                        <select class="form-control" name="rank">
                            @foreach($rankList as $key => $value)
                                <option {{ $rank->id == $key ? "selected" : ""}} value="{{$key}}">{{$value}}</option>
                            @endforeach
                        </select>
                    </div>
       
                    <div class="modal-footer">
                        <button type="button" class="btn btn-default" data-dismiss="modal">
                            Cancel
                        </button>
                        <button type="submit" name="Save" class="btn btn-default" value="validate">
                            Save and Close
                        </button>
                        </form>
                        <div class="pull-left">
                            <form class="form form-inline" role="form" method="POST" action="{{ url('/view/deleteRank') }}">
                             {{ csrf_field() }}
                                    <input type="hidden" name="user_id" value="{{ $user->id }}">
                                    <input type="hidden" name="rank_id" value="{{ $rank->id }}">
                                    <button class="btn btn-default pull-left delete-btn" value="" type="button">Delete</button>
                                    <button  type="submit" class="btn btn-danger pull-left delete-btn-confirm hide">Confirm Delete</button>
                            </form>
                        </div>
                    </div>

            </div>
        </div>
</div>

Can anyone tell me why I am getting that error?

0 likes
1 reply
bheath's avatar

Have you looked at the error screen shot? There might be something unexpected covering it.

You might also try putting in a waitFor() instead

Please or to participate in this conversation.