admin测试

This commit is contained in:
licy@guangda.work 2023-04-18 17:33:58 +08:00 committed by Edward Yang
parent 203c937230
commit fe170590db
32 changed files with 655 additions and 71 deletions

View File

@ -1,14 +1,9 @@
<?php
//require_once __DIR__.'/../../../../vendor/autoload.php';
//require_once __DIR__.'/DuskTestSuite.php';
//require_once __DIR__.'/../page/front/RegisterTest.php';
require_once __DIR__.'/../../../../vendor/autoload.php';
use PHPUnit\Framework\TestResult;
use Tests\DuskTestCase;
use PHPUnit\Framework\TestSuite;
use PHPUnit\TextUI\ResultPrinter;
use PHPUnit\TextUI\DefaultResultPrinter;
@ -16,25 +11,38 @@ use PHPUnit\TextUI\DefaultResultPrinter;
$suite = new TestSuite();
// 向测试套件中添加测试用例
//后台
$suite->addTestFile('E:\phpstudy_pro\WWW\autotest.test\beikeshop\tests\Browser\dusktest\page\front\RegisterFirst.php');//先注册一个账户
$suite->addTestFile('E:\phpstudy_pro\WWW\autotest.test\beikeshop\tests\Browser\dusktest\page\front\RegisterTest.php');//场景注册
$suite->addTestFile('E:\phpstudy_pro\WWW\autotest.test\beikeshop\tests\Browser\dusktest\page\front\LoginTest.php'); //前台登录场景
$suite->addTestFile('E:\phpstudy_pro\WWW\autotest.test\beikeshop\tests\Browser\dusktest\page\front\SignOutTest.php'); //前台退出
$suite->addTestFile('E:\phpstudy_pro\WWW\autotest.test\beikeshop\tests\Browser\dusktest\page\front\AddressTest.php');//添加地址
$suite->addTestFile('E:\phpstudy_pro\WWW\autotest.test\beikeshop\tests\Browser\dusktest\page\front\AddCartTest.php');//加入购物车
$suite->addTestFile('E:\phpstudy_pro\WWW\autotest.test\beikeshop\tests\Browser\dusktest\page\front\RemoveCartTest.php');//移除购物车
$suite->addTestFile('E:\phpstudy_pro\WWW\autotest.test\beikeshop\tests\Browser\dusktest\page\front\WishlistTest.php');//加入喜欢
$suite->addTestFile('E:\phpstudy_pro\WWW\autotest.test\beikeshop\tests\Browser\dusktest\page\front\RemoveWishlistTest.php');//移除喜欢
$suite->addTestFile('E:\phpstudy_pro\WWW\autotest.test\beikeshop\tests\Browser\dusktest\page\front\EditUserInfo.php');//修改个人信息
$suite->addTestFile('.\tests\Browser\dusktest\page\front\RegisterFirst.php');//先注册一个账户
$suite->addTestFile('.\tests\Browser\dusktest\page\front\RegisterTest.php');//场景注册
$suite->addTestFile('.\tests\Browser\dusktest\page\front\LoginTest.php'); //前台登录场景
$suite->addTestFile('.\tests\Browser\dusktest\page\front\SignOutTest.php'); //前台退出
$suite->addTestFile('.\tests\Browser\dusktest\page\front\AddressTest.php');//添加地址
$suite->addTestFile('.\tests\Browser\dusktest\page\front\AddCartTest.php');//加入购物车
$suite->addTestFile('.\tests\Browser\dusktest\page\front\RemoveCartTest.php');//移除购物车
$suite->addTestFile('.\tests\Browser\dusktest\page\front\WishlistTest.php');//加入喜欢
// $suite->addTestFile('.\tests\Browser\dusktest\page\front\RemoveWishlistTest.php');//移除喜欢
$suite->addTestFile('.\tests\Browser\dusktest\page\front\EditUserInfo.php');//修改个人信息
//后台
$suite->addTestFile('E:\phpstudy_pro\WWW\autotest.test\beikeshop\tests\Browser\dusktest\page\admin\AdminLoginTest.php'); //后台登录
$suite->addTestFile('E:\phpstudy_pro\WWW\autotest.test\beikeshop\tests\Browser\dusktest\page\admin\AdminSignOutTest.php'); //后台退出
$suite->addTestFile('E:\phpstudy_pro\WWW\autotest.test\beikeshop\tests\Browser\dusktest\page\admin\GoCatalogTest.php'); //跳转前台
$suite->addTestFile('E:\phpstudy_pro\WWW\autotest.test\beikeshop\tests\Browser\dusktest\page\admin\AddGoodsTest.php'); //添加商品
$suite->addTestFile('.\tests\Browser\dusktest\page\admin\AdminLoginTest.php'); //后台登录
$suite->addTestFile('.\tests\Browser\dusktest\page\admin\AdminSignOutTest.php'); //后台退出
$suite->addTestFile('.\tests\Browser\dusktest\page\admin\GoCatalogTest.php'); //跳转前台
$suite->addTestFile('.\tests\Browser\dusktest\page\admin\GopLuginsTest.php'); //跳转插件市场
$suite->addTestFile('.\tests\Browser\dusktest\page\admin\AddProductTest.php'); //添加商品
$suite->addTestFile('.\tests\Browser\dusktest\page\admin\EditProductTest.php'); //编辑商品
$suite->addTestFile('.\tests\Browser\dusktest\page\admin\DelProductTest.php'); //删除商品
$suite->addTestFile('.\tests\Browser\dusktest\page\admin\GoVipTest.php'); //跳转vip界面
$suite->addTestFile('.\tests\Browser\dusktest\page\admin\LanguageSwitchTest.php');//切换语言
$suite->addTestFile('.\tests\Browser\dusktest\page\admin\AddCustomerTest.php');//创建用户
$suite->addTestFile('.\tests\Browser\dusktest\page\admin\EditCustomerTest.php');//修改用户信息
$suite->addTestFile('.\tests\Browser\dusktest\page\admin\DelCustomerTest.php');//删除用户
$suite->addTestFile('.\tests\Browser\dusktest\page\admin\AddCusGroupTest.php');//添加用户组
$suite->addTestFile('.\tests\Browser\dusktest\page\admin\EditCusGroupTest.php');//编辑用户组
$suite->addTestFile('.\tests\Browser\dusktest\page\admin\DelCusGroupTest.php');//删除用户组
//前后台联测
$suite->addTestFile('E:\phpstudy_pro\WWW\autotest.test\beikeshop\tests\Browser\dusktest\page\front\OrderTest.php');//商品页下单
$suite->addTestFile('E:\phpstudy_pro\WWW\autotest.test\beikeshop\tests\Browser\dusktest\page\front\OrderTest.php');//购物车下单
//场景1 前台下单,后台取消订单
$suite->addTestFile('.\tests\Browser\dusktest\page\front\OrderTest.php');//商品页下单
$suite->addTestFile('.\tests\Browser\dusktest\page\front\CartCheckoutTest.php');//购物车下单
// 运行测试套件
$result = $suite->run();
// 输出测试结果

