From 5049526fd74f494c2898f30cb3ebbc04b23e5657 Mon Sep 17 00:00:00 2001 From: Thong Manh Gia Nguyen Date: Wed, 18 Nov 2020 14:48:59 +0700 Subject: [PATCH] =?UTF-8?q?Revert=20"for-h=E1=BA=BB"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 11f0567c31051d10e2234b57f4f186282ad33400. --- Capture 1 | Bin 238 -> 0 bytes Capture 2 | Bin 238 -> 0 bytes D/area.png | Bin 11137 -> 0 bytes Data Files/Multiple Checkout.dat | 22 ++++ Data Files/Product List.dat | 16 +++ Lieu Lieu Li Luom | Bin 59532 -> 0 bytes .../Pages/Checkout page/blockUI.rs | 22 ++++ .../Pages/Checkout page/btnPlaceOrder.rs | 22 ++++ .../Pages/Checkout page/elRoot.rs | 22 ++++ .../Pages/Checkout page/inputAddress.rs | 36 +++++++ .../Pages/Checkout page/inputCity.rs | 36 +++++++ .../Pages/Checkout page/inputCompanyName.rs | 22 ++++ .../Pages/Checkout page/inputCountry.rs | 36 +++++++ .../Pages/Checkout page/inputPhone.rs | 36 +++++++ .../Pages/Checkout page/inputPostcode.rs | 36 +++++++ .../Pages/Checkout page/lnkCheckout.rs | 29 +++++ .../Pages/Checkout page/lnkShop.rs | 22 ++++ .../Pages/Checkout page/txtFirstname.rs | 29 +++++ .../Pages/Checkout page/txtLastname.rs | 29 +++++ .../Pages/MyAccount page/btnLogin.rs | 36 +++++++ .../Pages/MyAccount page/lnkLogout.rs | 29 +++++ .../Pages/MyAccount page/lnkMyAccount.rs | 29 +++++ .../Pages/MyAccount page/nav_HomeMyaccount.rs | 78 ++++++++++++++ .../MyAccount page/txtPassword.rs} | 80 +++++--------- .../Pages/MyAccount page/txtUsername.rs | 36 +++++++ .../Pages/Shop page/btnAddToCart.rs | 22 ++++ Object Repository/Pages/Shop page/btnApply.rs | 36 +++++++ .../Pages/Shop page/btnProceed.rs | 22 ++++ .../Pages/Shop page/btnSubmitSearch.rs | 29 +++++ .../Pages/Shop page/lblProduct.rs | 22 ++++ .../Pages/Shop page/lblResult.rs | 22 ++++ .../Pages/Shop page/lblSearch.rs | 29 +++++ Object Repository/Pages/Shop page/lnkShop.rs | 29 +++++ .../Pages/Shop page/lnkViewCart.rs | 29 +++++ .../Pages/Shop page/txtCoupon.rs | 29 +++++ Object Repository/Select2/select_single.rs | 29 +++++ Profiles/tester.glbl | 102 ------------------ .../Script1566468530292.groovy} | 14 ++- .../Script1566468504501.groovy} | 17 ++- .../Script1566468485697.groovy} | 29 +++-- .../Script1603167684156.groovy | 35 ------ .../Script1603167686073.groovy | 35 ------ .../Script1603167687744.groovy | 35 ------ .../Script1603167691342.groovy | 35 ------ .../Script1603167682245.groovy | 35 ------ .../Script1601637263781.groovy | 35 ------ .../Script1601637263793.groovy | 18 ---- ...heck out a single product using coupon.tc} | 4 +- .../Order and check out a single product.tc | 64 +++++++++++ .../Order and check out multiple products.tc | 15 +++ Test Cases/Vision TC 7.7.1/.meta | 7 -- ...age Screenshot As Checkpoint - Copy (1).tc | 8 -- ...age Screenshot As Checkpoint - Copy (2).tc | 8 -- ...age Screenshot As Checkpoint - Copy (3).tc | 8 -- ...age Screenshot As Checkpoint - Copy (4).tc | 8 -- ...age Screenshot As Checkpoint - Copy (5).tc | 8 -- ...ll Page Screenshot As Checkpoint - Copy.tc | 8 -- ...Take Full Page Screenshot As Checkpoint.tc | 8 -- .../Vision TC 7.7.1/takeAreaScreenshot.tc | 8 -- .../takeAreaScreenshotAsCheckpoint.tc | 8 -- Test Suites/7.6.0/Verify Take Screenshot.ts | 20 ---- ... Screenshot As Checkpoint version 7.7.1.ts | 20 ---- .../7.7.1/Verify Take Area Screenshot.groovy | 66 ------------ .../7.7.1/Verify Take Area Screenshot.ts | 20 ---- ... Area Screeshot As Checkpoint 7.7.1.groovy | 66 ------------ ...Take Area Screeshot As Checkpoint 7.7.1.ts | 20 ---- ...ut a single product multiple times.groovy} | 0 ...eck out a single product multiple times.ts | 76 +++++++++++++ ...er and check out multiple products.groovy} | 0 .../Order and check out multiple products.ts | 34 ++++++ ...and check out with Global Variable.groovy} | 0 ...rder and check out with Global Variable.ts | 73 +++++++++++++ ...sion Keyword.ts => Run All Test Suites.ts} | 10 +- area 1.png | Bin 11137 -> 0 bytes ...lon.composer.execution.settings.properties | 0 ...m.kms.katalon.composer.testcase.properties | 2 +- ...com.kms.katalon.core.webservice.properties | 2 +- .../com.kms.katalon.execution.properties | 28 +---- ...ms.katalon.execution.webservice.properties | 4 - ...com.kms.katalon.execution.webui.properties | 3 +- ...s.katalon.integration.analytics.properties | 8 -- shopping-cart-tests.prj | 4 +- 82 files changed, 1250 insertions(+), 759 deletions(-) delete mode 100644 Capture 1 delete mode 100644 Capture 2 delete mode 100644 D/area.png create mode 100644 Data Files/Multiple Checkout.dat create mode 100644 Data Files/Product List.dat delete mode 100644 Lieu Lieu Li Luom create mode 100644 Object Repository/Pages/Checkout page/blockUI.rs create mode 100644 Object Repository/Pages/Checkout page/btnPlaceOrder.rs create mode 100644 Object Repository/Pages/Checkout page/elRoot.rs create mode 100644 Object Repository/Pages/Checkout page/inputAddress.rs create mode 100644 Object Repository/Pages/Checkout page/inputCity.rs create mode 100644 Object Repository/Pages/Checkout page/inputCompanyName.rs create mode 100644 Object Repository/Pages/Checkout page/inputCountry.rs create mode 100644 Object Repository/Pages/Checkout page/inputPhone.rs create mode 100644 Object Repository/Pages/Checkout page/inputPostcode.rs create mode 100644 Object Repository/Pages/Checkout page/lnkCheckout.rs create mode 100644 Object Repository/Pages/Checkout page/lnkShop.rs create mode 100644 Object Repository/Pages/Checkout page/txtFirstname.rs create mode 100644 Object Repository/Pages/Checkout page/txtLastname.rs create mode 100644 Object Repository/Pages/MyAccount page/btnLogin.rs create mode 100644 Object Repository/Pages/MyAccount page/lnkLogout.rs create mode 100644 Object Repository/Pages/MyAccount page/lnkMyAccount.rs create mode 100644 Object Repository/Pages/MyAccount page/nav_HomeMyaccount.rs rename Object Repository/{UI/logo.rs => Pages/MyAccount page/txtPassword.rs} (56%) create mode 100644 Object Repository/Pages/MyAccount page/txtUsername.rs create mode 100644 Object Repository/Pages/Shop page/btnAddToCart.rs create mode 100644 Object Repository/Pages/Shop page/btnApply.rs create mode 100644 Object Repository/Pages/Shop page/btnProceed.rs create mode 100644 Object Repository/Pages/Shop page/btnSubmitSearch.rs create mode 100644 Object Repository/Pages/Shop page/lblProduct.rs create mode 100644 Object Repository/Pages/Shop page/lblResult.rs create mode 100644 Object Repository/Pages/Shop page/lblSearch.rs create mode 100644 Object Repository/Pages/Shop page/lnkShop.rs create mode 100644 Object Repository/Pages/Shop page/lnkViewCart.rs create mode 100644 Object Repository/Pages/Shop page/txtCoupon.rs create mode 100644 Object Repository/Select2/select_single.rs delete mode 100644 Profiles/tester.glbl rename Scripts/{Vision TC 7.6.0/Takescreenshot/Script1601637295514.groovy => Custom-keyword samples/Order and check out a single product using coupon/Script1566468530292.groovy} (69%) rename Scripts/{Vision TC 7.7.1/takeAreaScreenshotAsCheckpoint/Script1601637263805.groovy => Custom-keyword samples/Order and check out a single product/Script1566468504501.groovy} (63%) rename Scripts/{Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (4)/Script1603167689523.groovy => Data-driven samples/Order and check out multiple products/Script1566468485697.groovy} (57%) delete mode 100644 Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (1)/Script1603167684156.groovy delete mode 100644 Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (2)/Script1603167686073.groovy delete mode 100644 Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (3)/Script1603167687744.groovy delete mode 100644 Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (5)/Script1603167691342.groovy delete mode 100644 Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy/Script1603167682245.groovy delete mode 100644 Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint/Script1601637263781.groovy delete mode 100644 Scripts/Vision TC 7.7.1/takeAreaScreenshot/Script1601637263793.groovy rename Test Cases/{Vision TC 7.6.0/Takescreenshot.tc => Custom-keyword samples/Order and check out a single product using coupon.tc} (53%) create mode 100644 Test Cases/Custom-keyword samples/Order and check out a single product.tc create mode 100644 Test Cases/Data-driven samples/Order and check out multiple products.tc delete mode 100644 Test Cases/Vision TC 7.7.1/.meta delete mode 100644 Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (1).tc delete mode 100644 Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (2).tc delete mode 100644 Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (3).tc delete mode 100644 Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (4).tc delete mode 100644 Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (5).tc delete mode 100644 Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy.tc delete mode 100644 Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint.tc delete mode 100644 Test Cases/Vision TC 7.7.1/takeAreaScreenshot.tc delete mode 100644 Test Cases/Vision TC 7.7.1/takeAreaScreenshotAsCheckpoint.tc delete mode 100644 Test Suites/7.6.0/Verify Take Screenshot.ts delete mode 100644 Test Suites/7.7.1/Verify Full Page Screenshot As Checkpoint version 7.7.1.ts delete mode 100644 Test Suites/7.7.1/Verify Take Area Screenshot.groovy delete mode 100644 Test Suites/7.7.1/Verify Take Area Screenshot.ts delete mode 100644 Test Suites/7.7.1/Verify Take Area Screeshot As Checkpoint 7.7.1.groovy delete mode 100644 Test Suites/7.7.1/Verify Take Area Screeshot As Checkpoint 7.7.1.ts rename Test Suites/{7.6.0/Verify Take Screenshot.groovy => Data-driven/Order and check out a single product multiple times.groovy} (100%) create mode 100644 Test Suites/Data-driven/Order and check out a single product multiple times.ts rename Test Suites/{7.7.1/Verify Full Page Screenshot As Checkpoint version 7.7.1.groovy => Data-driven/Order and check out multiple products.groovy} (100%) create mode 100644 Test Suites/Data-driven/Order and check out multiple products.ts rename Test Suites/{7.7.1/Verify Take Area Screenshot version 7.7.1.groovy => Order and check out with Global Variable.groovy} (100%) create mode 100644 Test Suites/Order and check out with Global Variable.ts rename Test Suites/{Vision Keyword.ts => Run All Test Suites.ts} (74%) delete mode 100644 area 1.png delete mode 100644 settings/external/com.kms.katalon.composer.execution.settings.properties delete mode 100644 settings/internal/com.kms.katalon.execution.webservice.properties delete mode 100644 settings/internal/com.kms.katalon.integration.analytics.properties diff --git a/Capture 1 b/Capture 1 deleted file mode 100644 index e2ed78686250db210bac38c45bdb9375cf7cd6c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^DIm~)y}OZ@L4k+);2Zmm zyA7D<3Vsg~d$1%REiANGok2;#frX``fk99}fe8=0gmY4g?|Fty=8Y2KR^_w)x?+ZUa5Q;OXk;vd$@?2>^jgHPZk9 diff --git a/Capture 2 b/Capture 2 deleted file mode 100644 index e2ed78686250db210bac38c45bdb9375cf7cd6c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^DIm~)y}OZ@L4k+);2Zmm zyA7D<3Vsg~d$1%REiANGok2;#frX``fk99}fe8=0gmY4g?|Fty=8Y2KR^_w)x?+ZUa5Q;OXk;vd$@?2>^jgHPZk9 diff --git a/D/area.png b/D/area.png deleted file mode 100644 index e0c76c7d3fef52da048855c41fc710577fb5bf28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11137 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 + + + Multiple Checkout + + true + + c4cbf718-68f0-47b5-bac2-d39d4856a3f9 + Data Files/Constants.xlsx + ExcelFile + true + + + readAsString + true + + + + false + Checkout + false + diff --git a/Data Files/Product List.dat b/Data Files/Product List.dat new file mode 100644 index 0000000..b022a3b --- /dev/null +++ b/Data Files/Product List.dat @@ -0,0 +1,16 @@ + + + + Product List + + true + + 4d936c34-493b-477c-a69d-1b74a55fae75 + Data Files/Constants.xlsx + ExcelFile + true + + false + listProduct + false + diff --git a/Lieu Lieu Li Luom b/Lieu Lieu Li Luom deleted file mode 100644 index d496c4b1a7a007eb8143a7059b1c461beff30b8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59532 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

