注册多场景

This commit is contained in:
licy@guangda.work 2023-04-11 16:50:04 +08:00 committed by Edward Yang
parent 1f7e2e9942
commit 0085f2dd2d
5 changed files with 140 additions and 68 deletions

View File

@ -7,12 +7,6 @@ const login = [
"login_pwd"=> "#page-login > div.login-wrap > div:nth-child(1) > form > div.card-body.px-md-2 > div:nth-child(2) > div > div > input",
"login_btn"=> "Login",
"login_text"=> "Home",
"register_email" => "#page-login > div.login-wrap > div:nth-child(3) > div.card-body.px-md-2 > form > div:nth-child(1) > div > div > input",
"register_pwd"=> "#page-login > div.login-wrap > div:nth-child(3) > div.card-body.px-md-2 > form > div:nth-child(2) > div > div > input",
"register_re_pwd"=> "#page-login > div.login-wrap > div:nth-child(3) > div.card-body.px-md-2 > form > div:nth-child(3) > div > div > input",
"register_btn"=> "Register",
"register_text"=> "Home",
];
const register = [
"register_email" => "#page-login > div.login-wrap > div:nth-child(3) > div.card-body.px-md-2 > form > div:nth-child(1) > div > div > input",

View File

@ -1,8 +1,19 @@
<?php
const ture = [
'email' => 'test@163.com',
const true_register = [
'email' => 'testtest@163.com',
'password' => '123456',
're_password'=> '123456',
'assert' => 'Sign Out',
];
const false_register = [
'false_email' => 'test@163.com', //已注册的email
'illegal_email' => 'test',
'false_password' => '1234567',
'false_assert' => 'User login and registration',
'illegal_assert' => 'Please enter a valid email address!',
];

View File

@ -6,8 +6,6 @@ namespace Tests\Browser;
namespace App\Http\Controllers;
namespace App\Http\Controllers\LoginGrounp;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
use App\Http\Controllers\By;
@ -17,11 +15,6 @@ require_once(dirname(__FILE__) . '/../../data/login_page.php');
class LoginGrounp extends DuskTestCase
{
// const LOGIN_DATA = [
// 'aa'
// ];
/**
* A basic browser test example.
*/

View File

@ -1,11 +1,9 @@
<?php
namespace Tests\Browser;
namespace App\Http\Controllers;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
use App\Http\Controllers\By;
require_once(dirname(__FILE__) . '/../../data/login.php');
require_once(dirname(__FILE__) . '/../../data/login_page.php');
@ -14,80 +12,82 @@ class LoginTest extends DuskTestCase
{
/**
* A basic browser test example.
* @return void
*/
//场景2 email不合法
public function testEmailIllegal(): void
//场景1 email不合法
public function testEmailIllegal()
{
parent::setUp();
$this->browse(function (Browser $browser)
{
$browser->visit(login['login_url'])
->pause(2000)
->type(login['login_email'], false_login['illegal_email'])
->type(login['login_pwd'], true_login['password'])
->press(login['login_btn'])
->waitForReload() //等待页面重载
->assertSee(false_login['illegal_assert'])
->pause(3000)
->quit();
->assertSee(false_login['illegal_assert']);
});
}
//场景3 email不存在
public function testEmaiFalse(): void
//场景2 email不存在
public function testEmailFalse()
{
parent::setUp();
$this->browse(function (Browser $browser)
{
$browser->visit(login['login_url'])
->pause(2000)
->type(login['login_email'], false_login['false_email'])
->type(login['login_pwd'], true_login['password'])
->press(login['login_btn'])
->waitForReload() //等待页面重载
->assertSee(false_login['false_assert'])
->pause(3000)
->quit();
->assertSee(false_login['false_assert']);
});
}
//场景4 密码错误
public function testPwdFalse(): void
//场景3 密码错误
public function testPwdFalse()
{
parent::setUp();
$this->browse(function (Browser $browser)
{
$browser->visit(login['login_url'])
->pause(2000)
->type(login['login_email'], false_login['false_email'])
->type(login['login_pwd'], false_login['false_password'])
->press(login['login_btn'])
->waitForReload() //等待页面重载
->assertSee(false_login['false_assert'])
->pause(3000)
->quit();
->assertSee(false_login['false_assert']);
});
}
//场景1 成功登录
public function testLoginFul(): void
//场景4 只输入账号
public function testOnlyEmail()
{
$this->browse(function (Browser $browser)
{
$browser->visit(login['login_url'])
->type(login['login_email'], false_login['false_email'])
->press(login['login_btn'])
->assertSee(false_login['false_assert']);
});
}
//场景5 只输入密码
public function testOnlyPwd()
{
$this->browse(function (Browser $browser)
{
$browser->visit(login['login_url'])
->type(login['login_pwd'], false_login['false_password'])
->press(login['login_btn'])
->assertSee(false_login['false_assert']);
});
}
//场景6 成功登录
public function testLoginFul()
{
parent::setUp(); // 重置测试环境和状态
$this->browse(function (Browser $browser)
{
$browser->visit(login['login_url'])
->pause(2000)
->type(login['login_email'], true_login['email'])
->type(login['login_pwd'], true_login['password'])
->press(login['login_btn'])
->waitForReload() //等待页面重载
->assertSee(true_login['assert'])
->pause(3000)
->quit();
->pause(2000)
->assertSee(true_login['assert']);
});
}
}

View File

@ -2,34 +2,108 @@
namespace Tests\Browser;
namespace App\Http\Controllers;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
require_once 'E:\phpstudy_pro\WWW\autotest.test\beikeshop\tests\Browser\dusktest\data\login_page.php';
require_once 'E:\phpstudy_pro\WWW\autotest.test\beikeshop\tests\Browser\dusktest\data\register.php';
require_once(dirname(__FILE__) . '/../../data/register.php');
require_once(dirname(__FILE__) . '/../../data/login_page.php');
class RegisterTest extends DuskTestCase
{
use RefreshDatabase;
/**
* A basic browser test example.
*/
public function testRegisterTest(): void
//场景1 使用已注册过的邮箱注册
public function testUsedEmail()
{
// $user = User::factory()->create([
// 'email' => 'test@163.com',
// ]);
$this->browse(function (Browser $browser) {
$browser->visit(login['login_url'])
->pause(2000)
->type(register['register_email'], ture['email'])
->type(register['register_pwd'], ture['password'])
->type(register['register_re_pwd'], ture['re_password'])
->type(register['register_email'], false_register['false_email'])
->type(register['register_pwd'], true_register['password'])
->type(register['register_re_pwd'], true_register['password'])
->press(register['register_btn'])
->assertSee(register['register_text'])
->pause(3000);
->assertSee(false_register['false_assert']);
});
}
//场景2 前后密码输入不一致
public function testDiffPwd()
{
$this->browse(function (Browser $browser) {
$browser->visit(login['login_url'])
->type(register['register_email'], true_register['email'])
->type(register['register_pwd'], true_register['password'])
->type(register['register_re_pwd'], false_register['false_password'])
->press(register['register_btn'])
->assertSee(false_register['false_assert']);
});
}
//场景3 邮箱格式不合法
public function testIllegalEmail()
{
$this->browse(function (Browser $browser) {
$browser->visit(login['login_url'])
->type(register['register_email'], false_register['illegal_email'])
->type(register['register_pwd'], true_register['password'])
->type(register['register_re_pwd'], true_register['password'])
->press(register['register_btn'])
->assertSee(false_register['false_assert']);
});
}
//场景4 邮箱为空
public function testNoEmail()
{
$this->browse(function (Browser $browser) {
$browser->visit(login['login_url'])
->type(register['register_pwd'], true_register['password'])
->type(register['register_re_pwd'], true_register['password'])
->press(register['register_btn'])
->assertSee(false_register['false_assert']);
});
}
//场景5 密码为空
public function testNoPwd()
{
$this->browse(function (Browser $browser) {
$browser->visit(login['login_url'])
->type(register['register_email'], true_register['email'])
->type(register['register_re_pwd'], true_register['password'])
->press(register['register_btn'])
->assertSee(false_register['false_assert']);
});
}
//场景6 第二次密码为空
public function testNoRepwd()
{
$this->browse(function (Browser $browser) {
$browser->visit(login['login_url'])
->type(register['register_email'], true_register['email'])
->type(register['register_pwd'], true_register['password'])
->press(register['register_btn'])
->assertSee(false_register['false_assert']);
});
}
//场景7 第二次密码为空
public function testRegisterFul()
{
$this->browse(function (Browser $browser) {
$browser->visit(login['login_url'])
->type(register['register_email'], true_register['email'])
->type(register['register_pwd'], true_register['password'])
->type(register['register_re_pwd'], true_register['password'])
->press(register['register_btn'])
->assertSee(true_register['assert']);
});
}
}