在行为测试中使用随机变量来生成唯一的用户名
Use random var in behat tests to produce unique usernames
现在我正在使用类似以下内容创建用户
Given users:
| name | status | roles |
| kyle | 1 | authenticated user |
| cartman | 1 | admin |
是否可以在这些名称中添加随机字符串?
如果我没理解错的话,你可以这样做。
小黄瓜
Scenario: Create random users
Given I create "3" users
FeatureContext
var $str = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
var $status = [0, 1];
var $roles = ['authenticated user', 'admin', 'superman'];
/**
* @Given /^I create "([^"]*)" users$/
*/
public function createDummyUsers($count)
{
for ($i = 0; $i < $count; $i++) {
$name = substr(str_shuffle($this->str), 0, 8);
$status = $this->status[array_rand($this->status, 1)];
$role = $this->roles[array_rand($this->roles, 1)];
echo "You've just created $name - $status -$role" . PHP_EOL;
}
}
打印
You've just created mqBWAQJK - 1 - superman
You've just created WYuAZSco - 0 - admin
You've just created HCNWvVth - 1 - admin
You've just created EmLkVRpO - 1 -superman
You've just created pxWcsuPl - 1 -authenticated user
You've just created mLYrlKdz - 0 -superman
我已经创建了一个解决方案,您可以尝试一下。
https://github.com/JordiGiros/MinkFieldRandomizer
MinkFieldRandomizer 是一个随机(有意义)信息生成器,用于在 Behat Mink Selenium 测试中填充浏览器表单字段。它以更现实的方式为 运行 测试提供了选项,更改了您在每次测试中用于填写表格的信息 运行。
您可以通过 Composer 轻松地将它添加到您的项目中。
一个例子:
Then Fills in form fields with provided table
| "f_outbound_accommodation_name" | "{RandomName(10)}" |
| "f_outbound_accommodation_phone_number" | "{RandomPhone(9)}" |
| "f_outbound_accommodation_address_1" | "{RandomText(10)}" |
希望你试试看!
并且欢迎您添加新功能或分叉它或做任何您想做的事情。
干杯
现在我正在使用类似以下内容创建用户
Given users:
| name | status | roles |
| kyle | 1 | authenticated user |
| cartman | 1 | admin |
是否可以在这些名称中添加随机字符串?
如果我没理解错的话,你可以这样做。
小黄瓜
Scenario: Create random users
Given I create "3" users
FeatureContext
var $str = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
var $status = [0, 1];
var $roles = ['authenticated user', 'admin', 'superman'];
/**
* @Given /^I create "([^"]*)" users$/
*/
public function createDummyUsers($count)
{
for ($i = 0; $i < $count; $i++) {
$name = substr(str_shuffle($this->str), 0, 8);
$status = $this->status[array_rand($this->status, 1)];
$role = $this->roles[array_rand($this->roles, 1)];
echo "You've just created $name - $status -$role" . PHP_EOL;
}
}
打印
You've just created mqBWAQJK - 1 - superman
You've just created WYuAZSco - 0 - admin
You've just created HCNWvVth - 1 - admin
You've just created EmLkVRpO - 1 -superman
You've just created pxWcsuPl - 1 -authenticated user
You've just created mLYrlKdz - 0 -superman
我已经创建了一个解决方案,您可以尝试一下。
https://github.com/JordiGiros/MinkFieldRandomizer
MinkFieldRandomizer 是一个随机(有意义)信息生成器,用于在 Behat Mink Selenium 测试中填充浏览器表单字段。它以更现实的方式为 运行 测试提供了选项,更改了您在每次测试中用于填写表格的信息 运行。
您可以通过 Composer 轻松地将它添加到您的项目中。
一个例子:
Then Fills in form fields with provided table
| "f_outbound_accommodation_name" | "{RandomName(10)}" |
| "f_outbound_accommodation_phone_number" | "{RandomPhone(9)}" |
| "f_outbound_accommodation_address_1" | "{RandomText(10)}" |
希望你试试看! 并且欢迎您添加新功能或分叉它或做任何您想做的事情。 干杯