客户组折扣校验

This commit is contained in:
licy@guangda.work 2023-05-08 16:49:18 +08:00 committed by Edward Yang
parent d434eafec9
commit 8c5178fa77
3 changed files with 144 additions and 2 deletions

View File

@ -56,7 +56,9 @@ use PHPUnit\TextUI\DefaultResultPrinter;
$suite->addTestFile('.\tests\Browser\dusktest\page\combine\CreateCategoriesTest.php');//添加商品分类
$suite->addTestFile('.\tests\Browser\dusktest\page\combine\EnableProductTest.php');//启用商品
$suite->addTestFile('.\tests\Browser\dusktest\page\combine\DisableProductTest.php');//禁用商品
$suite->addTestFile('.\tests\Browser\dusktest\page\combine\EnableProductTest.php');//启用商品
$suite->addTestFile('.\tests\Browser\dusktest\page\combine\UnderstockOrderTest.php');//库存不足下单
$suite->addTestFile('.\tests\Browser\dusktest\page\combine\CustomerGroupDiscountTest.php');//客户组折扣检验
// 运行测试套件
$result = $suite->run();

View File

@ -2,13 +2,18 @@
const checkout = [
'url' => '/checkout',//提交按钮
'url' => '/checkout',//
'submit' => 'Submit Order',//提交按钮
//订单成功验证信息
'assert' => 'Congratulations, the order was successfully generated!',
//订单号
'order_num'=>'.fw-bold',
// 'view_order'=>'View Order ',
'product_price'=>'.price.text-end',
'quantity'=>'.quantity',//购买商品数量
'product_total'=>'.totals li:nth-child(1) span:nth-child(2)',//商品总价
'shipping_fee'=>'.totals li:nth-child(2) span:nth-child(2)',//运费
'customer_discount'=>'.totals li:nth-child(3) span:nth-child(2)',//折扣金额
'order_total'=>'.totals li:nth-child(4) span:nth-child(2)',//实际金额
'view_order'=>'.table.table-borderless tbody tr:nth-of-type(2) td:nth-of-type(2) a',
'method_pay'=>'.radio-line-item',

View File

@ -0,0 +1,135 @@
<?php
namespace Tests\Browser;
namespace App\Http\Controllers;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
use Laravel\Dusk\TestCase;
use Facebook\WebDriver\WebDriverBy;
use App\Http\Controllers\By;
use function PHPUnit\Framework\assertEquals;
use function PHPUnit\Framework\assertNotEquals;
require_once(dirname(__FILE__) . '/../../data/catalog/login.php');
require_once(dirname(__FILE__) . '/../../data/catalog/login_page.php');
require_once(dirname(__FILE__) . '/../../data/catalog/account_page.php');
require_once(dirname(__FILE__) . '/../../data/catalog/product_1.php');
require_once(dirname(__FILE__) . '/../../data/catalog/index_page.php');
require_once(dirname(__FILE__) . '/../../data/catalog/checkout_page.php');
require_once(dirname(__FILE__) . '/../../data/catalog/order_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/login.php');
require_once(dirname(__FILE__) . '/../../data/admin/login_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/order_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/admin_page.php');
require_once(dirname(__FILE__) . '/../../data/admin/express.php');
require_once(dirname(__FILE__) . '/../../data/admin/cus_grounp.php');
require_once(dirname(__FILE__) . '/../../data/admin/customer_page.php');
///客户组折扣判断
class CustomerGroupDiscountTest extends DuskTestCase
{
public function testCustomerGroupDiscount()
{
$this->browse(function (Browser $browser)
{
$browser->visit(admin_login['login_url'])
//1.后台登录设置客户组折扣为30
->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.点击客户管理
->click(admin_top['mg_customers'])
->pause(3000)
//4.点击客户组
->click(customer_left['customer_group'])
//5.点击编辑客户组
->press(customer_group['edit_cus_group'])
//4.填写客户组折扣为30
->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']);
//前台用户登录
//点击登录图标
$browser->click(admin_top['root'])
->pause(3000)
->click(admin_top['go_catalog'])
->pause(2000)
->driver->switchTo()->window($browser->driver->getWindowHandles()[1]);
$browser->click(index_login['login_icon'])
->type(login['login_email'], true_login['email'])
->type(login['login_pwd'], true_login['password'])
->press(login['login_btn'])
->pause(5000)
->click(account['go_index'])
//3.向下滑动页面直到找到商品
->pause(2000)
->scrollIntoView(index['product_img'])
->pause(2000)
//点击要购买的商品
->press(index['product_img'])
//4.点击购买按钮
->press(product['product_1'])
->pause(5000);
//获取购买商品价格
$old_product_price = $browser->element(checkout['product_price']);
$text = $old_product_price->getText();
$matches = [];
preg_match('/[\d\.]+/', $text, $matches);
$new_product_price= $matches[0];
// 获取购买商品的数量
$old_quantity= $browser->element(checkout['quantity']);
$text = $old_quantity->getText();
$matches = [];
preg_match('/\d+/', $text, $matches);
$new_quantity = $matches[0];
//商品总价
// $old_product_total = $browser->element(checkout['product_total']);
// $text = $old_product_total->getText();
// $matches = [];
// preg_match('/[\d\.]+/', $text, $matches);
// $new_product_total = $matches[0];
//运费
$old_shipping_fee = $browser->element(checkout['shipping_fee']);
$text = $old_shipping_fee->getText();
$matches = [];
preg_match('/[\d\.]+/', $text, $matches);
$new_shipping_fee = $matches[0];
//折扣金额
// $old_customer_discount = $browser->element(checkout['customer_discount']);
// $text = $old_customer_discount->getText();
// $matches = [];
// preg_match('/[\d\.]+/', $text, $matches);
// $new_customer_discount = $matches[0];
// //实际金额
// $old_order_total = $browser->element(checkout['order_total']);
// $text = $old_order_total->getText();
// $matches = [];
// preg_match('/[\d\.]+/', $text, $matches);
// $new_order_total = $matches[0];
//打印订单号
// echo $new_product_price;
// echo $new_quantity;
// echo $new_product_total;
// echo $new_shipping_fee;
// echo $new_customer_discount;
// echo $new_order_total;
$discunt_price=$new_product_price*$new_quantity*(30/100);
// echo $discunt_price;
$true_price=$new_product_price*$new_quantity-$discunt_price+$new_shipping_fee;
$browser->assertSeeIn(checkout['customer_discount'],$discunt_price,)
->assertSeeIn(checkout['order_total'],$true_price);
//5.点击确认按钮
;
});
}
}