View File

@ -5,7 +5,19 @@ const admin_top = [
'go_catalog'=>'访问前台',
"sign_out"=> " 退出登录",
"mg_product"=>"商品管理",
"mg_customers"=>"客户管理",
"VIP"=>"VIP",
"plugins_market"=>"插件市场",
"sw_language"=>"简体中文",
"en_language"=>"English",
];
const admin_assert = [
"vip_assert"=>"登录购买VIP服务",
"plugins_assert"=>"/admin/marketing",
"en_assert"=>"Admin Panel",
];

View File

@ -8,4 +8,14 @@ const product_info = [
"cost_price"=>"5",//成本价
"quantity"=>"3",//数量
];
const alter_product = [
"ch_name"=>"alter_test",//中文名称
"en_name"=>"alter_test",//英文名称
"sku"=>"456",//sku
"price"=>"5000",//价格
"origin_price"=>"500",//原价
"cost_price"=>"50",//成本价
"quantity"=>"30",//数量
];

View File

@ -9,6 +9,6 @@ const product_top = [
"cost_price"=>"skus[0][cost_price]",//成本价
"quantity"=>"skus[0][quantity]",//数量
"save_btn"=>"#content > div.page-title-box.py-1.d-flex.align-items-center.justify-content-between > div > button",//保存
"assert"=>"创建成功!",
];

View File

