diff --git a/tests/Browser/dusktest/data/account.php b/tests/Browser/dusktest/data/account.php index eb260273..cc7659dd 100644 --- a/tests/Browser/dusktest/data/account.php +++ b/tests/Browser/dusktest/data/account.php @@ -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 +]; + diff --git a/tests/Browser/dusktest/data/account_page.php b/tests/Browser/dusktest/data/account_page.php index 2a96a88f..5a56bbe4 100644 --- a/tests/Browser/dusktest/data/account_page.php +++ b/tests/Browser/dusktest/data/account_page.php @@ -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", + +]; + diff --git a/tests/Browser/dusktest/data/images/Headpicture/Headpicture.jpeg b/tests/Browser/dusktest/data/images/Headpicture/Headpicture.jpeg new file mode 100644 index 00000000..c8396c4f Binary files /dev/null and b/tests/Browser/dusktest/data/images/Headpicture/Headpicture.jpeg differ diff --git a/tests/Browser/dusktest/data/index_page.php b/tests/Browser/dusktest/data/index_page.php index 1622a5cf..c2c7c772 100644 --- a/tests/Browser/dusktest/data/index_page.php +++ b/tests/Browser/dusktest/data/index_page.php @@ -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", +]; + diff --git a/tests/Browser/dusktest/data/product_1.php b/tests/Browser/dusktest/data/product_1.php index d3201210..f606a5f2 100644 --- a/tests/Browser/dusktest/data/product_1.php +++ b/tests/Browser/dusktest/data/product_1.php @@ -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", diff --git a/tests/Browser/dusktest/page/front/AddCartTest.php b/tests/Browser/dusktest/page/front/AddCartTest.php new file mode 100644 index 00000000..a437803b --- /dev/null +++ b/tests/Browser/dusktest/page/front/AddCartTest.php @@ -0,0 +1,57 @@ +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) + ; + }); + } +} diff --git a/tests/Browser/dusktest/page/front/CartCheckoutTest.php b/tests/Browser/dusktest/page/front/CartCheckoutTest.php new file mode 100644 index 00000000..298218bc --- /dev/null +++ b/tests/Browser/dusktest/page/front/CartCheckoutTest.php @@ -0,0 +1,56 @@ +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']) + + ; + }); + } +} diff --git a/tests/Browser/dusktest/page/front/EditUserInfo.php b/tests/Browser/dusktest/page/front/EditUserInfo.php new file mode 100644 index 00000000..91484fbd --- /dev/null +++ b/tests/Browser/dusktest/page/front/EditUserInfo.php @@ -0,0 +1,57 @@ +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.向下滑动页面直到找到元素 + + }); + } +} diff --git a/tests/Browser/dusktest/page/front/OrderTest.php b/tests/Browser/dusktest/page/front/OrderTest.php index 7918ba54..32aa7566 100644 --- a/tests/Browser/dusktest/page/front/OrderTest.php +++ b/tests/Browser/dusktest/page/front/OrderTest.php @@ -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']) diff --git a/tests/Browser/dusktest/page/front/RemoveCartTest.php b/tests/Browser/dusktest/page/front/RemoveCartTest.php new file mode 100644 index 00000000..b876472b --- /dev/null +++ b/tests/Browser/dusktest/page/front/RemoveCartTest.php @@ -0,0 +1,52 @@ +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) + ; + }); + } +} diff --git a/tests/Browser/dusktest/page/front/RemoveWishlistTest.php b/tests/Browser/dusktest/page/front/RemoveWishlistTest.php new file mode 100644 index 00000000..58d741f8 --- /dev/null +++ b/tests/Browser/dusktest/page/front/RemoveWishlistTest.php @@ -0,0 +1,54 @@ +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()) + ; + }); + } +} diff --git a/tests/Browser/dusktest/page/front/SignOutTest.php b/tests/Browser/dusktest/page/front/SignOutTest.php new file mode 100644 index 00000000..0476afda --- /dev/null +++ b/tests/Browser/dusktest/page/front/SignOutTest.php @@ -0,0 +1,41 @@ +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']); + }); + } +} diff --git a/tests/Browser/dusktest/page/front/WishlistTest.php b/tests/Browser/dusktest/page/front/WishlistTest.php new file mode 100644 index 00000000..38406c61 --- /dev/null +++ b/tests/Browser/dusktest/page/front/WishlistTest.php @@ -0,0 +1,54 @@ +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()) + ; + }); + } +}