gpt4 book ai didi

php - 如何使 fillField() 用于功能测试 Codeception + Laravel 5.2

转载 作者:搜寻专家 更新时间:2023-10-31 21:53:26 27 4
gpt4 key购买 nike

我正在编写一些功能测试来测试我的应用程序的登录系统。我尝试了以下使用 fillField() 的方法,但无法让它为我工作。

$I->fillField(['id' => 'loginEmail'], 'sample@mail.com');

$I->fillField("//input[@id='loginEmail']", 'sample@mail.com');

之后,当我尝试运行 seeInFormFields() 方法时,出现以下错误:

 Step  I see in form fields "form[name=loginForm]",{"email":"sample@mail.com","password":123456}
Fail Failed asserting that `sample@mail.com` is in input's value: array (
0 => '',
)
Failed asserting that an array contains 'sample@mail.com'.

需要注意的是,我在同一页面上有一个具有相同 name 的注册表单,这就是我必须使用 ID 的原因。

任何帮助或建议将不胜感激。

更新 HTML 代码

下面是我的HTML表单代码

<form name="loginForm" class="" method="POST" action="https://domain/en-us/checkout/login">
<div class="col-sm-12 wrapper generic-form collapse-form" ng-controller="mobileController">
<fieldset>
<legend
class="legend-login">
I have an account
</legend>
<div class="collapse-panel">
<div class="col-xs-12 control-group">
<div class="row form-group" ng-class="{ 'has-error' : loginForm.email.$error.required && submitted }">
<div class="col-sm-4 col-xs-12 text-right">
<label for="email">E-Mail</label>
</div>
<div class="col-sm-8 col-xs-12">
<input
name="email"
type="email" class="form-control"
id="loginEmail"
required>
<small class="ico-buttons ico-error red">
Mandatory
</small>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="row form-group" ng-class="{ 'has-error' : loginForm.password.$error.required && submitted }">
<div class="col-sm-4 col-xs-12 text-right">
<label for="password">Password</label>
</div>
<div class="col-sm-8 col-xs-12">
<input name="password"
type="password"
class="form-control"
id="password"
required>
<small class="ico-buttons ico-error red">
Mandatory
</small>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="row form-group">
<div class="col-xs-12 col-sm-8 col-sm-offset-4">
<input type="button" value="Login" name="submitWelcomeLoginForm">
</div>
</div>
<br>
<a href='https://domain.com/' class='pull-right'>Forgot Password?</a>
</div>
</div>
</fieldset>
</div>
<div class="clearfix"></div>
</form>

最佳答案

第一个参数是字段的字符串名称

$I->fillField('email', 'sample@mail.com');

您可以在这里找到许多测试脚本:https://github.com/satrun77/tinyissue/blob/master/tests/functional

测试脚本使用了fillField https://github.com/satrun77/tinyissue/blob/master/tests/functional/CrudIssueCest.php

关于php - 如何使 fillField() 用于功能测试 Codeception + Laravel 5.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36647400/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com