@ -0,0 +1,16 @@
<?php
const cus_group_info = [
"ch_group_name" =>"钻石组",
"en_group_name"=>"钻石组",
"ch_description"=>"钻石组",
"en_description"=>"钻石组",
"discount"=>"20",
];
const alter_cus_group_info = [
"ch_group_name" =>"钻石组alter",
"en_group_name"=>"钻石组alter",
"ch_description"=>"钻石组alter",
"en_description"=>"钻石组alter",
"discount"=>"30",
];

View File

@ -0,0 +1,15 @@
<?php
const customer_info = [
"name" =>"admin",
"email"=>"admin@163.com",
"pwd"=>"123456",
"customer_group"=>"",
];
const customer_info_alter = [
"name" =>"test1",
"email"=>"test1@163.com",
"pwd"=>"1234567",
"customer_group"=>"",
];

View File

@ -0,0 +1,58 @@
<?php
const customer_left = [
"url" =>"/admin/customers",
"customer_list"=>"客户列表",//客户列表
"customer_group"=>"客户组",//客户组
"re_station"=>"回收站",//回收站
];
const cre_customer = [
"name" =>"#customer-app > div.el-dialog__wrapper > div > div.el-dialog__body > form > div:nth-child(1) > div > div > input",
"email"=>"#customer-app > div.el-dialog__wrapper > div > div.el-dialog__body > form > div:nth-child(2) > div > div > input",
"pwd"=>"#customer-app > div.el-dialog__wrapper > div > div.el-dialog__body > form > div:nth-child(3) > div > div > input",
"customer_group"=>"#customer-app > div.el-dialog__wrapper > div > div.el-dialog__body > form > div:nth-child(4) > div > div > div > span > span > i",
"state"=>"#customer-app > div.el-dialog__wrapper > div > div.el-dialog__body > form > div:nth-child(5) > div",
"save_btn"=>"#customer-app > div.el-dialog__wrapper > div > div.el-dialog__body > form > div:nth-child(6) > div > button.el-button.el-button--primary",
];
const alter_customer = [
"name" =>"#pane-customer > div > div:nth-child(1) > div > div > input",
"email"=>"#pane-customer > div > div:nth-child(2) > div > div > input",
"pwd"=>"#pane-customer > div > div:nth-child(3) > div > div > input",
"customer_group"=>"#pane-customer > div > div:nth-child(4) > div > div > div.el-input.el-input--suffix > span > span > i",
"state"=>"#pane-customer > div > div:nth-child(5) > div > div > span",
"save_btn"=>"#pane-customer > div > div:nth-child(6) > div > button",
];
const customer_list = [
//创建客户
"cre_customer"=>"#customer-app > div.card-body > div.d-flex.justify-content-between.mb-4 > button",
//编辑客户
"edit_customer" =>"#customer-app > div.card-body > div.table-push > table > tbody > tr:nth-child(1) > td:nth-child(8) > a",
//删除客户
"del_customer" =>"#customer-app > div.card-body > div.table-push > table > tbody > tr:nth-child(1) > td:nth-child(8) > button",
"get_assert"=>"#customer-app > div.card-body > div.table-push > table > tbody > tr:nth-child(1) > td:nth-child(2)",
"sure_btn"=>"确定",
];
const customer_group = [
//创建客户组
"cre_cus_group"=>"#customer-app > div.card-body > div.d-flex.justify-content-between.mb-4 > button",
//编辑客户组
"edit_cus_group" =>"#customer-app > div.card-body > div.table-push > table > tbody > tr:nth-child(1) > td:nth-child(6) > button.btn.btn-outline-secondary.btn-sm",
//删除客户组
"del_cus_group" =>"#customer-app > div.card-body > div.table-push > table > tbody > tr:nth-child(1) > td:nth-child(6) > button.btn.btn-outline-danger.btn-sm.ml-1",
"get_assert"=>"#customer-app > div.card-body > div.table-push > table > tbody > tr:nth-child(1) > td:nth-child(2)",
"sure_btn"=>"确定",
];
const cre_cus_group = [
"ch_group_name" =>"#customer-app > div.el-dialog__wrapper > div > div.el-dialog__body > form > div.el-form-item.language-inputs.is-required > div > div:nth-child(1) > div > div > input",
"en_group_name"=>"#customer-app > div.el-dialog__wrapper > div > div.el-dialog__body > form > div.el-form-item.language-inputs.is-required > div > div:nth-child(2) > div > div > input",
"ch_description"=>"#customer-app > div.el-dialog__wrapper > div > div.el-dialog__body > form > div:nth-child(2) > div > div:nth-child(1) > div > div > input",
"en_description"=>"#customer-app > div.el-dialog__wrapper > div > div.el-dialog__body > form > div:nth-child(2) > div > div:nth-child(2) > div > div > input",
"discount"=>"#customer-app > div.el-dialog__wrapper > div > div.el-dialog__body > form > div:nth-child(3) > div > div > input",
"save_btn"=>"#customer-app > div.el-dialog__wrapper > div > div.el-dialog__body > form > div:nth-child(4) > div > div > button.el-button.el-button--primary",
];
const customer_assert = [
];

