我需要检查输入的电子邮件是否与用户登录时使用的电子邮件相同,就像网站上的密码检查一样,当您要更改某些设置时会检查您的密码您的帐户。所有这些都在同一Web表单上发生。密码,电子邮件和其他可更改的设置在同一页面上。我需要编写测试以验证密码和电子邮件是否与登录该网站的用户相同。该测试是使用小黄瓜语言在behat中完成的。 我面临的问题是我开发了可以帮助我完成此操作的代码,但是即使电子邮件不匹配,它也可以使电子邮件有效。我不确定我的代码是否正确,或者这是解决此问题的正确方法,还是其他问题。 因此,即使不是登录用户,也可以接受所给的任何电子邮件都是有效的。 这是我的FeatureContext.php文件
/**
* @Then I need to check if :arg1 is same as currentmail
*/
public function iNeedToCheckIfIsSameAsCurrentmail($arg1)
{
$string = file_get_contents("http://somewebsite.prod.acquia-sites.com/users/user2");
$pattern = '/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}/';
preg_match_all($pattern, $string, $email);
if($email===$arg1)
return true;
else
return false;
}
这是我正在测试此功能的功能文件
Scenario Outline: This is to check the edit account page
Given I am on homepage
When I will login as <user>
When I click "My account"
Then I click "Edit"
Then I should see "ACCOUNT SETTINGS"
When I fill in "edit-mail" with "<mail>"
Then I need to check if "<mail>" is same as currentmail
Examples:
|user |mail |
|globaladmin |mno@asd.ca |
|Ed |jkl@asd.ca |
|Pub |ghi@asd.ca |
|CC |def@asd.ca |
|admin |abc@asd.ca |
此刻,我对php并不满意,并寻求帮助以解决此问题。但任何帮助将不胜感激。预先谢谢你