From 0085f2dd2db6b3e683ba77292e992ffe0c4d25f1 Mon Sep 17 00:00:00 2001 From: "licy@guangda.work" Date: Tue, 11 Apr 2023 16:50:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=A8=E5=86=8C=E5=A4=9A=E5=9C=BA=E6=99=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/Browser/dusktest/data/login_page.php | 6 -- tests/Browser/dusktest/data/register.php | 17 ++- .../dusktest/page/front/LoginGrounp.php | 7 -- .../Browser/dusktest/page/front/LoginTest.php | 78 +++++++------- .../dusktest/page/front/RegisterTest.php | 100 +++++++++++++++--- 5 files changed, 140 insertions(+), 68 deletions(-) diff --git a/tests/Browser/dusktest/data/login_page.php b/tests/Browser/dusktest/data/login_page.php index 0e41f9eb..06357ea1 100644 --- a/tests/Browser/dusktest/data/login_page.php +++ b/tests/Browser/dusktest/data/login_page.php @@ -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", diff --git a/tests/Browser/dusktest/data/register.php b/tests/Browser/dusktest/data/register.php index 17336d05..68f85da2 100644 --- a/tests/Browser/dusktest/data/register.php +++ b/tests/Browser/dusktest/data/register.php @@ -1,8 +1,19 @@ '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!', + +]; + + diff --git a/tests/Browser/dusktest/page/front/LoginGrounp.php b/tests/Browser/dusktest/page/front/LoginGrounp.php index 9bee52e5..8bfec4a2 100644 --- a/tests/Browser/dusktest/page/front/LoginGrounp.php +++ b/tests/Browser/dusktest/page/front/LoginGrounp.php @@ -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. */ diff --git a/tests/Browser/dusktest/page/front/LoginTest.php b/tests/Browser/dusktest/page/front/LoginTest.php index 0ce49826..10cd137c 100644 --- a/tests/Browser/dusktest/page/front/LoginTest.php +++ b/tests/Browser/dusktest/page/front/LoginTest.php @@ -1,11 +1,9 @@ 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']); }); } - } diff --git a/tests/Browser/dusktest/page/front/RegisterTest.php b/tests/Browser/dusktest/page/front/RegisterTest.php index 451969a3..11c43c6f 100644 --- a/tests/Browser/dusktest/page/front/RegisterTest.php +++ b/tests/Browser/dusktest/page/front/RegisterTest.php @@ -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']); + }); + } + }