View File

@ -1,6 +1,17 @@
<?php
const products_top = [
"login_url" =>"/admin/products",
"create_product"=>"#product-app > div > div > div.d-flex.justify-content-between.my-4 > a > button",
"create_product"=>"#product-app > div > div > div.d-flex.justify-content-between.my-4 > a > button",//创建商品按钮
//编辑商品按钮
"edit_product" =>"#product-app > div > div > div.table-push > table > tbody > tr:nth-child(1) > td.text-end > a.btn.btn-outline-secondary.btn-sm",
//删除按钮
"del_product"=>"#product-app > div > div > div.table-push > table > tbody > tr:nth-child(1) > td.text-end > a.btn.btn-outline-danger.btn-sm",//创建商品按钮
"sure_btn"=>"确定",
"get_name"=>"#product-app > div > div > div.table-push > table > tbody > tr:nth-child(1) > td:nth-child(4) > a",
];
const cre_assert = [
"cre_ful_assert"=>"创建成功!",
"alter_ful_assert" =>"更新成功!",
"del_ful_assert" =>"删除成功!",
];

View File

@ -1,6 +1,6 @@
<?php
const account = [
"login_url" =>"/account",
"url" =>"/account",
"go_index"=>"Home",//beikeshop图标
"SignOut"=>"Sign Out"//sign
];
@ -35,7 +35,9 @@ 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",
"remove_Wishlist"=>".btn btn-danger btn-sm remove-wishlist",
//body > div.container > div > div.col-12.col-md-9 > div > div.card-body > table > tbody > tr > td.text-end > div > button > i
"no_data"=>".text-secondary fs-4 mb-3",
];

View File

