个人中心

This commit is contained in:
licy@guangda.work 2023-04-14 17:11:33 +08:00 committed by Edward Yang
parent 7955534530
commit 7ba52a3bf3
13 changed files with 420 additions and 3 deletions

View File

@ -5,5 +5,10 @@ const add_address = [
"add_code"=>"643203",//add_code
"add_address1"=>"test1",//add_address1
"add_address2"=>"test2",//add_address2
];
const user_edit = [
"upload_images"=>'/../../data/images/Headpicture/Headpicture.jpeg',//上传头像
"user_name"=>"admin",//修改名字
"user_email"=>"admin@163.com",//修改emial
];

View File

@ -2,6 +2,7 @@
const account = [
"login_url" =>"/account",
"go_index"=>"Home",//beikeshop图标
"SignOut"=>"Sign Out"//sign
];
const address = [
"login_url" =>"/account/addresses",
@ -20,4 +21,23 @@ const address = [
"assert"=>"Default Address",
//addresses
];
const Edit = [
"login_url" =>"/account/edit",
"go_Edit"=>"Edit",//点击edit
"upload_btn"=>"#address-app > div > div.col-12.col-md-9 > div > div.card-body.h-600 > form > div.bg-light.rounded-3.p-4.mb-4 > div > div > label",//上传头像图标
"Confirm_btn"=>"Confirm",
"user_name"=>"#address-app > div > div.col-12.col-md-9 > div > div.card-body.h-600 > form > div.row.gx-4.gy-3 > div:nth-child(1) > input",//更改用户名
"user_email"=>"#address-app > div > div.col-12.col-md-9 > div > div.card-body.h-600 > form > div.row.gx-4.gy-3 > div:nth-child(2) > input",//更改用户email
"Submit"=>"Submit",//add_phone
"assert"=>"Modify Success!",
];
const Wishlist = [
"login_url" =>"/account/edit",
"go_Wishlist"=>"Wishlist",//点击Wishlist
"Check_Details"=>"Check Details",//查看详情按钮
"remove_Wishlist"=>"body > div.container > div > div.col-12.col-md-9 > div > div.card-body > table > tbody > tr > td.text-end > div > button",
"no_data"=>".text-secondary fs-4 mb-3",
];

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -2,8 +2,25 @@
const index = [
"login_url" => "/",
"product_img" => "#tab-product-0 > div > div:nth-child(1) > div > div.image > a",//购买商品图标
"buy_btn" => "#product-top > div:nth-child(2) > div > div.quantity-btns > button.btn.btn-dark.ms-3.fw-bold",//购买按钮
"address_btn" => "#checkout-address-app > div.checkout-black > div.addresses-wrap > div > div > div > button", //添加地址
"login_text" => "Home",
];
const index_top = [
"wishlist_btn" => "",//购买商品图标
//
"buy_btn" => "#product-top > div:nth-child(2) > div > div.quantity-btns > button.btn.btn-dark.ms-3.fw-bold",//购买按钮
"address_btn" => "#checkout-address-app > div.checkout-black > div.addresses-wrap > div > div > div > button", //添加地址
"login_text" => "Home",
];
const index_cart = [
"cart_product_text" => "#offcanvas-right-cart > div.offcanvas-body.pt-0 > div > div > div.product-info.d-flex.align-items-center > div.right.flex-grow-1 > a",
"cart_icon"=>"",
"product_text"=>"#offcanvas-right-cart > div.offcanvas-body.pt-0 > div > div > div.product-info.d-flex.align-items-center > div.right.flex-grow-1 > a",//购物车内商品名字
"Delete_btn" => "#offcanvas-right-cart > div.offcanvas-body.pt-0 > div > div > div.product-info.d-flex.align-items-center > div.right.flex-grow-1 > div.product-bottom.d-flex.justify-content-between.align-items-center > span", //删除按钮
"product_num"=>"#offcanvas-right-cart > div.offcanvas-footer > div.d-flex.justify-content-between.align-items-center.mb-2.p-3.bg-light.top-footer > div:nth-child(2) > strong:nth-child(2) > span",
"cart_Checkout"=>"#offcanvas-right-cart > div.offcanvas-footer > div.p-4 > a.btn.w-100.fw-bold.btn-dark.to-checkout",
];

View File

@ -2,6 +2,10 @@
const product = [
"login_url" =>"/products/1",
"product_1"=> "Buy Now",//购买商品
"Wishlist_icon"=>"Add To Favorites",//收藏
"add_cart"=>"Add To Cart",
"product1_name"=>"#product-top > div:nth-child(2) > div > h1",//产品名字
"buy_btn"=> "#product-top > div:nth-child(2) > div > div.quantity-btns > button.btn.btn-dark.ms-3.fw-bold",//购买按钮
"address_btn"=>"#checkout-address-app > div.checkout-black > div.addresses-wrap > div > div > div > button", //添加地址
"login_text"=> "Home",

View File

@ -0,0 +1,57 @@
<?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');
require_once(dirname(__FILE__) . '/../../data/account_page.php');
require_once(dirname(__FILE__) . '/../../data/product_1.php');
require_once(dirname(__FILE__) . '/../../data/index_page.php');
require_once(dirname(__FILE__) . '/../../data/checkout_page.php');
//已注册客户且有地址,直接购买商品
class AddCartTest extends DuskTestCase
{
public function testAddCart()
{
$this->browse(function (Browser $browser)
{
$browser->visit(login['login_url'])
//1.用户登录
->type(login['login_email'], true_login['email'])
->type(login['login_pwd'], true_login['password'])
->press(login['login_btn'])
->pause(2000)
//2.点击home跳转到首页
->clickLink(account['go_index'])
//3.向下滑动页面直到找到元素
->scrollIntoView(index['product_img'])
// ->mouseover(index['product_img'])
->pause(2000)
//2.点击要加入购物车的商品
->press(index['product_img'])
->pause(2000);
//3.获取当前产品标题
$product_description = $browser->text(product['product1_name']);
$ProductUrl = $browser->driver->getCurrentURL();
//4.点击收藏按钮
$browser->visit($ProductUrl)
//5.点击加入购物车
->press(product['add_cart'])
->pause(3000)
//6.点击购物车按钮
->clickLink(index_cart['cart_icon'])
->pause(10000);
//6.断言购物车内商品是否与先前商品相同
$browser->assertSeeIn(index_cart['product_text'],$product_description)
;
});
}
}

View File

@ -0,0 +1,56 @@
<?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');
require_once(dirname(__FILE__) . '/../../data/account_page.php');
require_once(dirname(__FILE__) . '/../../data/product_1.php');
require_once(dirname(__FILE__) . '/../../data/index_page.php');
require_once(dirname(__FILE__) . '/../../data/checkout_page.php');
//已注册客户且有地址,直接购买商品
class CartCheckoutTest extends DuskTestCase
{
public function testCartCheckout()
{
$this->browse(function (Browser $browser)
{
$browser->visit(login['login_url'])
//1.用户登录
->type(login['login_email'], true_login['email'])
->type(login['login_pwd'], true_login['password'])
->press(login['login_btn'])
->pause(2000)
//2.点击home跳转到首页
->clickLink(account['go_index'])
//3.向下滑动页面直到找到元素
->scrollIntoView(index['product_img'])
->pause(2000)
//4.点击要加入购物车的商品
->press(index['product_img'])
->pause(2000)
//5.点击加入购物车
->press(product['add_cart'])
->pause(3000)
//6.点击购物车按钮
->clickLink(index_cart['cart_icon'])
->pause(3000)
//7.点击结账按钮
->press(index_cart['cart_Checkout'])
->pause(5000)
//8.点击确认按钮
->press(checkout['submit'])
->pause(5000)
//9.断言
->assertSee(checkout['assert'])
;
});
}
}

View File

@ -0,0 +1,57 @@
<?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');
require_once(dirname(__FILE__) . '/../../data/account_page.php');
require_once(dirname(__FILE__) . '/../../data/account.php');
//已注册客户且有地址,直接购买商品
class EditUserInfo extends DuskTestCase
{
public function testEditInfo()
{
$this->browse(function (Browser $browser) {
$browser->visit(login['login_url'])
//1.用户登录
->type(login['login_email'], true_login['email'])
->type(login['login_pwd'], true_login['password'])
->press(login['login_btn'])
->pause(2000)
//当前网址断言
->assertUrlIs('http://autotest.test/account', $browser->driver->getCurrentURL())
//2.点击编辑
->clickLink(Edit['go_Edit'])
->pause(1000)
//3.点击上传头像按钮
// ->press(Edit['upload_btn'])
// ->pause(3000)
// ->waitFor('#file-input') // 等待文件上传控件出现
// ->assertVisible('#file-input') // 确保文件上传控件可见
// ->assertEnabled('#file-input') // 确保文件上传控件可用
// ->attach(Edit['upload_btn'],realpath('E:/phpstudy_pro/WWW/autotest.test/beikeshop/tests/Browser/dusktest/data/images/Headpicture/Headpicture.jpeg'))
// ->press(Edit['Confirm_btn'])
// ->pause(3000)
//3.1 name
->type(Edit['user_name'], user_edit['user_name'])
//3.2 phone
->type(Edit['user_email'], user_edit['user_email'])
//3.3 save
->press((Edit['Submit']))
->pause(3000)
->assertSee(Edit['assert']);
//3.向下滑动页面直到找到元素
});
}
}

View File

@ -31,7 +31,7 @@ class OrderTest extends DuskTestCase
->assertUrlIs('http://autotest.test/account', $browser->driver->getCurrentURL())
//打印查看当前网址
// $html = $browser->driver->getCurrentURL();
// print_r($html);
// print_r($html)
// ->driver->getCurrentURL()
//2.点击home跳转到首页
->clickLink(account['go_index'])

View File

@ -0,0 +1,52 @@
<?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');
require_once(dirname(__FILE__) . '/../../data/account_page.php');
require_once(dirname(__FILE__) . '/../../data/product_1.php');
require_once(dirname(__FILE__) . '/../../data/index_page.php');
require_once(dirname(__FILE__) . '/../../data/checkout_page.php');
//已注册客户且有地址,直接购买商品
class RemoveCartTest extends DuskTestCase
{
public function testRemoveCart()
{
$this->browse(function (Browser $browser)
{
$browser->visit(login['login_url'])
//1.用户登录
->type(login['login_email'], true_login['email'])
->type(login['login_pwd'], true_login['password'])
->press(login['login_btn'])
->pause(2000)
//2.点击home跳转到首页
->clickLink(account['go_index'])
//3.向下滑动页面直到找到元素
->scrollIntoView(index['product_img'])
->pause(2000)
//4.点击要加入购物车的商品
->press(index['product_img'])
->pause(2000)
//5.点击加入购物车
->press(product['add_cart'])
->pause(3000)
//6.点击购物车按钮
->clickLink(index_cart['cart_icon'])
->pause(3000)
//7.点击移除按钮
->press(index_cart['Delete_btn'])
->pause(3000)
->assertSeeIn(index_cart['product_num'],"0")
->pause(3000)
;
});
}
}

View File

@ -0,0 +1,54 @@
<?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');
require_once(dirname(__FILE__) . '/../../data/account_page.php');
require_once(dirname(__FILE__) . '/../../data/product_1.php');
require_once(dirname(__FILE__) . '/../../data/index_page.php');
require_once(dirname(__FILE__) . '/../../data/checkout_page.php');
//已注册客户且有地址,直接购买商品
class RemoveWishlistTest extends DuskTestCase
{
public function testReWishlist()
{
$this->browse(function (Browser $browser)
{
$browser->visit(login['login_url'])
//1.用户登录
->type(login['login_email'], true_login['email'])
->type(login['login_pwd'], true_login['password'])
->press(login['login_btn'])
->pause(2000)
//2.点击home跳转到首页
->clickLink(account['go_index'])
//3.向下滑动页面直到找到元素
->scrollIntoView(index['product_img'])
->pause(2000)
->press(index['product_img'])
->pause(2000);
//4.保存当前网址
$ProductUrl = $browser->driver->getCurrentURL();
//5.点击收藏按钮
$browser->visit($ProductUrl)
->press(product['Wishlist_icon'])
->pause(3000)
//6.点击顶部收藏认按钮
->clickLink(index_top['wishlist_btn'])
// ->pause(1000)
//7.点击移除按钮
->press(Wishlist['remove_Wishlist'])
->pause(1000)
//8.断言
// ->assertUrlIs($ProductUrl,$browser->driver->getCurrentURL())
;
});
}
}

View File

@ -0,0 +1,41 @@
<?php
namespace Tests\Browser;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
require_once(dirname(__FILE__) . '/../../data/login.php');
require_once(dirname(__FILE__) . '/../../data/login_page.php');
require_once(dirname(__FILE__) . '/../../data/account_page.php');
class SignOutTest extends DuskTestCase
{
/**
* A basic browser test example.
* @return void
*/
//场景1 email不合法
public function testSignOut()
{
$this->browse(function (Browser $browser)
{
$browser->visit(login['login_url'])
//1.登录
->type(login['login_email'], true_login['email'])
->type(login['login_pwd'], true_login['password'])
->press(login['login_btn'])
->pause(2000)
//2.退出
->clickLink(account['SignOut'])
->pause(3000)
->assertSee(false_login['false_assert']);
// ->assertSee(true_login['assert']);
});
}
}

View File

@ -0,0 +1,54 @@
<?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');
require_once(dirname(__FILE__) . '/../../data/account_page.php');
require_once(dirname(__FILE__) . '/../../data/product_1.php');
require_once(dirname(__FILE__) . '/../../data/index_page.php');
require_once(dirname(__FILE__) . '/../../data/checkout_page.php');
//已注册客户且有地址,直接购买商品
class WishlistTest extends DuskTestCase
{
public function testAddWishlist()
{
$this->browse(function (Browser $browser)
{
$browser->visit(login['login_url'])
//1.用户登录
->type(login['login_email'], true_login['email'])
->type(login['login_pwd'], true_login['password'])
->press(login['login_btn'])
->pause(2000)
//2.点击home跳转到首页
->clickLink(account['go_index'])
//3.向下滑动页面直到找到元素
->scrollIntoView(index['product_img'])
->pause(2000)
->press(index['product_img'])
->pause(2000);
//4.保存当前网址
$ProductUrl = $browser->driver->getCurrentURL();
//5.点击收藏按钮
$browser->visit($ProductUrl)
->press(product['Wishlist_icon'])
->pause(3000)
//6.点击顶部收藏认按钮
->clickLink(index_top['wishlist_btn'])
->pause(1000)
//7.点击查看详情按钮
->clickLink(Wishlist['Check_Details'])
->pause(1000)
//8.断言
->assertUrlIs($ProductUrl,$browser->driver->getCurrentURL())
;
});
}
}