注册多场景

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_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_btn"=> "Login",
"login_text"=> "Home", "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 = [ 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", "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 <?php
const ture = [ const true_register = [
'email' => 'test@163.com', 'email' => 'testtest@163.com',
'password' => '123456', '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;
namespace App\Http\Controllers\LoginGrounp; namespace App\Http\Controllers\LoginGrounp;
use Laravel\Dusk\Browser; use Laravel\Dusk\Browser;
use Tests\DuskTestCase; use Tests\DuskTestCase;
use App\Http\Controllers\By; use App\Http\Controllers\By;
@ -17,11 +15,6 @@ require_once(dirname(__FILE__) . '/../../data/login_page.php');
class LoginGrounp extends DuskTestCase class LoginGrounp extends DuskTestCase
{ {
// const LOGIN_DATA = [
// 'aa'
// ];
/** /**
* A basic browser test example. * A basic browser test example.
*/ */

View File

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

View File

@ -2,34 +2,108 @@
namespace Tests\Browser; namespace Tests\Browser;
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Laravel\Dusk\Browser; use Laravel\Dusk\Browser;
use Tests\DuskTestCase; use Tests\DuskTestCase;
require_once 'E:\phpstudy_pro\WWW\autotest.test\beikeshop\tests\Browser\dusktest\data\login_page.php'; require_once(dirname(__FILE__) . '/../../data/register.php');
require_once 'E:\phpstudy_pro\WWW\autotest.test\beikeshop\tests\Browser\dusktest\data\register.php'; require_once(dirname(__FILE__) . '/../../data/login_page.php');
class RegisterTest extends DuskTestCase class RegisterTest extends DuskTestCase
{ {
use RefreshDatabase;
/** /**
* A basic browser test example. * 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) { $this->browse(function (Browser $browser) {
$browser->visit(login['login_url']) $browser->visit(login['login_url'])
->pause(2000) ->type(register['register_email'], false_register['false_email'])
->type(register['register_email'], ture['email']) ->type(register['register_pwd'], true_register['password'])
->type(register['register_pwd'], ture['password']) ->type(register['register_re_pwd'], true_register['password'])
->type(register['register_re_pwd'], ture['re_password'])
->press(register['register_btn']) ->press(register['register_btn'])
->assertSee(register['register_text']) ->assertSee(false_register['false_assert']);
->pause(3000);
}); });
} }
//场景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']);
});
}
} }