@ -8,10 +8,10 @@ const order = [
"address_btn"=>"#checkout-address-app > div.checkout-black > div.addresses-wrap > div > div > div > button", //添加地址
"login_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",
"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",
// "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",
//];

View File

@ -0,0 +1,53 @@
<?php
namespace Tests\Browser;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
require_once(dirname(__FILE__) . '/../../data/admin/login.php');
require_once(dirname(__FILE__) . '/../../data/admin/login_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/admin_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/cus_grounp.php');
require_once(dirname(__FILE__) . '/../../data/admin/customer_page.php');
class AddCusGroupTest extends DuskTestCase
{
/**
* A basic browser test example.
* @return void
*/
public function testAddCusGroup()
{
$this->browse(function (Browser $browser)
{
$browser->visit(admin_login['login_url'])
//1.登录
->type(admin_login['login_email'], admin_true_login['email'])
->type(admin_login['login_pwd'], admin_true_login['password'])
->press(admin_login['login_btn'])
->pause(2000)
//2.点击客户管理
->clickLink(admin_top['mg_customers'])
->pause(3000)
//4.点击客户组
->clickLink(customer_left['customer_group'])
//5.点击创建客户组
->press(customer_group['cre_cus_group'])
//4.填写客户组信息
->type(cre_cus_group['ch_group_name'], cus_group_info['ch_group_name'])
->type(cre_cus_group['en_group_name'], cus_group_info['en_group_name'])
->type(cre_cus_group['ch_description'], cus_group_info['ch_description'])
->type(cre_cus_group['en_description'], cus_group_info['en_description'])
->type(cre_cus_group['discount'], cus_group_info['discount'])
//5.点击保存
->press(cre_cus_group['save_btn'])
->pause(5000)
->assertSee(cus_group_info['ch_group_name'])
;
});
}
}

View File

@ -0,0 +1,48 @@
<?php
namespace Tests\Browser;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
require_once(dirname(__FILE__) . '/../../data/admin/login.php');
require_once(dirname(__FILE__) . '/../../data/admin/login_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/admin_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/customer.php');
require_once(dirname(__FILE__) . '/../../data/admin/customer_page.php');
class AddCustomerTest extends DuskTestCase
{
/**
* A basic browser test example.
* @return void
*/
public function testAddCustomer()
{
$this->browse(function (Browser $browser)
{
$browser->visit(admin_login['login_url'])
//1.登录
->type(admin_login['login_email'], admin_true_login['email'])
->type(admin_login['login_pwd'], admin_true_login['password'])
->press(admin_login['login_btn'])
->pause(2000)
//2.点击客户管理
->clickLink(admin_top['mg_customers'])
//3.点击创建客户
->press(customer_list['cre_customer'])
//4.填写客户信息
->type(cre_customer['name'], customer_info['name'])
->type(cre_customer['email'], customer_info['email'])
->type(cre_customer['pwd'], customer_info['pwd'])
//5.点击保存
->press(cre_customer['save_btn'])
->pause(5000)
->assertSee(customer_info['email'])
;
});
}
}

View File

@ -12,7 +12,7 @@ require_once(dirname(__FILE__) . '/../../data/catalog/index_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/product_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/cre_product_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/cre_product.php');
class AddGoodsTest extends DuskTestCase
class AddProductTest extends DuskTestCase
{
/**
* A basic browser test example.
@ -22,7 +22,7 @@ class AddGoodsTest extends DuskTestCase
//场景1 email不合法
public function testAddGoods()
public function testAddProduct()
{
$this->browse(function (Browser $browser)
@ -47,7 +47,7 @@ class AddGoodsTest extends DuskTestCase
->type(product_top['quantity'], product_info['quantity'])
//5.点击保存
->press(product_top['save_btn'])
->assertSee(product_top['assert'])
->assertSee(cre_assert['cre_ful_assert'])
;
});

View File

@ -0,0 +1,46 @@
<?php
namespace Tests\Browser;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
require_once(dirname(__FILE__) . '/../../data/admin/login.php');
require_once(dirname(__FILE__) . '/../../data/admin/login_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/admin_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/cus_grounp.php');
require_once(dirname(__FILE__) . '/../../data/admin/customer_page.php');
class DelCusGroupTest extends DuskTestCase
{
/**
* A basic browser test example.
* @return void
*/
public function testDelCusGroup()
{
$this->browse(function (Browser $browser)
{
$browser->visit(admin_login['login_url'])
//1.登录
->type(admin_login['login_email'], admin_true_login['email'])
->type(admin_login['login_pwd'], admin_true_login['password'])
->press(admin_login['login_btn'])
->pause(2000)
//2.点击客户管理
->clickLink(admin_top['mg_customers'])
->pause(3000)
//4.点击客户组
->clickLink(customer_left['customer_group']);
$cus_group_text=$browser->text(customer_group['get_assert']);
echo $cus_group_text;
//5.点击删除按钮
$browser->press(customer_group['del_cus_group'])
->pause(2000)
->assertSee($cus_group_text)
;
});
}
}

View File

@ -0,0 +1,56 @@
<?php
namespace Tests\Browser;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
require_once(dirname(__FILE__) . '/../../data/admin/login.php');
require_once(dirname(__FILE__) . '/../../data/admin/login_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/admin_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/customer.php');
require_once(dirname(__FILE__) . '/../../data/admin/customer_page.php');
class DelCustomerTest extends DuskTestCase
{
/**
* A basic browser test example.
* @return void
*/
//场景1 email不合法
public function testEditProduct()
{
$this->browse(function (Browser $browser)
{
$browser->visit(admin_login['login_url'])
//1.登录
->type(admin_login['login_email'], admin_true_login['email'])
->type(admin_login['login_pwd'], admin_true_login['password'])
->press(admin_login['login_btn'])
->pause(2000)
//2.点击客户管理
->clickLink(admin_top['mg_customers']);
$customer_text=$browser->text(customer_list['get_assert']);
echo $customer_text;
//2.点击商品管理
//3.点击添加商品
$browser->press(customer_list['del_customer'])
//确认
->press(customer_list['sure_btn']);
$browser->pause(2000)
->assertDontSee($customer_text)
->pause(5000)
;
});
}
}

View File

@ -0,0 +1,55 @@
<?php
namespace Tests\Browser;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
require_once(dirname(__FILE__) . '/../../data/admin/login.php');
require_once(dirname(__FILE__) . '/../../data/admin/login_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/admin_page.php');
require_once(dirname(__FILE__) . '/../../data/catalog/index_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/product_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/cre_product_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/cre_product.php');
class DelProductTest extends DuskTestCase
{
/**
* A basic browser test example.
* @return void
*/
//场景1 email不合法
public function testEditProduct()
{
$this->browse(function (Browser $browser)
{
$browser->visit(admin_login['login_url'])
//1.登录
->type(admin_login['login_email'], admin_true_login['email'])
->type(admin_login['login_pwd'], admin_true_login['password'])
->press(admin_login['login_btn'])
->pause(2000)
->clickLink(admin_top['mg_product']);
$product1_text=$browser->text(products_top['get_name']);
echo $product1_text;
//2.点击商品管理
//3.点击添加商品
$browser->press(products_top['del_product'])
//确认
->press(products_top['sure_btn']);
$browser->pause(2000)
->assertDontSee($product1_text)
->pause(5000)
;
});
}
}

View File

@ -0,0 +1,53 @@
<?php
namespace Tests\Browser;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
require_once(dirname(__FILE__) . '/../../data/admin/login.php');
require_once(dirname(__FILE__) . '/../../data/admin/login_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/admin_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/cus_grounp.php');
require_once(dirname(__FILE__) . '/../../data/admin/customer_page.php');
class EditCusGroupTest extends DuskTestCase
{
/**
* A basic browser test example.
* @return void
*/
public function testEditCusGroup()
{
$this->browse(function (Browser $browser)
{
$browser->visit(admin_login['login_url'])
//1.登录
->type(admin_login['login_email'], admin_true_login['email'])
->type(admin_login['login_pwd'], admin_true_login['password'])
->press(admin_login['login_btn'])
->pause(2000)
//2.点击客户管理
->clickLink(admin_top['mg_customers'])
->pause(3000)
//4.点击客户组
->clickLink(customer_left['customer_group'])
//5.点击创建客户组
->press(customer_group['edit_cus_group'])
//4.填写客户组信息
->type(cre_cus_group['ch_group_name'], alter_cus_group_info['ch_group_name'])
->type(cre_cus_group['en_group_name'], alter_cus_group_info['en_group_name'])
->type(cre_cus_group['ch_description'], alter_cus_group_info['ch_description'])
->type(cre_cus_group['en_description'], alter_cus_group_info['en_description'])
->type(cre_cus_group['discount'], alter_cus_group_info['discount'])
//5.点击保存
->press(cre_cus_group['save_btn'])
->pause(5000)
->assertSee(alter_cus_group_info['ch_group_name'])
;
});
}
}

View File

@ -0,0 +1,47 @@
<?php
namespace Tests\Browser;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
require_once(dirname(__FILE__) . '/../../data/admin/login.php');
require_once(dirname(__FILE__) . '/../../data/admin/login_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/admin_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/customer.php');
require_once(dirname(__FILE__) . '/../../data/admin/customer_page.php');
class EditCustomerTest extends DuskTestCase
{
/**
* A basic browser test example.
* @return void
*/
public function testEditCustomer()
{
$this->browse(function (Browser $browser)
{
$browser->visit(admin_login['login_url'])
//1.登录
->type(admin_login['login_email'], admin_true_login['email'])
->type(admin_login['login_pwd'], admin_true_login['password'])
->press(admin_login['login_btn'])
->pause(2000)
//2.点击客户管理
->clickLink(admin_top['mg_customers'])
//3.点击删除按钮
->press(customer_list['edit_customer'])
//4.填写客户信息
->type(alter_customer['name'], customer_info_alter['name'])
->type(alter_customer['email'], customer_info_alter['email'])
->type(alter_customer['pwd'], customer_info_alter['pwd'])
//5.点击保存
->press(alter_customer['save_btn'])
->pause(5000)
->assertSee(customer_info_alter['email'])
;
});
}
}

View File

@ -0,0 +1,56 @@
<?php
namespace Tests\Browser;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
require_once(dirname(__FILE__) . '/../../data/admin/login.php');
require_once(dirname(__FILE__) . '/../../data/admin/login_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/admin_page.php');
require_once(dirname(__FILE__) . '/../../data/catalog/index_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/product_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/cre_product_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/cre_product.php');
class EditProductTest extends DuskTestCase
{
/**
* A basic browser test example.
* @return void
*/
//场景1 email不合法
public function testEditProduct()
{
$this->browse(function (Browser $browser)
{
$browser->visit(admin_login['login_url'])
//1.登录
->type(admin_login['login_email'], admin_true_login['email'])
->type(admin_login['login_pwd'], admin_true_login['password'])
->press(admin_login['login_btn'])
->pause(2000)
//2.点击商品管理
->clickLink(admin_top['mg_product'])
//3.点击编辑商品
->press(products_top['edit_product'])
//4.填写商品信息
->type(product_top['ch_name'], alter_product['ch_name'])
->type(product_top['en_name'], alter_product['en_name'])
->type(product_top['sku'], alter_product['sku'])
->type(product_top['price'], alter_product['price'])
->type(product_top['origin_price'], alter_product['origin_price'])
->type(product_top['cost_price'], alter_product['cost_price'])
->type(product_top['quantity'], alter_product['quantity'])
//5.点击保存
->press(product_top['save_btn'])
->pause(3000)
->assertSee(cre_assert['alter_ful_assert'])
;
});
}
}

View File

@ -9,7 +9,7 @@ require_once(dirname(__FILE__) . '/../../data/admin/login.php');
require_once(dirname(__FILE__) . '/../../data/admin/login_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/admin_page.php');
class GopLuginsTest extends DuskTestCase
class GoPluginsTest extends DuskTestCase
{
/**
* A basic browser test example.
@ -27,11 +27,11 @@ class GopLuginsTest extends DuskTestCase
->press(admin_login['login_btn'])
->pause(2000)
//2.插件市场
->clickLink(admin_top['VIP'])
->clickLink(admin_top['plugins_market'])
->pause(2000)
//3.切换到第二个窗口并获取断言
->driver->switchTo()->window($browser->driver->getWindowHandles()[1]);
$browser->assertSee(admin_top['vip_assert'])
->pause(9000);
->assertPathIs(admin_assert['plugins_assert'])
;
;
});
}

View File

@ -28,10 +28,11 @@ class GoVipTest extends DuskTestCase
->pause(2000)
//2.点击vip图标
->clickLink(admin_top['VIP'])
->pause(2000)
//3.切换到第二个窗口并获取断言
->driver->switchTo()->window($browser->driver->getWindowHandles()[1]);
$browser->assertSee(admin_top['vip_assert'])
->pause(9000);
$browser->assertSee(admin_assert['vip_assert'])
;
});
}

View File

@ -0,0 +1,41 @@
<?php
namespace Tests\Browser;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
require_once(dirname(__FILE__) . '/../../data/admin/login.php');
require_once(dirname(__FILE__) . '/../../data/admin/login_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/admin_page.php');
class LanguageSwitchTest extends DuskTestCase
{
/**
* A basic browser test example.
* @return void
*/
public function testGoVip()
{
$this->browse(function (Browser $browser)
{
$browser->visit(admin_login['login_url'])
//1.登录
->type(admin_login['login_email'], admin_true_login['email'])
->type(admin_login['login_pwd'], admin_true_login['password'])
->press(admin_login['login_btn'])
->pause(2000)
//2.点击切换语言
->clickLink(admin_top['sw_language'])
//3.切换为英文
->clickLink(admin_top['en_language'])
->pause(4000)
->assertSee(admin_assert['en_assert'])
//切换回中文
->clickLink(admin_top['en_language'])
->clickLink(admin_top['sw_language'])
;
});
}
}

View File

@ -1,13 +1,11 @@
<?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/catalog/login.php');
require_once(dirname(__FILE__) . '/../../data/catalog/login_page.php');
@ -27,9 +25,7 @@ class AddressTest extends DuskTestCase
->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())
->pause(5000)
//2.点击address
->clickLink(address['go_address'])
//3.点击添加地址
@ -53,11 +49,6 @@ class AddressTest extends DuskTestCase
->press((address['save']))
->pause(3000)
->assertSee(address['assert']);
;
//3.向下滑动页面直到找到元素
});
}
}