7{g= 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�T~o9kvQgsW!9Y>})4&0bx;$B$V*@Ph6I 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 F1OVVhVg3LB diff --git a/Object Repository/Pages/Checkout page/blockUI.rs b/Object Repository/Pages/Checkout page/blockUI.rs new file mode 100644 index 0000000..7aaec7e --- /dev/null +++ b/Object Repository/Pages/Checkout page/blockUI.rs @@ -0,0 +1,22 @@ + + + + blockUI + + 55cf1d7c-28a3-4316-b190-86f065018d7d + + + BASIC + //*[@class = 'blockUI blockOverlay'] + + + BASIC + false + + true + equals + class + Main + blockUI blockOverlay + + diff --git a/Object Repository/Pages/Checkout page/btnPlaceOrder.rs b/Object Repository/Pages/Checkout page/btnPlaceOrder.rs new file mode 100644 index 0000000..67b8168 --- /dev/null +++ b/Object Repository/Pages/Checkout page/btnPlaceOrder.rs @@ -0,0 +1,22 @@ + + + + btnPlaceOrder + + 6f216c01-b3ab-4661-a408-a9b1f07de9aa + + + BASIC + //*[@id = 'place_order'] + + + BASIC + false + + true + equals + id + Main + place_order + + diff --git a/Object Repository/Pages/Checkout page/elRoot.rs b/Object Repository/Pages/Checkout page/elRoot.rs new file mode 100644 index 0000000..54b6a83 --- /dev/null +++ b/Object Repository/Pages/Checkout page/elRoot.rs @@ -0,0 +1,22 @@ + + + + elRoot + + f89a56a1-2439-4531-8e38-47f5921a4af3 + + + BASIC + //div[@class='woocommerce-billing-fields'] + + + BASIC + false + + true + equals + xpath + Main + //div[@class='woocommerce-billing-fields'] + + diff --git a/Object Repository/Pages/Checkout page/inputAddress.rs b/Object Repository/Pages/Checkout page/inputAddress.rs new file mode 100644 index 0000000..49878d4 --- /dev/null +++ b/Object Repository/Pages/Checkout page/inputAddress.rs @@ -0,0 +1,36 @@ + + + + inputAddress + + 03e52c0d-fc64-49aa-adc0-1e5a4f4452f8 + + + BASIC + //*[@type = 'text' and @name = 'billing_address_1' and @id = 'billing_address_1'] + + + BASIC + false + + true + equals + type + Main + text + + + true + equals + name + Main + billing_address_1 + + + true + equals + id + Main + billing_address_1 + + diff --git a/Object Repository/Pages/Checkout page/inputCity.rs b/Object Repository/Pages/Checkout page/inputCity.rs new file mode 100644 index 0000000..5bf7e30 --- /dev/null +++ b/Object Repository/Pages/Checkout page/inputCity.rs @@ -0,0 +1,36 @@ + + + + inputCity + + 9dcb78f2-b673-46ee-a3b1-2cfa2de235df + + + BASIC + //*[@type = 'text' and @name = 'billing_city' and @id = 'billing_city'] + + + BASIC + false + + true + equals + type + Main + text + + + true + equals + name + Main + billing_city + + + true + equals + id + Main + billing_city + + diff --git a/Object Repository/Pages/Checkout page/inputCompanyName.rs b/Object Repository/Pages/Checkout page/inputCompanyName.rs new file mode 100644 index 0000000..410efde --- /dev/null +++ b/Object Repository/Pages/Checkout page/inputCompanyName.rs @@ -0,0 +1,22 @@ + + + + inputCompanyName + + 212ee69e-4109-479a-aa9a-c3dea7488a3a + + + BASIC + id("billing_company") + + + BASIC + false + + true + equals + xpath + Main + id("billing_company") + + diff --git a/Object Repository/Pages/Checkout page/inputCountry.rs b/Object Repository/Pages/Checkout page/inputCountry.rs new file mode 100644 index 0000000..94ddf4c --- /dev/null +++ b/Object Repository/Pages/Checkout page/inputCountry.rs @@ -0,0 +1,36 @@ + + + + inputCountry + + f8609bcb-1e4f-4e92-8390-309b1f998086 + + + BASIC + //*[@type = 'text' and @name = 'billing_state' and @id = 'billing_state'] + + + BASIC + false + + true + equals + type + Main + text + + + true + equals + name + Main + billing_state + + + true + equals + id + Main + billing_state + + diff --git a/Object Repository/Pages/Checkout page/inputPhone.rs b/Object Repository/Pages/Checkout page/inputPhone.rs new file mode 100644 index 0000000..1931112 --- /dev/null +++ b/Object Repository/Pages/Checkout page/inputPhone.rs @@ -0,0 +1,36 @@ + + + + inputPhone + + c5a219c3-5169-4ff7-9ecf-73e7face1681 + + + BASIC + //*[@type = 'tel' and @name = 'billing_phone' and @id = 'billing_phone'] + + + BASIC + false + + true + equals + type + Main + tel + + + true + equals + name + Main + billing_phone + + + true + equals + id + Main + billing_phone + + diff --git a/Object Repository/Pages/Checkout page/inputPostcode.rs b/Object Repository/Pages/Checkout page/inputPostcode.rs new file mode 100644 index 0000000..798ec3a --- /dev/null +++ b/Object Repository/Pages/Checkout page/inputPostcode.rs @@ -0,0 +1,36 @@ + + + + inputPostcode + + fbaa1d45-d99b-4669-8464-bb04817f0a8c + + + BASIC + //*[@type = 'text' and @name = 'billing_postcode' and @id = 'billing_postcode'] + + + BASIC + false + + true + equals + type + Main + text + + + true + equals + name + Main + billing_postcode + + + true + equals + id + Main + billing_postcode + + diff --git a/Object Repository/Pages/Checkout page/lnkCheckout.rs b/Object Repository/Pages/Checkout page/lnkCheckout.rs new file mode 100644 index 0000000..f995730 --- /dev/null +++ b/Object Repository/Pages/Checkout page/lnkCheckout.rs @@ -0,0 +1,29 @@ + + + + lnkCheckout + + dc1d1374-defb-434c-8cff-b4888a4a11de + + + BASIC + //*[@href = 'http://cms.demo.katalon.com/checkout/' and (text() = 'Checkout' or . = 'Checkout')] + + + BASIC + false + + true + equals + href + Main + http://cms.demo.katalon.com/checkout/ + + + true + equals + text + Main + Checkout + + diff --git a/Object Repository/Pages/Checkout page/lnkShop.rs b/Object Repository/Pages/Checkout page/lnkShop.rs new file mode 100644 index 0000000..52f6ca3 --- /dev/null +++ b/Object Repository/Pages/Checkout page/lnkShop.rs @@ -0,0 +1,22 @@ + + + + lnkShop + + 8ee7eba2-f6e5-430a-bb98-ac6a9d7c0ef9 + + + BASIC + //*[@class = 'button wc-backward'] + + + BASIC + false + + true + equals + class + Main + button wc-backward + + diff --git a/Object Repository/Pages/Checkout page/txtFirstname.rs b/Object Repository/Pages/Checkout page/txtFirstname.rs new file mode 100644 index 0000000..7b281a3 --- /dev/null +++ b/Object Repository/Pages/Checkout page/txtFirstname.rs @@ -0,0 +1,29 @@ + + + + txtFirstname + + 7cc46294-f8ed-4b3b-ace9-a2ed33464ec3 + + + BASIC + //input[@name = 'billing_first_name'] + + + BASIC + false + + true + equals + name + Main + billing_first_name + + + true + equals + tag + Main + input + + diff --git a/Object Repository/Pages/Checkout page/txtLastname.rs b/Object Repository/Pages/Checkout page/txtLastname.rs new file mode 100644 index 0000000..489416e --- /dev/null +++ b/Object Repository/Pages/Checkout page/txtLastname.rs @@ -0,0 +1,29 @@ + + + + txtLastname + + 70b452a7-7519-46a0-8217-4a57d8d66f10 + + + BASIC + //input[@name = 'billing_last_name'] + + + BASIC + false + + true + equals + tag + Main + input + + + true + equals + name + Main + billing_last_name + + diff --git a/Object Repository/Pages/MyAccount page/btnLogin.rs b/Object Repository/Pages/MyAccount page/btnLogin.rs new file mode 100644 index 0000000..859c092 --- /dev/null +++ b/Object Repository/Pages/MyAccount page/btnLogin.rs @@ -0,0 +1,36 @@ + + + + btnLogin + + 69ae4574-e057-4354-9bf4-3c3b985fe546 + + + BASIC + //*[@type = 'submit' and @name = 'login' and (text() = 'Log in' or . = 'Log in')] + + + BASIC + false + + true + equals + type + Main + submit + + + true + equals + name + Main + login + + + true + equals + text + Main + Log in + + diff --git a/Object Repository/Pages/MyAccount page/lnkLogout.rs b/Object Repository/Pages/MyAccount page/lnkLogout.rs new file mode 100644 index 0000000..df852dd --- /dev/null +++ b/Object Repository/Pages/MyAccount page/lnkLogout.rs @@ -0,0 +1,29 @@ + + + + lnkLogout + + 02b8bbed-ea0b-44f3-ac7f-3c0f7b3debef + + + BASIC + //a[(text() = 'Logout' or . = 'Logout')] + + + BASIC + false + + true + equals + tag + Main + a + + + true + equals + text + Main + Logout + + diff --git a/Object Repository/Pages/MyAccount page/lnkMyAccount.rs b/Object Repository/Pages/MyAccount page/lnkMyAccount.rs new file mode 100644 index 0000000..8040f12 --- /dev/null +++ b/Object Repository/Pages/MyAccount page/lnkMyAccount.rs @@ -0,0 +1,29 @@ + + + + lnkMyAccount + + 5f923474-371a-4967-981f-447fd40e5fd6 + + + BASIC + //*[@href = 'http://cms.demo.katalon.com/my-account/' and (text() = 'My account' or . = 'My account')] + + + BASIC + false + + true + equals + href + Main + http://cms.demo.katalon.com/my-account/ + + + true + equals + text + Main + My account + + diff --git a/Object Repository/Pages/MyAccount page/nav_HomeMyaccount.rs b/Object Repository/Pages/MyAccount page/nav_HomeMyaccount.rs new file mode 100644 index 0000000..8f6e2a8 --- /dev/null +++ b/Object Repository/Pages/MyAccount page/nav_HomeMyaccount.rs @@ -0,0 +1,78 @@ + + + + nav_HomeMyaccount + + 00f3dc91-a877-4419-a5f0-cd0aa2f8b514 + + + XPATH + //div[@id='page']/header/nav + + + BASIC + false + + false + equals + tag + Main + nav + + + false + equals + class + Main + woocommerce-breadcrumb + + + true + equals + text + Main + Home  /  My account + + + false + equals + xpath + Main + id("page")/header[@class="page-header-block"]/nav[@class="woocommerce-breadcrumb"] + + + true + equals + xpath:idRelative + Main + //div[@id='page']/header/nav + + + false + equals + xpath:neighbor + Main + (.//*[normalize-space(text()) and normalize-space(.)='Shop'])[1]/following::nav[1] + + + false + equals + xpath:neighbor + Main + (.//*[normalize-space(text()) and normalize-space(.)='Sample Page'])[1]/following::nav[1] + + + false + equals + xpath:neighbor + Main + (.//*[normalize-space(text()) and normalize-space(.)='My account'])[2]/preceding::nav[1] + + + false + equals + xpath:position + Main + //div/header/nav + + diff --git a/Object Repository/UI/logo.rs b/Object Repository/Pages/MyAccount page/txtPassword.rs similarity index 56% rename from Object Repository/UI/logo.rs rename to Object Repository/Pages/MyAccount page/txtPassword.rs index e2aa371..4675e9a 100644 --- a/Object Repository/UI/logo.rs +++ b/Object Repository/Pages/MyAccount page/txtPassword.rs @@ -1,138 +1,106 @@ - logo + txtPassword - 1e3f8e95-4402-4e11-bb5b-363101b4e788 + 891930f9-ed51-4e83-9514-ab4e3f89f1e2 XPATH - //a[@id='gb_70'] - - - CSS - #gb_70 + //input[@id='password'] - XPATH - true + BASIC + false false equals tag Main - a + input false equals class Main - gb_ke gb_4 gb_7c + woocommerce-Input woocommerce-Input--text input-text true equals - id + type Main - gb_70 + password true equals - href + name Main - https://accounts.google.com/ServiceLogin?hl=vi&passive=true&continue=https://www.google.com/%3Fgws_rd%3Dssl&ec=GAZAAQ + password - false + true equals - target + id Main - _top + password - true + false equals - text + autocomplete Main - Đăng nhập + current-password false equals xpath Main - id("gb_70") + id("password") true equals xpath:attributes Main - //a[@id='gb_70'] + //input[@id='password'] false equals xpath:idRelative Main - //div[@id='gbw']/div/div/div[2]/div[2]/div/a - - - false - equals - xpath:link - Main - //a[contains(text(),'Đăng nhập')] - - - false - equals - xpath:neighbor - Main - (.//*[normalize-space(text()) and normalize-space(.)='Hình ảnh'])[1]/following::a[2] + //article[@id='post-82']/div/div/form/p[2]/input false equals xpath:neighbor Main - (.//*[normalize-space(text()) and normalize-space(.)='Gmail'])[1]/following::a[3] + (.//*[normalize-space(text()) and normalize-space(.)='*'])[2]/following::input[1] false equals xpath:neighbor Main - (.//*[normalize-space(text()) and normalize-space(.)='Xóa'])[1]/preceding::a[1] + (.//*[normalize-space(text()) and normalize-space(.)='Remember me'])[1]/preceding::input[2] false equals xpath:neighbor Main - (.//*[normalize-space(text()) and normalize-space(.)='×'])[1]/preceding::a[2] - - - false - equals - xpath:neighbor - Main - //*/text()[normalize-space(.)='Đăng nhập']/parent::* - - - false - equals - xpath:href - Main - //a[contains(@href, 'https://accounts.google.com/ServiceLogin?hl=vi&passive=true&continue=https://www.google.com/%3Fgws_rd%3Dssl&ec=GAZAAQ')] + (.//*[normalize-space(text()) and normalize-space(.)='Log in'])[1]/preceding::input[4] false equals xpath:position Main - //div[2]/div/a + //p[2]/input diff --git a/Object Repository/Pages/MyAccount page/txtUsername.rs b/Object Repository/Pages/MyAccount page/txtUsername.rs new file mode 100644 index 0000000..2bfcd40 --- /dev/null +++ b/Object Repository/Pages/MyAccount page/txtUsername.rs @@ -0,0 +1,36 @@ + + + + txtUsername + + 6f499de4-42c1-477c-9c89-849f6f45875c + + + BASIC + //*[@type = 'text' and @name = 'username' and @id = 'username'] + + + BASIC + false + + true + equals + type + Main + text + + + true + equals + name + Main + username + + + true + equals + id + Main + username + + diff --git a/Object Repository/Pages/Shop page/btnAddToCart.rs b/Object Repository/Pages/Shop page/btnAddToCart.rs new file mode 100644 index 0000000..e617ff4 --- /dev/null +++ b/Object Repository/Pages/Shop page/btnAddToCart.rs @@ -0,0 +1,22 @@ + + + + btnAddToCart + + 2c7cf46f-6deb-4765-b1ff-f856b2f93026 + + + BASIC + //*[@class = 'single_add_to_cart_button button alt'] + + + BASIC + false + + true + equals + class + Main + single_add_to_cart_button button alt + + diff --git a/Object Repository/Pages/Shop page/btnApply.rs b/Object Repository/Pages/Shop page/btnApply.rs new file mode 100644 index 0000000..9380b85 --- /dev/null +++ b/Object Repository/Pages/Shop page/btnApply.rs @@ -0,0 +1,36 @@ + + + + btnApply + + a794ecf1-10f0-443a-8b86-20f280a36e37 + + + BASIC + //*[@type = 'submit' and @class = 'button' and @value = 'Apply coupon'] + + + BASIC + false + + true + equals + type + Main + submit + + + true + equals + class + Main + button + + + true + equals + value + Main + Apply coupon + + diff --git a/Object Repository/Pages/Shop page/btnProceed.rs b/Object Repository/Pages/Shop page/btnProceed.rs new file mode 100644 index 0000000..7393102 --- /dev/null +++ b/Object Repository/Pages/Shop page/btnProceed.rs @@ -0,0 +1,22 @@ + + + + btnProceed + + 39d18b6d-1c52-4217-99b8-57f133d9a716 + + + BASIC + //*[@class = 'checkout-button button alt wc-forward'] + + + BASIC + false + + true + equals + class + Main + checkout-button button alt wc-forward + + diff --git a/Object Repository/Pages/Shop page/btnSubmitSearch.rs b/Object Repository/Pages/Shop page/btnSubmitSearch.rs new file mode 100644 index 0000000..40e563f --- /dev/null +++ b/Object Repository/Pages/Shop page/btnSubmitSearch.rs @@ -0,0 +1,29 @@ + + + + btnSubmitSearch + + 3a836d65-6a2b-407c-940b-8b425f600c86 + + + BASIC + //*[@type = 'submit' and @class = 'search-submit'] + + + BASIC + false + + true + equals + type + Main + submit + + + true + equals + class + Main + search-submit + + diff --git a/Object Repository/Pages/Shop page/lblProduct.rs b/Object Repository/Pages/Shop page/lblProduct.rs new file mode 100644 index 0000000..3685001 --- /dev/null +++ b/Object Repository/Pages/Shop page/lblProduct.rs @@ -0,0 +1,22 @@ + + + + lblProduct + + bc351547-109a-4690-bd7a-c39e5f322c58 + + + BASIC + //*[(text() = 'Flying Ninja' or . = 'Flying Ninja')] + + + BASIC + false + + true + equals + text + Main + Flying Ninja + + diff --git a/Object Repository/Pages/Shop page/lblResult.rs b/Object Repository/Pages/Shop page/lblResult.rs new file mode 100644 index 0000000..ea9ceaf --- /dev/null +++ b/Object Repository/Pages/Shop page/lblResult.rs @@ -0,0 +1,22 @@ + + + + lblResult + + 556aea09-9dda-452b-b4c1-41bdb1f566f7 + + + BASIC + //*[@class = 'page-title'] + + + BASIC + false + + true + equals + class + Main + page-title + + diff --git a/Object Repository/Pages/Shop page/lblSearch.rs b/Object Repository/Pages/Shop page/lblSearch.rs new file mode 100644 index 0000000..750e07f --- /dev/null +++ b/Object Repository/Pages/Shop page/lblSearch.rs @@ -0,0 +1,29 @@ + + + + lblSearch + + fc18a54f-a953-410a-a87d-431a567e9906 + + + BASIC + //*[@type = 'search' and @class = 'search-field'] + + + BASIC + false + + true + equals + type + Main + search + + + true + equals + class + Main + search-field + + diff --git a/Object Repository/Pages/Shop page/lnkShop.rs b/Object Repository/Pages/Shop page/lnkShop.rs new file mode 100644 index 0000000..9c5e0b4 --- /dev/null +++ b/Object Repository/Pages/Shop page/lnkShop.rs @@ -0,0 +1,29 @@ + + + + lnkShop + + 73885601-2feb-4518-9cca-4fa36cb63389 + + + BASIC + //*[@href = 'http://cms.demo.katalon.com/' and (text() = 'Shop' or . = 'Shop')] + + + BASIC + false + + true + equals + href + Main + http://cms.demo.katalon.com/ + + + true + equals + text + Main + Shop + + diff --git a/Object Repository/Pages/Shop page/lnkViewCart.rs b/Object Repository/Pages/Shop page/lnkViewCart.rs new file mode 100644 index 0000000..76a4f92 --- /dev/null +++ b/Object Repository/Pages/Shop page/lnkViewCart.rs @@ -0,0 +1,29 @@ + + + + lnkViewCart + + 7871d97e-acd5-4e2d-9b05-289e2aac14e2 + + + BASIC + //a[@href = 'http://cms.demo.katalon.com/cart/'] + + + BASIC + false + + true + equals + href + Main + http://cms.demo.katalon.com/cart/ + + + true + equals + tag + Main + a + + diff --git a/Object Repository/Pages/Shop page/txtCoupon.rs b/Object Repository/Pages/Shop page/txtCoupon.rs new file mode 100644 index 0000000..fd1a75b --- /dev/null +++ b/Object Repository/Pages/Shop page/txtCoupon.rs @@ -0,0 +1,29 @@ + + + + txtCoupon + + d66a8dc5-976b-4e8b-9cfa-25e7869399d3 + + + BASIC + //*[@id = 'coupon_code' and @class = 'input-text'] + + + BASIC + false + + true + equals + id + Main + coupon_code + + + true + equals + class + Main + input-text + + diff --git a/Object Repository/Select2/select_single.rs b/Object Repository/Select2/select_single.rs new file mode 100644 index 0000000..11303a0 --- /dev/null +++ b/Object Repository/Select2/select_single.rs @@ -0,0 +1,29 @@ + + + + select_single + + 8106fa99-b131-428e-8c8f-5a4756c20284 + + + BASIC + //*[@name = 'billing_country' and @id = 'billing_country'] + + + BASIC + false + + true + equals + name + Main + billing_country + + + true + equals + id + Main + billing_country + + diff --git a/Profiles/tester.glbl b/Profiles/tester.glbl deleted file mode 100644 index 5ff15d9..0000000 --- a/Profiles/tester.glbl +++ /dev/null @@ -1,102 +0,0 @@ - - - - tester - - false - - - 'http://cms.demo.katalon.com/my-account' - urlLogin - - - - 'customer' - username - - - - '123456789' - password - - - - 5 - waitPresentTimeout - - - - 'http://cms.demo.katalon.com' - urlShop - - - - 'KMS' - companyName - - - - '119 Nguyen Thi Thap' - address - - - - 'HCM' - city - - - - 'Vietnam' - country - - - - '70000' - postCode - - - - '0359912894' - Phone - - - - 60 - uploadPlaceOrderTimeout - - - - 'Product List' - dataFile - - - - 'productName' - inputColumHeader - - - - 'http://cms.demo.katalon.com/product' - urlProduct - - - - 'Flying Ninja' - productName - - - - 'KBAW662S' - coupon - - - - 'katalon' - firstName - - - - 'customer' - lastName - - diff --git a/Scripts/Vision TC 7.6.0/Takescreenshot/Script1601637295514.groovy b/Scripts/Custom-keyword samples/Order and check out a single product using coupon/Script1566468530292.groovy similarity index 69% rename from Scripts/Vision TC 7.6.0/Takescreenshot/Script1601637295514.groovy rename to Scripts/Custom-keyword samples/Order and check out a single product using coupon/Script1566468530292.groovy index f5dd864..61ed39e 100644 --- a/Scripts/Vision TC 7.6.0/Takescreenshot/Script1601637295514.groovy +++ b/Scripts/Custom-keyword samples/Order and check out a single product using coupon/Script1566468530292.groovy @@ -2,7 +2,6 @@ import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase import static com.kms.katalon.core.testdata.TestDataFactory.findTestData import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject -import static com.kms.katalon.core.testobject.ObjectRepository.findWindowsObject import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile @@ -12,13 +11,18 @@ import com.kms.katalon.core.testdata.TestData as TestData import com.kms.katalon.core.testobject.TestObject as TestObject import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI -import com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows import internal.GlobalVariable as GlobalVariable -WebUI.openBrowser('https://www.google.com/') +CustomKeywords.'sample.Login.loginIntoApplicationWithGlobalVariable'() -WebUI.takeScreenshot() +WebUI.waitForElementPresent(findTestObject('Pages/Shop page/lnkShop'), GlobalVariable.waitPresentTimeout) -WebUI.click(findTestObject('Object Repository/UI/log')) +WebUI.click(findTestObject('Pages/Shop page/lnkShop')) + +CustomKeywords.'sample.Shop.applyCouponAndAddToCartWithGlobalVariable'() + +CustomKeywords.'sample.Checkout.CheckoutShopWithGlobalVariable'() + +CustomKeywords.'sample.Login.logoutFromApplication'() WebUI.closeBrowser() \ No newline at end of file diff --git a/Scripts/Vision TC 7.7.1/takeAreaScreenshotAsCheckpoint/Script1601637263805.groovy b/Scripts/Custom-keyword samples/Order and check out a single product/Script1566468504501.groovy similarity index 63% rename from Scripts/Vision TC 7.7.1/takeAreaScreenshotAsCheckpoint/Script1601637263805.groovy rename to Scripts/Custom-keyword samples/Order and check out a single product/Script1566468504501.groovy index 4b910e2..3acec05 100644 --- a/Scripts/Vision TC 7.7.1/takeAreaScreenshotAsCheckpoint/Script1601637263805.groovy +++ b/Scripts/Custom-keyword samples/Order and check out a single product/Script1566468504501.groovy @@ -2,7 +2,6 @@ import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase import static com.kms.katalon.core.testdata.TestDataFactory.findTestData import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject -import static com.kms.katalon.core.testobject.ObjectRepository.findWindowsObject import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile @@ -12,20 +11,18 @@ import com.kms.katalon.core.testdata.TestData as TestData import com.kms.katalon.core.testobject.TestObject as TestObject import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI -import com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows import internal.GlobalVariable as GlobalVariable -import org.openqa.selenium.Rectangle as Rectangle -WebUI.openBrowser('https://www.google.com/') +CustomKeywords.'sample.Login.loginIntoApplicationWithGlobalVariable'() -WebUI.maximizeWindow() +WebUI.waitForElementPresent(findTestObject('Pages/Shop page/lnkShop'), GlobalVariable.waitPresentTimeout) -WebUI.takeAreaScreenshotAsCheckpoint('Capturecheckpoint1', new Rectangle(824, 89, 201, 272)) +WebUI.click(findTestObject('Pages/Shop page/lnkShop')) -WebUI.takeElementScreenshotAsCheckpoint('logo', findTestObject('UI/logo')) +CustomKeywords.'sample.Shop.addToCartWithGlobalVariable'() -WebUI.takeElementScreenshotAsCheckpoint('header', findTestObject('UI/logo')) +CustomKeywords.'sample.Checkout.CheckoutShop'(firstName,lastName,companyName, country, address, city, postCode, Phone) -WebUI.takeScreenshot() +CustomKeywords.'sample.Login.logoutFromApplication'() -WebUI.closeBrowser() \ No newline at end of file +WebUI.closeBrowser() \ No newline at end of file diff --git a/Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (4)/Script1603167689523.groovy b/Scripts/Data-driven samples/Order and check out multiple products/Script1566468485697.groovy similarity index 57% rename from Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (4)/Script1603167689523.groovy rename to Scripts/Data-driven samples/Order and check out multiple products/Script1566468485697.groovy index 0501e3c..580b2e0 100644 --- a/Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (4)/Script1603167689523.groovy +++ b/Scripts/Data-driven samples/Order and check out multiple products/Script1566468485697.groovy @@ -2,7 +2,9 @@ import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase import static com.kms.katalon.core.testdata.TestDataFactory.findTestData import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject -import static com.kms.katalon.core.testobject.ObjectRepository.findWindowsObject + +import java.util.stream.Collectors + import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile @@ -12,24 +14,21 @@ import com.kms.katalon.core.testdata.TestData as TestData import com.kms.katalon.core.testobject.TestObject as TestObject import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI -import com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows import internal.GlobalVariable as GlobalVariable -import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject - - -import org.openqa.selenium.Rectangle - -import com.kms.katalon.core.configuration.RunConfiguration -import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI - -WebUI.openBrowser('https://www.google.com/') -WebUI.maximizeWindow() +CustomKeywords.'sample.Login.loginIntoApplicationWithGlobalVariable'() -WebUI.takeFullPageScreenshotAsCheckpoint('current_viewport') +WebUI.waitForElementPresent(findTestObject('Pages/Shop page/lnkShop'), GlobalVariable.waitPresentTimeout) -WebUI.takeFullPageScreenshotAsCheckpoint('full_view_no_elements', [findTestObject('UI/lo')]) +WebUI.click(findTestObject('Pages/Shop page/lnkShop')) -WebUI.takeScreenshot() +TestData product = findTestData(GlobalVariable.dataFile) +List productList = product.getAllData().stream() + .map{data -> data[0]}/*get first column of each row in data file */ + .collect(Collectors.toList())/*add collect and parse to list*/ +for(def productName : productList){ + CustomKeywords.'sample.Shop.addToCart'(productName.toString(), GlobalVariable.urlProduct) +} +CustomKeywords.'sample.Checkout.CheckoutShopWithGlobalVariable'() WebUI.closeBrowser() \ No newline at end of file diff --git a/Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (1)/Script1603167684156.groovy b/Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (1)/Script1603167684156.groovy deleted file mode 100644 index 0501e3c..0000000 --- a/Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (1)/Script1603167684156.groovy +++ /dev/null @@ -1,35 +0,0 @@ -import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint -import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase -import static com.kms.katalon.core.testdata.TestDataFactory.findTestData -import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject -import static com.kms.katalon.core.testobject.ObjectRepository.findWindowsObject -import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint -import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW -import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile -import com.kms.katalon.core.model.FailureHandling as FailureHandling -import com.kms.katalon.core.testcase.TestCase as TestCase -import com.kms.katalon.core.testdata.TestData as TestData -import com.kms.katalon.core.testobject.TestObject as TestObject -import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS -import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI -import com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows -import internal.GlobalVariable as GlobalVariable -import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject - - -import org.openqa.selenium.Rectangle - -import com.kms.katalon.core.configuration.RunConfiguration -import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI - -WebUI.openBrowser('https://www.google.com/') - -WebUI.maximizeWindow() - -WebUI.takeFullPageScreenshotAsCheckpoint('current_viewport') - -WebUI.takeFullPageScreenshotAsCheckpoint('full_view_no_elements', [findTestObject('UI/lo')]) - -WebUI.takeScreenshot() - -WebUI.closeBrowser() \ No newline at end of file diff --git a/Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (2)/Script1603167686073.groovy b/Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (2)/Script1603167686073.groovy deleted file mode 100644 index 0501e3c..0000000 --- a/Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (2)/Script1603167686073.groovy +++ /dev/null @@ -1,35 +0,0 @@ -import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint -import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase -import static com.kms.katalon.core.testdata.TestDataFactory.findTestData -import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject -import static com.kms.katalon.core.testobject.ObjectRepository.findWindowsObject -import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint -import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW -import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile -import com.kms.katalon.core.model.FailureHandling as FailureHandling -import com.kms.katalon.core.testcase.TestCase as TestCase -import com.kms.katalon.core.testdata.TestData as TestData -import com.kms.katalon.core.testobject.TestObject as TestObject -import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS -import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI -import com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows -import internal.GlobalVariable as GlobalVariable -import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject - - -import org.openqa.selenium.Rectangle - -import com.kms.katalon.core.configuration.RunConfiguration -import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI - -WebUI.openBrowser('https://www.google.com/') - -WebUI.maximizeWindow() - -WebUI.takeFullPageScreenshotAsCheckpoint('current_viewport') - -WebUI.takeFullPageScreenshotAsCheckpoint('full_view_no_elements', [findTestObject('UI/lo')]) - -WebUI.takeScreenshot() - -WebUI.closeBrowser() \ No newline at end of file diff --git a/Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (3)/Script1603167687744.groovy b/Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (3)/Script1603167687744.groovy deleted file mode 100644 index 0501e3c..0000000 --- a/Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (3)/Script1603167687744.groovy +++ /dev/null @@ -1,35 +0,0 @@ -import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint -import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase -import static com.kms.katalon.core.testdata.TestDataFactory.findTestData -import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject -import static com.kms.katalon.core.testobject.ObjectRepository.findWindowsObject -import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint -import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW -import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile -import com.kms.katalon.core.model.FailureHandling as FailureHandling -import com.kms.katalon.core.testcase.TestCase as TestCase -import com.kms.katalon.core.testdata.TestData as TestData -import com.kms.katalon.core.testobject.TestObject as TestObject -import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS -import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI -import com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows -import internal.GlobalVariable as GlobalVariable -import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject - - -import org.openqa.selenium.Rectangle - -import com.kms.katalon.core.configuration.RunConfiguration -import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI - -WebUI.openBrowser('https://www.google.com/') - -WebUI.maximizeWindow() - -WebUI.takeFullPageScreenshotAsCheckpoint('current_viewport') - -WebUI.takeFullPageScreenshotAsCheckpoint('full_view_no_elements', [findTestObject('UI/lo')]) - -WebUI.takeScreenshot() - -WebUI.closeBrowser() \ No newline at end of file diff --git a/Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (5)/Script1603167691342.groovy b/Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (5)/Script1603167691342.groovy deleted file mode 100644 index 0501e3c..0000000 --- a/Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (5)/Script1603167691342.groovy +++ /dev/null @@ -1,35 +0,0 @@ -import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint -import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase -import static com.kms.katalon.core.testdata.TestDataFactory.findTestData -import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject -import static com.kms.katalon.core.testobject.ObjectRepository.findWindowsObject -import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint -import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW -import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile -import com.kms.katalon.core.model.FailureHandling as FailureHandling -import com.kms.katalon.core.testcase.TestCase as TestCase -import com.kms.katalon.core.testdata.TestData as TestData -import com.kms.katalon.core.testobject.TestObject as TestObject -import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS -import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI -import com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows -import internal.GlobalVariable as GlobalVariable -import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject - - -import org.openqa.selenium.Rectangle - -import com.kms.katalon.core.configuration.RunConfiguration -import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI - -WebUI.openBrowser('https://www.google.com/') - -WebUI.maximizeWindow() - -WebUI.takeFullPageScreenshotAsCheckpoint('current_viewport') - -WebUI.takeFullPageScreenshotAsCheckpoint('full_view_no_elements', [findTestObject('UI/lo')]) - -WebUI.takeScreenshot() - -WebUI.closeBrowser() \ No newline at end of file diff --git a/Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy/Script1603167682245.groovy b/Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy/Script1603167682245.groovy deleted file mode 100644 index 0501e3c..0000000 --- a/Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy/Script1603167682245.groovy +++ /dev/null @@ -1,35 +0,0 @@ -import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint -import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase -import static com.kms.katalon.core.testdata.TestDataFactory.findTestData -import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject -import static com.kms.katalon.core.testobject.ObjectRepository.findWindowsObject -import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint -import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW -import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile -import com.kms.katalon.core.model.FailureHandling as FailureHandling -import com.kms.katalon.core.testcase.TestCase as TestCase -import com.kms.katalon.core.testdata.TestData as TestData -import com.kms.katalon.core.testobject.TestObject as TestObject -import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS -import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI -import com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows -import internal.GlobalVariable as GlobalVariable -import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject - - -import org.openqa.selenium.Rectangle - -import com.kms.katalon.core.configuration.RunConfiguration -import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI - -WebUI.openBrowser('https://www.google.com/') - -WebUI.maximizeWindow() - -WebUI.takeFullPageScreenshotAsCheckpoint('current_viewport') - -WebUI.takeFullPageScreenshotAsCheckpoint('full_view_no_elements', [findTestObject('UI/lo')]) - -WebUI.takeScreenshot() - -WebUI.closeBrowser() \ No newline at end of file diff --git a/Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint/Script1601637263781.groovy b/Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint/Script1601637263781.groovy deleted file mode 100644 index 1e7d547..0000000 --- a/Scripts/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint/Script1601637263781.groovy +++ /dev/null @@ -1,35 +0,0 @@ -import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint -import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase -import static com.kms.katalon.core.testdata.TestDataFactory.findTestData -import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject -import static com.kms.katalon.core.testobject.ObjectRepository.findWindowsObject -import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint -import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW -import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile -import com.kms.katalon.core.model.FailureHandling as FailureHandling -import com.kms.katalon.core.testcase.TestCase as TestCase -import com.kms.katalon.core.testdata.TestData as TestData -import com.kms.katalon.core.testobject.TestObject as TestObject -import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS -import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI -import com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows -import internal.GlobalVariable as GlobalVariable -import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject - - -import org.openqa.selenium.Rectangle - -import com.kms.katalon.core.configuration.RunConfiguration -import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI - -WebUI.openBrowser('https://www.google.com/') - -WebUI.maximizeWindow() - -WebUI.takeFullPageScreenshotAsCheckpoint('current_viewport') - -WebUI.takeFullPageScreenshotAsCheckpoint('full_view_no_elements', [findTestObject('UI/logo')]) - -WebUI.takeScreenshot() - -WebUI.closeBrowser() \ No newline at end of file diff --git a/Scripts/Vision TC 7.7.1/takeAreaScreenshot/Script1601637263793.groovy b/Scripts/Vision TC 7.7.1/takeAreaScreenshot/Script1601637263793.groovy deleted file mode 100644 index 1ad0978..0000000 --- a/Scripts/Vision TC 7.7.1/takeAreaScreenshot/Script1601637263793.groovy +++ /dev/null @@ -1,18 +0,0 @@ -import org.openqa.selenium.Rectangle - -import com.kms.katalon.core.configuration.RunConfiguration -import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI - -WebUI.openBrowser('https://www.google.com/') - -WebUI.maximizeWindow() - -WebUI.takeAreaScreenshot(RunConfiguration.getReportFolder() + '/image.png', new Rectangle(824, 89, 201, 272)) - -WebUI.takeScreenshot() - -//WebUI.takeAreaScreenshot(new Rectangle(824, 89, 201, 272)) -// -//WebUI.takeAreaScreenshot('D\\area.png', new Rectangle(824, 89, 201, 272)) - -WebUI.closeBrowser() \ No newline at end of file diff --git a/Test Cases/Vision TC 7.6.0/Takescreenshot.tc b/Test Cases/Custom-keyword samples/Order and check out a single product using coupon.tc similarity index 53% rename from Test Cases/Vision TC 7.6.0/Takescreenshot.tc rename to Test Cases/Custom-keyword samples/Order and check out a single product using coupon.tc index a8724ba..5b70df4 100644 --- a/Test Cases/Vision TC 7.6.0/Takescreenshot.tc +++ b/Test Cases/Custom-keyword samples/Order and check out a single product using coupon.tc @@ -1,8 +1,8 @@ - Takescreenshot + Order and check out a single product using coupon - a2a56b8f-705b-4054-8376-a9262f2b05a4 + 00fd7c05-77c6-4965-95b1-a1121dfdfdc1 diff --git a/Test Cases/Custom-keyword samples/Order and check out a single product.tc b/Test Cases/Custom-keyword samples/Order and check out a single product.tc new file mode 100644 index 0000000..5fc0702 --- /dev/null +++ b/Test Cases/Custom-keyword samples/Order and check out a single product.tc @@ -0,0 +1,64 @@ + + + + Order and check out a single product + + + 97bcb31c-8977-47a0-819e-5a33e6ab282e + + GlobalVariable.firstName + + 700d6e4e-307e-448a-aa19-8127c96f0056 + false + firstName + + + GlobalVariable.lastName + + 8c0d16db-73f9-40b6-851f-f777b8bae206 + false + lastName + + + GlobalVariable.companyName + + 672fb4fd-4f00-452f-a8b4-62df3d124ffc + false + companyName + + + GlobalVariable.country + + 51421ccf-ad17-4e9f-9d5a-18e620ee93bc + false + country + + + GlobalVariable.address + + 2c863fc5-9dab-4c4a-881c-d478032e26c7 + false + address + + + GlobalVariable.city + + 4f8f1ad7-8f79-44a0-b33d-fc78e90e9e1a + false + city + + + GlobalVariable.postCode + + 1106ce6b-eba2-406b-ac41-b29f53a45fcd + false + postCode + + + GlobalVariable.Phone + + 5cb399d2-1bfc-408e-8254-a03dd003f568 + false + Phone + + diff --git a/Test Cases/Data-driven samples/Order and check out multiple products.tc b/Test Cases/Data-driven samples/Order and check out multiple products.tc new file mode 100644 index 0000000..1d1f1eb --- /dev/null +++ b/Test Cases/Data-driven samples/Order and check out multiple products.tc @@ -0,0 +1,15 @@ + + + + Order and check out multiple products + + + 09a2e0dd-0e19-40d5-9769-5afa5972ebd5 + + 'Flying Ninja' + + e316e7e7-cde2-4ff4-84f7-e4519410ab7c + false + productName + + diff --git a/Test Cases/Vision TC 7.7.1/.meta b/Test Cases/Vision TC 7.7.1/.meta deleted file mode 100644 index 2158307..0000000 --- a/Test Cases/Vision TC 7.7.1/.meta +++ /dev/null @@ -1,7 +0,0 @@ - - - - Vision TC 7.7.1 - - TESTCASE - diff --git a/Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (1).tc b/Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (1).tc deleted file mode 100644 index 66a6063..0000000 --- a/Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (1).tc +++ /dev/null @@ -1,8 +0,0 @@ - - - - Take Full Page Screenshot As Checkpoint - Copy (1) - - - e77c7526-ed19-451b-ab55-f74b3deafa25 - diff --git a/Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (2).tc b/Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (2).tc deleted file mode 100644 index 21ec0e2..0000000 --- a/Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (2).tc +++ /dev/null @@ -1,8 +0,0 @@ - - - - Take Full Page Screenshot As Checkpoint - Copy (2) - - - 405f2e68-d605-4191-9da2-6cd5b6dab3c3 - diff --git a/Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (3).tc b/Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (3).tc deleted file mode 100644 index 647ee97..0000000 --- a/Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (3).tc +++ /dev/null @@ -1,8 +0,0 @@ - - - - Take Full Page Screenshot As Checkpoint - Copy (3) - - - 79a3b34a-a4cf-4440-b23b-adf9858fe53b - diff --git a/Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (4).tc b/Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (4).tc deleted file mode 100644 index f85359b..0000000 --- a/Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (4).tc +++ /dev/null @@ -1,8 +0,0 @@ - - - - Take Full Page Screenshot As Checkpoint - Copy (4) - - - 89513918-3305-4bea-ba87-69726c7ba199 - diff --git a/Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (5).tc b/Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (5).tc deleted file mode 100644 index 8cbd733..0000000 --- a/Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy (5).tc +++ /dev/null @@ -1,8 +0,0 @@ - - - - Take Full Page Screenshot As Checkpoint - Copy (5) - - - 32ba85d6-8097-4886-9510-15d346076b60 - diff --git a/Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy.tc b/Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy.tc deleted file mode 100644 index 8afc698..0000000 --- a/Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - Copy.tc +++ /dev/null @@ -1,8 +0,0 @@ - - - - Take Full Page Screenshot As Checkpoint - Copy - - - e852e61f-9744-4906-84a1-cc90aa1ae3ec - diff --git a/Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint.tc b/Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint.tc deleted file mode 100644 index d32b7c7..0000000 --- a/Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint.tc +++ /dev/null @@ -1,8 +0,0 @@ - - - - Take Full Page Screenshot As Checkpoint - - - aaa39c18-fdc2-4b36-926b-514e89a0b2cb - diff --git a/Test Cases/Vision TC 7.7.1/takeAreaScreenshot.tc b/Test Cases/Vision TC 7.7.1/takeAreaScreenshot.tc deleted file mode 100644 index de49507..0000000 --- a/Test Cases/Vision TC 7.7.1/takeAreaScreenshot.tc +++ /dev/null @@ -1,8 +0,0 @@ - - - - takeAreaScreenshot - - - dd4ab9db-2ca2-4fd4-8ed8-dc2c47af6e14 - diff --git a/Test Cases/Vision TC 7.7.1/takeAreaScreenshotAsCheckpoint.tc b/Test Cases/Vision TC 7.7.1/takeAreaScreenshotAsCheckpoint.tc deleted file mode 100644 index 654de73..0000000 --- a/Test Cases/Vision TC 7.7.1/takeAreaScreenshotAsCheckpoint.tc +++ /dev/null @@ -1,8 +0,0 @@ - - - - takeAreaScreenshotAsCheckpoint - - - bf0e8488-22e7-4703-a611-ea2f9ac759df - diff --git a/Test Suites/7.6.0/Verify Take Screenshot.ts b/Test Suites/7.6.0/Verify Take Screenshot.ts deleted file mode 100644 index eb58860..0000000 --- a/Test Suites/7.6.0/Verify Take Screenshot.ts +++ /dev/null @@ -1,20 +0,0 @@ - - - - Verify Take Screenshot - - false - - 0 - 30 - true - false - false - 79f399e5-bf73-44dc-b8d2-f4a30e7fe449 - - 2965c307-5393-493f-a5d4-01416c503f1c - false - true - Test Cases/Vision TC 7.6.0/Takescreenshot - - diff --git a/Test Suites/7.7.1/Verify Full Page Screenshot As Checkpoint version 7.7.1.ts b/Test Suites/7.7.1/Verify Full Page Screenshot As Checkpoint version 7.7.1.ts deleted file mode 100644 index 2c632e4..0000000 --- a/Test Suites/7.7.1/Verify Full Page Screenshot As Checkpoint version 7.7.1.ts +++ /dev/null @@ -1,20 +0,0 @@ - - - - Verify Full Page Screenshot As Checkpoint version 7.7.1 - - false - - 0 - 30 - true - false - false - a4c96b98-5390-4ebb-9c0b-e668c0f562db - - 9aceac99-434a-42e8-984e-daa664e4d691 - false - true - Test Cases/Vision TC 7.7.1/Take Full Page Screenshot As Checkpoint - - diff --git a/Test Suites/7.7.1/Verify Take Area Screenshot.groovy b/Test Suites/7.7.1/Verify Take Area Screenshot.groovy deleted file mode 100644 index 49ab477..0000000 --- a/Test Suites/7.7.1/Verify Take Area Screenshot.groovy +++ /dev/null @@ -1,66 +0,0 @@ -import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint -import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase -import static com.kms.katalon.core.testdata.TestDataFactory.findTestData -import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject - -import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint -import com.kms.katalon.core.checkpoint.CheckpointFactory as CheckpointFactory -import com.kms.katalon.core.model.FailureHandling as FailureHandling -import com.kms.katalon.core.testcase.TestCase as TestCase -import com.kms.katalon.core.testcase.TestCaseFactory as TestCaseFactory -import com.kms.katalon.core.testdata.TestData as TestData -import com.kms.katalon.core.testdata.TestDataFactory as TestDataFactory -import com.kms.katalon.core.testobject.ObjectRepository as ObjectRepository -import com.kms.katalon.core.testobject.TestObject as TestObject - -import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS -import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI -import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile - -import internal.GlobalVariable as GlobalVariable - -import com.kms.katalon.core.annotation.SetUp -import com.kms.katalon.core.annotation.SetupTestCase -import com.kms.katalon.core.annotation.TearDown -import com.kms.katalon.core.annotation.TearDownTestCase - -/** - * Some methods below are samples for using SetUp/TearDown in a test suite. - */ - -/** - * Setup test suite environment. - */ -@SetUp(skipped = true) // Please change skipped to be false to activate this method. -def setUp() { - // Put your code here. -} - -/** - * Clean test suites environment. - */ -@TearDown(skipped = true) // Please change skipped to be false to activate this method. -def tearDown() { - // Put your code here. -} - -/** - * Run before each test case starts. - */ -@SetupTestCase(skipped = true) // Please change skipped to be false to activate this method. -def setupTestCase() { - // Put your code here. -} - -/** - * Run after each test case ends. - */ -@TearDownTestCase(skipped = true) // Please change skipped to be false to activate this method. -def tearDownTestCase() { - // Put your code here. -} - -/** - * References: - * Groovy tutorial page: http://docs.groovy-lang.org/next/html/documentation/ - */ \ No newline at end of file diff --git a/Test Suites/7.7.1/Verify Take Area Screenshot.ts b/Test Suites/7.7.1/Verify Take Area Screenshot.ts deleted file mode 100644 index c79eb80..0000000 --- a/Test Suites/7.7.1/Verify Take Area Screenshot.ts +++ /dev/null @@ -1,20 +0,0 @@ - - - - Verify Take Area Screenshot - - false - - 0 - 30 - true - false - false - 7724a8bf-b1f4-489d-9c5d-bb8478a200eb - - 2fac0314-1ddc-4a86-bb91-4f856bea0b27 - false - true - Test Cases/Vision TC 7.7.1/takeAreaScreenshot - - diff --git a/Test Suites/7.7.1/Verify Take Area Screeshot As Checkpoint 7.7.1.groovy b/Test Suites/7.7.1/Verify Take Area Screeshot As Checkpoint 7.7.1.groovy deleted file mode 100644 index 49ab477..0000000 --- a/Test Suites/7.7.1/Verify Take Area Screeshot As Checkpoint 7.7.1.groovy +++ /dev/null @@ -1,66 +0,0 @@ -import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint -import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase -import static com.kms.katalon.core.testdata.TestDataFactory.findTestData -import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject - -import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint -import com.kms.katalon.core.checkpoint.CheckpointFactory as CheckpointFactory -import com.kms.katalon.core.model.FailureHandling as FailureHandling -import com.kms.katalon.core.testcase.TestCase as TestCase -import com.kms.katalon.core.testcase.TestCaseFactory as TestCaseFactory -import com.kms.katalon.core.testdata.TestData as TestData -import com.kms.katalon.core.testdata.TestDataFactory as TestDataFactory -import com.kms.katalon.core.testobject.ObjectRepository as ObjectRepository -import com.kms.katalon.core.testobject.TestObject as TestObject - -import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS -import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI -import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile - -import internal.GlobalVariable as GlobalVariable - -import com.kms.katalon.core.annotation.SetUp -import com.kms.katalon.core.annotation.SetupTestCase -import com.kms.katalon.core.annotation.TearDown -import com.kms.katalon.core.annotation.TearDownTestCase - -/** - * Some methods below are samples for using SetUp/TearDown in a test suite. - */ - -/** - * Setup test suite environment. - */ -@SetUp(skipped = true) // Please change skipped to be false to activate this method. -def setUp() { - // Put your code here. -} - -/** - * Clean test suites environment. - */ -@TearDown(skipped = true) // Please change skipped to be false to activate this method. -def tearDown() { - // Put your code here. -} - -/** - * Run before each test case starts. - */ -@SetupTestCase(skipped = true) // Please change skipped to be false to activate this method. -def setupTestCase() { - // Put your code here. -} - -/** - * Run after each test case ends. - */ -@TearDownTestCase(skipped = true) // Please change skipped to be false to activate this method. -def tearDownTestCase() { - // Put your code here. -} - -/** - * References: - * Groovy tutorial page: http://docs.groovy-lang.org/next/html/documentation/ - */ \ No newline at end of file diff --git a/Test Suites/7.7.1/Verify Take Area Screeshot As Checkpoint 7.7.1.ts b/Test Suites/7.7.1/Verify Take Area Screeshot As Checkpoint 7.7.1.ts deleted file mode 100644 index 5f51b45..0000000 --- a/Test Suites/7.7.1/Verify Take Area Screeshot As Checkpoint 7.7.1.ts +++ /dev/null @@ -1,20 +0,0 @@ - - - - Verify Take Area Screeshot As Checkpoint 7.7.1 - - false - - 0 - 30 - true - false - false - bddf1cb9-465b-404b-97e5-9aad98cd9d37 - - eb25503d-0188-48cd-8090-7efbcdf3ae0b - false - true - Test Cases/Vision TC 7.7.1/takeAreaScreenshotAsCheckpoint - - diff --git a/Test Suites/7.6.0/Verify Take Screenshot.groovy b/Test Suites/Data-driven/Order and check out a single product multiple times.groovy similarity index 100% rename from Test Suites/7.6.0/Verify Take Screenshot.groovy rename to Test Suites/Data-driven/Order and check out a single product multiple times.groovy diff --git a/Test Suites/Data-driven/Order and check out a single product multiple times.ts b/Test Suites/Data-driven/Order and check out a single product multiple times.ts new file mode 100644 index 0000000..433fe25 --- /dev/null +++ b/Test Suites/Data-driven/Order and check out a single product multiple times.ts @@ -0,0 +1,76 @@ + + + + Order and check out a single product multiple times + + false + + 0 + 30 + true + false + 999f20d4-56da-413a-83c3-d0b61a24d0f7 + + 6b4b97a6-29c8-4b3f-ab03-19fb2018c5c7 + false + true + Test Cases/Custom-keyword samples/Order and check out a single product + + MANY + 0cb7a72a-21f6-43a0-9509-6ba988da6ba9 + + ALL + + + Data Files/Multiple Checkout + + + 0cb7a72a-21f6-43a0-9509-6ba988da6ba9 + DATA_COLUMN + companyName + 672fb4fd-4f00-452f-a8b4-62df3d124ffc + + + 0cb7a72a-21f6-43a0-9509-6ba988da6ba9 + DATA_COLUMN + country + 51421ccf-ad17-4e9f-9d5a-18e620ee93bc + + + 0cb7a72a-21f6-43a0-9509-6ba988da6ba9 + DATA_COLUMN + address + 2c863fc5-9dab-4c4a-881c-d478032e26c7 + + + 0cb7a72a-21f6-43a0-9509-6ba988da6ba9 + DATA_COLUMN + city + 4f8f1ad7-8f79-44a0-b33d-fc78e90e9e1a + + + 0cb7a72a-21f6-43a0-9509-6ba988da6ba9 + DATA_COLUMN + postCode + 1106ce6b-eba2-406b-ac41-b29f53a45fcd + + + 0cb7a72a-21f6-43a0-9509-6ba988da6ba9 + DATA_COLUMN + Phone + 5cb399d2-1bfc-408e-8254-a03dd003f568 + + + 0cb7a72a-21f6-43a0-9509-6ba988da6ba9 + DATA_COLUMN + firstName + 700d6e4e-307e-448a-aa19-8127c96f0056 + + + 0cb7a72a-21f6-43a0-9509-6ba988da6ba9 + DATA_COLUMN + lastName + 8c0d16db-73f9-40b6-851f-f777b8bae206 + + + diff --git a/Test Suites/7.7.1/Verify Full Page Screenshot As Checkpoint version 7.7.1.groovy b/Test Suites/Data-driven/Order and check out multiple products.groovy similarity index 100% rename from Test Suites/7.7.1/Verify Full Page Screenshot As Checkpoint version 7.7.1.groovy rename to Test Suites/Data-driven/Order and check out multiple products.groovy diff --git a/Test Suites/Data-driven/Order and check out multiple products.ts b/Test Suites/Data-driven/Order and check out multiple products.ts new file mode 100644 index 0000000..daf7015 --- /dev/null +++ b/Test Suites/Data-driven/Order and check out multiple products.ts @@ -0,0 +1,34 @@ + + + + Order and check out multiple products + + false + + 0 + 30 + true + false + 272a0761-190e-404d-a718-a650753e0235 + + c9c2b585-4594-41e1-aefa-ef640f098124 + false + true + Test Cases/Data-driven samples/Order and check out multiple products + + ONE + ca2af0bc-270c-450a-918a-14af5dbe8a9e + + ALL + + + Data Files/Product List + + + + DEFAULT + + e316e7e7-cde2-4ff4-84f7-e4519410ab7c + + + diff --git a/Test Suites/7.7.1/Verify Take Area Screenshot version 7.7.1.groovy b/Test Suites/Order and check out with Global Variable.groovy similarity index 100% rename from Test Suites/7.7.1/Verify Take Area Screenshot version 7.7.1.groovy rename to Test Suites/Order and check out with Global Variable.groovy diff --git a/Test Suites/Order and check out with Global Variable.ts b/Test Suites/Order and check out with Global Variable.ts new file mode 100644 index 0000000..becf23b --- /dev/null +++ b/Test Suites/Order and check out with Global Variable.ts @@ -0,0 +1,73 @@ + + + + Order and check out with Global Variable + + false + + 0 + 30 + true + false + e7f5550e-4fed-4ff0-ac26-f5ba18789939 + + b880213d-6def-49ca-abf4-fd658b9bd010 + false + true + Test Cases/Custom-keyword samples/Order and check out a single product + + + DEFAULT + + 672fb4fd-4f00-452f-a8b4-62df3d124ffc + + + + DEFAULT + + 51421ccf-ad17-4e9f-9d5a-18e620ee93bc + + + + DEFAULT + + 2c863fc5-9dab-4c4a-881c-d478032e26c7 + + + + DEFAULT + + 4f8f1ad7-8f79-44a0-b33d-fc78e90e9e1a + + + + DEFAULT + + 1106ce6b-eba2-406b-ac41-b29f53a45fcd + + + + DEFAULT + + 5cb399d2-1bfc-408e-8254-a03dd003f568 + + + + DEFAULT + + 700d6e4e-307e-448a-aa19-8127c96f0056 + + + + DEFAULT + + 8c0d16db-73f9-40b6-851f-f777b8bae206 + + + + 7714927a-116c-4835-ad29-a3843f7f8c49 + false + true + Test Cases/Custom-keyword samples/Order and check out a single product using coupon + + diff --git a/Test Suites/Vision Keyword.ts b/Test Suites/Run All Test Suites.ts similarity index 74% rename from Test Suites/Vision Keyword.ts rename to Test Suites/Run All Test Suites.ts index c5717d1..cead71c 100644 --- a/Test Suites/Vision Keyword.ts +++ b/Test Suites/Run All Test Suites.ts @@ -1,10 +1,10 @@ - Vision Keyword + Run All Test Suites SEQUENTIAL - 8 + 3 @@ -13,7 +13,7 @@ Chrome true - Test Suites/7.7.1/Verify Full Page Screenshot As Checkpoint version 7.7.1 + Test Suites/Data-driven/Order and check out a single product multiple times @@ -22,7 +22,7 @@ Chrome true - Test Suites/7.7.1/Verify Take Area Screenshot + Test Suites/Data-driven/Order and check out multiple products @@ -31,7 +31,7 @@ Chrome true - Test Suites/7.7.1/Verify Take Area Screeshot As Checkpoint 7.7.1 + Test Suites/Order and check out with Global Variable diff --git a/area 1.png b/area 1.png deleted file mode 100644 index e0c76c7d3fef52da048855c41fc710577fb5bf28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11137 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\\n\\n\\n