View File

@ -1,13 +1,12 @@
<?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/catalog/login.php');
require_once(dirname(__FILE__) . '/../../data/catalog/login_page.php');
@ -24,12 +23,10 @@ class EditUserInfo extends DuskTestCase
$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'])
->type(login['login_email'], true_register['email'])
->type(login['login_pwd'], true_register['password'])
->press(login['login_btn'])
->pause(2000)
//当前网址断言
->assertUrlIs('http://autotest.test/account', $browser->driver->getCurrentURL())
//2.点击编辑
->clickLink(Edit['go_Edit'])
->pause(1000)

View File

@ -86,7 +86,7 @@ class LoginTest extends DuskTestCase
->type(login['login_email'], true_login['email'])
->type(login['login_pwd'], true_login['password'])
->press(login['login_btn'])
->pause(2000)
->pause(5000)
->assertSee(true_login['assert']);
});
}

View File

@ -26,9 +26,9 @@ class OrderTest extends DuskTestCase
->type(login['login_email'], true_login['email'])
->type(login['login_pwd'], true_login['password'])
->press(login['login_btn'])
->pause(2000)
->pause(5000)
//当前网址断言
->assertUrlIs('http://autotest.test/account', $browser->driver->getCurrentURL())
->assertPathIs(account['url'])
//打印查看当前网址
// $html = $browser->driver->getCurrentURL();
// print_r($html)

View File

@ -4,7 +4,7 @@
namespace Tests\Browser;
namespace App\Http\Controllers;
namespace App\Http\Controllers\LoginGrounp;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
@ -12,6 +12,7 @@ use App\Http\Controllers\By;
require_once(dirname(__FILE__) . '/../../data/catalog/login.php');
require_once(dirname(__FILE__) . '/../../data/catalog/login_page.php');
require_once(dirname(__FILE__) . '/../../data/catalog/register.php');
class RegisterFirst extends DuskTestCase
{
@ -30,8 +31,10 @@ class RegisterFirst extends DuskTestCase
->type(register['register_pwd'], true_register['password'])
->type(register['register_re_pwd'], true_register['password'])
->press(register['register_btn'])
->pause(3000)
->assertSee(true_register['assert']);
->pause(6000)
->assertSee(true_register['assert'])
->pause(2000)
;
});
}
}

View File

@ -9,7 +9,7 @@ use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
require_once(dirname(__FILE__) . '/../../data/catalog/register.php');
require_once(dirname(__FILE__) . '/../../data/catalog/ogin_page.php');
require_once(dirname(__FILE__) . '/../../data/catalog/login_page.php');
class RegisterTest extends DuskTestCase
{
@ -102,7 +102,7 @@ class RegisterTest extends DuskTestCase
->type(register['register_pwd'], true_register['password'])
->type(register['register_re_pwd'], true_register['password'])
->press(register['register_btn'])
->pause(3000)
->pause(6000)
->assertSee(true_register['assert']);
});
}