\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n
\\n

Test Suite Execution Report

\\n
\\n

Dear Sir/Madam,

Your test suite has just finished its execution. Here is the summary report.

\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n
Host Name${hostName}
Operating System${os}
Browser${browser}
Test Suite${suiteName}
ResultPassed\: ${totalPassed}Failed\: ${totalFailed}Error\: ${totalError}
\\n

You can now go to your test project to view the execution report.

This email was sent automatically by Katalon System. Please do not reply.

Thanks,
Katalon Studio

\\n
\\n
\\n\\n" -mailConfig.collectionHtmlTemplate="<\!DOCTYPE html>\\n\\n\\n\\n\\n\\n
\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n
\\n

Test Suite Collection Execution Report

\\n
\\n

Dear Sir/Madam,

Your test suite collection has just finished its execution. Here is the summary report.

\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n
Host Name${hostName}
Operating System${os}
Test Suite Collection${suiteCollectionName}
Start${startTime}
Duration${duration}
ResultPassed\: ${totalPassed}Failed\: ${totalFailed}Error\: ${totalError}
\\n

You can now go to your test project to view the execution report.

This email was sent automatically by Katalon System. Please do not reply.

Thanks,
Katalon Studio

\\n
\\n
\\n\\n" diff --git a/settings/internal/com.kms.katalon.execution.webservice.properties b/settings/internal/com.kms.katalon.execution.webservice.properties deleted file mode 100644 index 387e30a..0000000 --- a/settings/internal/com.kms.katalon.execution.webservice.properties +++ /dev/null @@ -1,4 +0,0 @@ -#Mon Sep 28 16:12:34 ICT 2020 -execution.webservice.connectionTimeout=0 -execution.webservice.socketTimeout=0 -execution.webservice.maxResponseSize=0 diff --git a/settings/internal/com.kms.katalon.execution.webui.properties b/settings/internal/com.kms.katalon.execution.webui.properties index 48fa2a9..7887002 100644 --- a/settings/internal/com.kms.katalon.execution.webui.properties +++ b/settings/internal/com.kms.katalon.execution.webui.properties @@ -1,4 +1,4 @@ -#Mon Sep 28 16:12:34 ICT 2020 +#Fri Apr 10 16:10:32 ICT 2020 execution.default.selectingCapturedObjectSelectorMethod="XPATH" execution.default.selectingCapturedObjectProperties="id,true;name,true;alt,true;checked,true;form,true;href,true;placeholder,true;selected,true;src,true;title,true;type,true;text,true;linked_text,true" execution.default.selectingCapturedObjectXpaths="xpath\:attributes,true;xpath\:idRelative,true;dom\:name,true;xpath\:link,true;xpath\:neighbor,true;xpath\:href,true;xpath\:img,true;xpath\:position,true" @@ -7,4 +7,3 @@ execution.default.webUi.pageLoadTimeout=30 execution.default.webUi.ignorePageLoadTimeOutException=false execution.default.webUi.actionDelay=0 execution.default.waitForIEHanging=600 -execution.default.useDelayActionInSecond="SECONDS" diff --git a/settings/internal/com.kms.katalon.integration.analytics.properties b/settings/internal/com.kms.katalon.integration.analytics.properties deleted file mode 100644 index dd93d25..0000000 --- a/settings/internal/com.kms.katalon.integration.analytics.properties +++ /dev/null @@ -1,8 +0,0 @@ -#Fri Nov 06 15:32:19 ICT 2020 -analytics.authentication.token="iA4rCREYyFvPglHIht3WOG6w/pG2T7c2fE4APHzH03Cep+QPZ9UogMfKYzxYWZ9Piy4SZmkm/1plcu+zfSn0ZvAXnad14Ia5b6pCoviWanFgImKGyWxOQ7sFX3+8CPkwqhDMS2tmGXfHSByzGztVwsRIMY46cm33VjDPMEoJSiyRZ+VKz2DdJJTpKyu6nv8el/5BTJ500q09b6CsiXvkqGGZr/VTmJQvwDHsrPJX99jkmp3w8Qr67E1mXbKEMVhhc59Q+oR09eYoVEyb+x9V0TAWcS4qNZ2M7uFQj4tYbfZmeuEPKHCOBfPhWSMdKH6eKm1JaHFxYHkzTMUKChtG1rtHFYjTimv1Jl7uaUnwFgGgrmoWHIGFALk6smB/6+HSCACzva5D/rPgygTyA2+/qTYeZlEbfN5stOmF6foEr9FTK7IfkzJ9Bafg6rasNaeMnkhJutH3Spj83TU2Fr2/ZnjUUc/0p9i8ln1uBtyYYxcUNpAMvN6LuMxvt81wqCFEABg4xfxUWelMs/9rAx5BlVVBjhlG4KKhG8XXHVU7yt1GWL+S3TQo5QXr5VXKTKNyDlsUA/8UpuJzOvUD8aZyp35XZblIZx53cgXqOlwHHQdMlZ74Qlx6yX41wwoQ2TfH9KktUqGzUFtDs0quAM7fL8NHXe6vnyRnEf1aLTEN/NfgN43etLdrXzu3896Ts5R4l1g6zOVGzh//JKbSaHK6qbW27lfpG1p5onSNr5iE/vk0Hi1+/vlHX+HBMRqgZsXlo/MT6xmeQ3VJGB7o8gfD17rkL6Qe4tGUPjFx+ThwncE\=" -analytics.integration.enable=true -analytics.team="{\\n \\"id\\"\: 45453,\\n \\"role\\"\: \\"ADMIN\\",\\n \\"name\\"\: \\"Katalon Team\\",\\n \\"organization\\"\: {\\n \\"id\\"\: 97944,\\n \\"name\\"\: \\"Testops Web UI Testing\\"\\n }\\n}" -analytics.project="{\\n \\"id\\"\: 59673,\\n \\"name\\"\: \\"Data Collection Production\\",\\n \\"teamId\\"\: 45453\\n}" -analytics.onpremise.enable=false -analytics.manual.team="{\\n \\"id\\"\: 45453,\\n \\"role\\"\: \\"OWNER\\",\\n \\"name\\"\: \\"Katalon Team\\",\\n \\"organization\\"\: {\\n \\"id\\"\: 97944,\\n \\"name\\"\: \\"Testops Web UI Testing\\"\\n }\\n}" -analytics.manual.project="{\\n \\"id\\"\: 59673,\\n \\"name\\"\: \\"Project nhieu data tren Production \\",\\n \\"teamId\\"\: 45453\\n}" diff --git a/shopping-cart-tests.prj b/shopping-cart-tests.prj index c81d346..4976b27 100644 --- a/shopping-cart-tests.prj +++ b/shopping-cart-tests.prj @@ -3,10 +3,10 @@ shopping-cart-tests - 2ffc94b3-8b61-412b-978c-64f1026ebf75 + 052f4412-8190-4f05-b35a-5dd184aacaff 5.9.0 0 - C:\Users\lieuhuynh\Katalon Studio\Integration with Testops Vision\shopping-cart-tests.prj + C:\Users\lieuhuynh\Katalon Studio\Shopping Cart Testing\shopping-cart-tests.prj