View File

@ -26,9 +26,10 @@ class RemoveWishlistTest extends DuskTestCase
->type(login['login_email'], true_login['email'])
->type(login['login_pwd'], true_login['password'])
->press(login['login_btn'])
->pause(2000)
->pause(3000)
//2.点击home跳转到首页
->clickLink(account['go_index'])
->pause(2000)
//3.向下滑动页面直到找到元素
->scrollIntoView(index['product_img'])
->pause(2000)
@ -47,7 +48,7 @@ class RemoveWishlistTest extends DuskTestCase
->press(Wishlist['remove_Wishlist'])
->pause(1000)
//8.断言
// ->assertUrlIs($ProductUrl,$browser->driver->getCurrentURL())
->assertUrlIs($ProductUrl,$browser->driver->getCurrentURL())
;
});
}

View File

@ -30,12 +30,11 @@ class SignOutTest extends DuskTestCase
->type(login['login_email'], true_login['email'])
->type(login['login_pwd'], true_login['password'])
->press(login['login_btn'])
->pause(2000)
->pause(5000)
//2.退出
->clickLink(account['SignOut'])
->pause(3000)
->assertSee(false_login['false_assert']);
// ->assertSee(true_login['assert']);
});
}
}

View File

@ -30,6 +30,7 @@ class WishlistTest extends DuskTestCase
//2.点击home跳转到首页
->clickLink(account['go_index'])
->pause(2000)
//3.向下滑动页面直到找到元素
->scrollIntoView(index['product_img'])
->pause(2000)

View File

@ -46,6 +46,10 @@ abstract class DuskTestCase extends BaseTestCase
)
);
}
protected function baseUrl()
{
return 'http://beikeshop.test';
}
/**
* Determine whether the Dusk command has disabled headless mode.