Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
AutomationTestForUnibee
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Joshua Yu
AutomationTestForUnibee
Commits
6a87fa95
Commit
6a87fa95
authored
Sep 30, 2024
by
YuShijiaCode
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add cases
parent
ede94d4e
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1720 additions
and
64 deletions
+1720
-64
MerchantBillableMetricPage.js
01_Web/PageObject/MerchantBillableMetricPage.js
+9
-0
MerchantDiscountCodePage.js
01_Web/PageObject/MerchantDiscountCodePage.js
+33
-12
MerchantInvoicePage.js
01_Web/PageObject/MerchantInvoicePage.js
+10
-0
MerchantPlanPage.js
01_Web/PageObject/MerchantPlanPage.js
+35
-0
MerchantTransactionPage.js
01_Web/PageObject/MerchantTransactionPage.js
+10
-0
MerchantUserListPage.js
01_Web/PageObject/MerchantUserListPage.js
+26
-1
02_new_plan.js
01_Web/TestCases/MerchantPortal/02_new_plan.js
+344
-30
03_billable_metric_merchant.js
...b/TestCases/MerchantPortal/03_billable_metric_merchant.js
+149
-0
04_discount_code_merchant.js
01_Web/TestCases/MerchantPortal/04_discount_code_merchant.js
+234
-12
05_invoice.js
01_Web/TestCases/MerchantPortal/05_invoice.js
+75
-0
06_transaction.js
01_Web/TestCases/MerchantPortal/06_transaction.js
+188
-1
08_subscription.js
01_Web/TestCases/MerchantPortal/08_subscription.js
+1
-0
09_user_list.js
01_Web/TestCases/MerchantPortal/09_user_list.js
+606
-8
No files found.
01_Web/PageObject/MerchantBillableMetricPage.js
View file @
6a87fa95
...
...
@@ -10,7 +10,9 @@ class MerchantBillableMetricPage {
metric_code
=
'//*[@id="code"]'
metric_description
=
'//*[@id="metricDescription"]'
aggregation_type
=
'//*[@id="aggregationType"]'
aggregation_type_errpr
=
'//*[@id="aggregationType_help"]'
aggregation_property
=
'//*[@id="aggregationProperty"]'
aggregation_property_error
=
'//*[@id="aggregationProperty_help"]'
save_btn
=
'//*[text()="Save"]'
selectAggregationType
=
async
function
(
driver
,
type
){
...
...
@@ -63,6 +65,13 @@ class MerchantBillableMetricPage {
}
editBillableMetric
=
async
function
(
driver
,
metricName
){
console
.
log
(
"Edit Billable Metric: "
,
metricName
);
let
editPath
=
'//*[text()="'
+
metricName
+
'"]/following-sibling::td//*[text()="Edit"]'
;
await
baseStep
.
click
(
driver
,
editPath
);
await
baseStep
.
wait
(
driver
,
1000
);
}
}
...
...
01_Web/PageObject/MerchantDiscountCodePage.js
View file @
6a87fa95
...
...
@@ -7,15 +7,19 @@ class MerchantDiscountCodePage {
menu_discount_code
=
'//*[@class="ant-menu-title-content" and text()="Discount Code"]'
new_discount_code
=
'//*[@class="ant-btn-icon"]/span[@aria-label="plus"]'
name
=
'//*[@id="name"]'
name_error
=
'//*[@id="name_help"]'
code
=
'//*[@id="code"]'
code_error
=
'//*[@id="code_help"]'
billingType
=
'//*[@id="billingType"]'
discountType
=
'//*[@id="discountType"]'
currency
=
'//*[@id="currency"]'
discountAmount
=
'//*[@id="discountAmount"]'
discountPercentage
=
'//*[@id="discountPercentage"]'
discountPercentage_error
=
'//*[@id="discountPercentage_help"]'
cycleLimit
=
'//*[@id="cycleLimit"]'
validityRangeStart
=
'//*[@id="validityRange"]'
validityRangeEnd
=
'//*[@placeholder="End date"]'
validity_error
=
'//*[@id="validityRange_help"]'
validityRangeOK
=
"//span[contains(.,'OK')]"
save_btn
=
'//*[text()="Save"]'
...
...
@@ -85,8 +89,7 @@ class MerchantDiscountCodePage {
await
baseStep
.
wait
(
driver
,
1000
)
}
checkRecordDiscountCode
=
async
function
(
driver
,
code
=
""
,
name
=
""
,
description
=
""
,
type
=
""
,
aggregationType
=
""
,
aggregationProperty
=
""
,
record
=
1
){
await
baseStep
.
waitUntilElement
(
driver
,
"//*[@class='ant-table-cell' and text()='Aggregation Type']"
,
20000
);
checkRecordDiscountCode
=
async
function
(
driver
,
code
=
""
,
name
=
""
,
status
=
""
,
billingType
=
""
,
discount_type
=
""
,
percentage
=
""
,
record
=
1
){
await
baseStep
.
wait
(
driver
,
10000
);
let
table
=
await
driver
.
findElement
(
By
.
xpath
(
"//*[@class='ant-table-tbody']"
));
...
...
@@ -95,30 +98,48 @@ class MerchantDiscountCodePage {
let
cells
=
await
rows
[
record
-
1
].
findElements
({
tagName
:
'td'
});
if
(
code
!==
""
){
expect
(
await
cells
[
0
].
getText
()).
to
.
equal
(
nam
e
);
expect
(
await
cells
[
0
].
getText
()).
to
.
equal
(
cod
e
);
}
if
(
name
!==
""
){
expect
(
await
cells
[
1
].
getText
()).
to
.
equal
(
cod
e
);
expect
(
await
cells
[
1
].
getText
()).
to
.
equal
(
nam
e
);
}
if
(
description
!==
""
){
if
(
status
!==
""
){
expect
(
await
cells
[
2
].
getText
()).
to
.
equal
(
description
);
expect
(
await
cells
[
2
].
getText
()).
to
.
equal
(
status
);
}
if
(
t
ype
!==
""
){
if
(
billingT
ype
!==
""
){
expect
(
await
cells
[
3
].
getText
()).
to
.
equal
(
t
ype
);
expect
(
await
cells
[
3
].
getText
()).
to
.
equal
(
billingT
ype
);
}
if
(
aggregationT
ype
!==
""
){
if
(
discount_t
ype
!==
""
){
expect
(
await
cells
[
4
].
getText
()).
to
.
equal
(
aggregationT
ype
);
expect
(
await
cells
[
4
].
getText
()).
to
.
equal
(
discount_t
ype
);
}
if
(
aggregationProperty
!==
""
){
if
(
percentage
!==
""
){
expect
(
await
cells
[
5
].
getText
()).
to
.
equal
(
aggregationProperty
);
expect
(
await
cells
[
6
].
getText
()).
to
.
equal
(
percentage
);
}
}
editDiscountCode
=
async
function
(
driver
,
discount
){
console
.
log
(
"Edit Discount Code: "
,
discount
);
let
editPath
=
'//*[text()="'
+
discount
+
'"]/following-sibling::td[10]//*[@aria-label="edit"]'
;
await
baseStep
.
click
(
driver
,
editPath
);
await
baseStep
.
wait
(
driver
,
1000
);
}
filterStatus
=
async
function
(
driver
,
status
){
await
baseStep
.
click
(
driver
,
"//*[text()=
\"
Status
\"
]/following-sibling::span/span"
);
for
(
let
i
of
status
){
await
baseStep
.
click
(
driver
,
'//*[text()="'
+
i
+
'"]/../label/span/input'
)
}
await
baseStep
.
wait
(
driver
,
1000
);
await
baseStep
.
click
(
driver
,
"//*[@class=
\"
ant-table-filter-dropdown
\"
]//*[text()=
\"
OK
\"
]"
);
await
baseStep
.
wait
(
driver
,
1000
);
}
}
...
...
01_Web/PageObject/MerchantInvoicePage.js
View file @
6a87fa95
...
...
@@ -67,6 +67,16 @@ class MerchantInvoicePage {
}
filterStatus
=
async
function
(
driver
,
status
){
await
baseStep
.
click
(
driver
,
"//*[text()=
\"
Status
\"
]/following-sibling::span/span"
);
for
(
let
i
of
status
){
await
baseStep
.
click
(
driver
,
'//*[text()="'
+
i
+
'"]/../label/span/input'
)
}
await
baseStep
.
wait
(
driver
,
1000
);
await
baseStep
.
click
(
driver
,
"//*[@class=
\"
ant-table-filter-dropdown
\"
]//*[text()=
\"
OK
\"
]"
);
await
baseStep
.
wait
(
driver
,
1000
);
}
}
module
.
exports
=
new
MerchantInvoicePage
();
01_Web/PageObject/MerchantPlanPage.js
View file @
6a87fa95
...
...
@@ -6,10 +6,14 @@ class MerchantPlanPage {
menu_plan
=
'//*[@class="ant-menu-title-content" and text()="Product and Plan"]'
// new_plan_btn= '//*[@class="anticon anticon-plus"]/../following-sibling::span[text()="New plan"]'
new_plan_btn
=
'//*[@class="ant-btn-icon"]/span[@aria-label="plus"]'
edit_plan
=
'//*[@aria-label="edit"]'
copy_plan
=
'//*[@aria-label="copy"]'
plan_name_label
=
'//*[@for="planName"]'
plan_name
=
'//*[@id="planName"]'
plan_name_error
=
'//*[@id="planName_help"]'
plan_description_label
=
'//*[@for="description"]'
plan_description
=
'//*[@id="description"]'
plan_description_error
=
'//*[@id="description_help"]'
status_label
=
'//*[@for="status"]'
status
=
'//*[@id="status"]'
is_published_label
=
'//*[@for="publishStatus"]'
...
...
@@ -18,6 +22,7 @@ class MerchantPlanPage {
currency
=
'//*[@id="currency"]'
price_label
=
'//*[@for="amount"]'
price
=
'//*[@id="amount"]'
price_error
=
'//*[@id="amount_help"]'
intervalUnit_label
=
'//*[@for="intervalUnit"]'
intervalUnit
=
'//*[@id="intervalUnit"]'
intervalCount_label
=
'//*[@for="intervalCount"]'
...
...
@@ -39,11 +44,17 @@ class MerchantPlanPage {
auto_renew_after_trial_end_label
=
'//*[@for="cancelAtTrialEnd"]'
auto_renew_after_trial_end
=
'//*[@id="cancelAtTrialEnd"]'
billable_metrics_label
=
'//*[@title="Billable Metrics"]'
billable_metrics_name
=
'(//*[@title="Billable Metrics"]/../following-sibling::div//input)[1]'
billable_metrics_limit_value
=
'(//*[@title="Billable Metrics"]/../following-sibling::div//input)[2]'
Custom_data_label
=
'//*[@for="metadata"]'
custom_data
=
'//*[@id="metadata"]'
back_btn
=
'//*[text()="Go Back"]'
save_btn
=
'//*[text()="Save"]'
activate_btn
=
'//*[text()="Activate"]'
publish_btn
=
'//*[text()="Publish"]'
unpublish_btn
=
'//*[text()="Unpublish"]'
delete_btn
=
'//*[text()="Delete"]'
confirm_delete_btn
=
'//*[@class="ant-popconfirm-buttons"]/button'
plan_list_table
=
'//*[@class="ant-table-tbody"]'
...
...
@@ -174,6 +185,30 @@ class MerchantPlanPage {
}
}
}
selectBillableMetrics
=
async
function
(
driver
,
name
){
console
.
log
(
"select addon name: "
,
name
);
await
baseStep
.
scrollIntoView
(
driver
,
this
.
billable_metrics_name
);
await
baseStep
.
click
(
driver
,
this
.
billable_metrics_name
);
await
baseStep
.
click
(
driver
,
"//*[contains(text(),'"
+
name
+
"')]"
);
await
baseStep
.
wait
(
driver
,
1000
);
await
baseStep
.
click
(
driver
,
this
.
billable_metrics_limit_value
);
await
baseStep
.
wait
(
driver
,
1000
);
}
editPlan
=
async
function
(
driver
,
planName
){
console
.
log
(
"Edit plan: "
,
planName
);
let
editPath
=
'//*[text()="'
+
planName
+
'"]//following-sibling::td[9]//*[@aria-label="edit"]'
;
await
baseStep
.
click
(
driver
,
editPath
);
await
baseStep
.
wait
(
driver
,
1000
);
}
copyPlan
=
async
function
(
driver
,
planName
){
console
.
log
(
"Copy plan: "
,
planName
);
let
editPath
=
'//*[text()="'
+
planName
+
'"]//following-sibling::td[9]//*[@aria-label="copy"]'
;
await
baseStep
.
click
(
driver
,
editPath
);
await
baseStep
.
wait
(
driver
,
1000
);
}
}
module
.
exports
=
new
MerchantPlanPage
();
01_Web/PageObject/MerchantTransactionPage.js
View file @
6a87fa95
...
...
@@ -35,6 +35,16 @@ class MerchantTransactionPage {
}
}
filterStatus
=
async
function
(
driver
,
status
){
await
baseStep
.
click
(
driver
,
"//*[text()=
\"
Status
\"
]/following-sibling::span/span"
);
for
(
let
i
of
status
){
await
baseStep
.
click
(
driver
,
'//*[text()="'
+
i
+
'"]/../label/span/input'
)
}
await
baseStep
.
wait
(
driver
,
1000
);
await
baseStep
.
click
(
driver
,
"//*[@class=
\"
ant-table-filter-dropdown
\"
]//*[text()=
\"
OK
\"
]"
);
await
baseStep
.
wait
(
driver
,
1000
);
}
}
...
...
01_Web/PageObject/MerchantUserListPage.js
View file @
6a87fa95
...
...
@@ -11,6 +11,7 @@ class MerchantUserListPage {
clear_btn
=
'//*[text()="Clear"]'
search_btn
=
'//*[text()="Search"]'
add_new_btn
=
'//*[@aria-label="user-add"]'
sub_id_link
=
'//*[@id="root"]/div/div/main/div/div/div[3]/div/div/div/div/div/table/tbody/tr/td[4]/div'
info_first_name
=
'//*[text()="First Name"]/../following-sibling::div[1]'
info_last_name
=
'//*[text()="Last Name"]/../following-sibling::div[1]'
info_email
=
'//*[text()="Email"]/../following-sibling::div[1]/a'
...
...
@@ -42,6 +43,15 @@ class MerchantUserListPage {
plan_name
=
'(//*[text()="Plan"]/following-sibling::div[1])'
sub_status
=
'(//*[text()="Status"]/following-sibling::div[1]/span[1])'
plan_search_list
=
'//*[text()="Assign subscription"]/../following-sibling::div//input[@type="search"]/..'
account_billing_address
=
'//*[@id="address"]'
account_payment_stripe
=
'//*[@for="payment-stripe"]'
account_payment_changelly
=
'//*[@for="payment-changelly"]'
account_payment_wire_transfer
=
'//*[@for="payment-wire_transfer"]'
account_vat_number
=
'//*[@id="vATNumber"]'
account_country
=
'//*[@id="countryCode"]'
vat_error_message
=
'//*[contains(text(), "AT number validation failed. ")]'
country_error_message
=
'//*[contains(text(), "Your country from vat number is")]'
save_btn
=
'//*[text()="Save"]'
...
...
@@ -68,7 +78,7 @@ class MerchantUserListPage {
expect
(
await
cells
[
6
].
getText
()).
to
.
equal
(
status
);
}
await
baseStep
.
click
(
driver
,
'//*[@id="root"]/div/div/main/div/div/div[3]/div/div/div/div/div/table/tbody/tr[1]/td[1]'
);
await
baseStep
.
wait
(
driver
,
1
000
);
await
baseStep
.
wait
(
driver
,
3
000
);
}
...
...
@@ -125,6 +135,21 @@ class MerchantUserListPage {
}
}
setCountry
=
async
function
(
driver
,
countryName
){
console
.
log
(
"set country: "
,
countryName
);
// await driver.executeScript(`document.getElementsByClassName("ant-select-selection-item").title = '${countryName}';`)
// await driver.executeScript(`document.getElementsByClassName("ant-select-selection-item").textContent = '${countryName}';`)
// let element = driver.findElement(By.className('ant-select-selection-item'));
//
// let js = `arguments[0].setAttribute("title", "${countryName}");`;
// await driver.executeScript(js, element);
// await driver.executeScript(`arguments[0].innerText = "${countryName}";`, element);
let
xpath
=
'//div[3]/div/div/div[2]/div/div/div/div/div'
;
await
baseStep
.
input
(
driver
,
this
.
account_country
,
countryName
);
await
baseStep
.
input
(
driver
,
this
.
account_country
,
'
\
uE007'
);
await
baseStep
.
wait
(
driver
,
1000
);
}
}
module
.
exports
=
new
MerchantUserListPage
();
01_Web/TestCases/MerchantPortal/02_new_plan.js
View file @
6a87fa95
...
...
@@ -91,6 +91,7 @@ describe('case01: create a new plan in Merchant Portal=> Success', function () {
await
baseStep
.
compareText
(
Driver
,
planPage
.
auto_renew_after_trial_end_label
,
"Auto renew after trial end"
);
await
baseStep
.
compareText
(
Driver
,
planPage
.
billable_metrics_label
,
"Billable Metrics"
);
await
baseStep
.
compareText
(
Driver
,
planPage
.
Custom_data_label
,
"Custom data (JSON string)"
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/02_new_plan.jpeg'
);
await
baseStep
.
click
(
Driver
,
planPage
.
save_btn
);
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
click
(
Driver
,
planPage
.
delete_btn
);
...
...
@@ -163,8 +164,6 @@ describe('case02: create a new plan in Merchant Portal, currency = USD=> Success
console
.
log
(
'当前网址:'
,
currentUrl
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/01_Menu.jpeg'
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
planPage
.
menu_plan
);
await
baseStep
.
click
(
Driver
,
planPage
.
new_plan_btn
);
await
baseStep
.
input
(
Driver
,
planPage
.
plan_name
,
"AutomationTest"
+
new
Date
().
getTime
());
...
...
@@ -176,10 +175,9 @@ describe('case02: create a new plan in Merchant Portal, currency = USD=> Success
await
planPage
.
inputIntervalCount
(
Driver
,
2
);
await
baseStep
.
scrollIntoView
(
Driver
,
planPage
.
billable_metrics_label
);
await
baseStep
.
click
(
Driver
,
planPage
.
save_btn
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/0
2_save
.jpeg'
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/0
4_plan2
.jpeg'
);
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
click
(
Driver
,
planPage
.
delete_btn
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/03_delete.jpeg'
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
planPage
.
confirm_delete_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
...
...
@@ -248,8 +246,6 @@ describe('case03: create a new plan in Merchant Portal, currency = JPY=> Success
console
.
log
(
'当前网址:'
,
currentUrl
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/01_Menu.jpeg'
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
planPage
.
menu_plan
);
await
baseStep
.
click
(
Driver
,
planPage
.
new_plan_btn
);
await
baseStep
.
input
(
Driver
,
planPage
.
plan_name
,
"AutomationTest"
+
new
Date
().
getTime
());
...
...
@@ -266,10 +262,9 @@ describe('case03: create a new plan in Merchant Portal, currency = JPY=> Success
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
scrollIntoView
(
Driver
,
planPage
.
save_btn
);
await
baseStep
.
click
(
Driver
,
planPage
.
save_btn
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/0
2_save
.jpeg'
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/0
5_plan3
.jpeg'
);
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
click
(
Driver
,
planPage
.
delete_btn
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/03_delete.jpeg'
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
planPage
.
confirm_delete_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
...
...
@@ -338,8 +333,6 @@ describe('case04: create a new plan in Merchant Portal, Allow Trial = True billi
console
.
log
(
'当前网址:'
,
currentUrl
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/01_Menu.jpeg'
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
planPage
.
menu_plan
);
await
baseStep
.
click
(
Driver
,
planPage
.
new_plan_btn
);
await
baseStep
.
input
(
Driver
,
planPage
.
plan_name
,
"AutomationTest"
+
new
Date
().
getTime
());
...
...
@@ -356,10 +349,9 @@ describe('case04: create a new plan in Merchant Portal, Allow Trial = True billi
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
scrollIntoView
(
Driver
,
planPage
.
save_btn
);
await
baseStep
.
click
(
Driver
,
planPage
.
save_btn
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/0
2_save
.jpeg'
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/0
6_plan4
.jpeg'
);
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
click
(
Driver
,
planPage
.
delete_btn
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/03_delete.jpeg'
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
planPage
.
confirm_delete_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
...
...
@@ -428,7 +420,6 @@ describe('case05: create a new plan in Merchant Portal, Allow Trial = True bill
console
.
log
(
'当前网址:'
,
currentUrl
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/01_Menu.jpeg'
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
planPage
.
menu_plan
);
await
baseStep
.
click
(
Driver
,
planPage
.
new_plan_btn
);
...
...
@@ -447,10 +438,9 @@ describe('case05: create a new plan in Merchant Portal, Allow Trial = True bill
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
scrollIntoView
(
Driver
,
planPage
.
save_btn
);
await
baseStep
.
click
(
Driver
,
planPage
.
save_btn
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/0
2_save
.jpeg'
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/0
7_plan5
.jpeg'
);
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
click
(
Driver
,
planPage
.
delete_btn
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/03_delete.jpeg'
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
planPage
.
confirm_delete_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
...
...
@@ -519,8 +509,6 @@ describe('case06: create a add on in Merchant Portal, => Success', function ()
console
.
log
(
'当前网址:'
,
currentUrl
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/01_Menu.jpeg'
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
planPage
.
menu_plan
);
await
baseStep
.
click
(
Driver
,
planPage
.
new_plan_btn
);
await
baseStep
.
input
(
Driver
,
planPage
.
plan_name
,
"AutomationTestAddon"
+
new
Date
().
getTime
());
...
...
@@ -532,10 +520,9 @@ describe('case06: create a add on in Merchant Portal, => Success', function ()
await
planPage
.
selectPlanType
(
Driver
,
"Addon"
)
await
baseStep
.
scrollIntoView
(
Driver
,
planPage
.
save_btn
);
await
baseStep
.
click
(
Driver
,
planPage
.
save_btn
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/0
2_save
.jpeg'
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/0
8_plan6
.jpeg'
);
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
click
(
Driver
,
planPage
.
delete_btn
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/03_delete.jpeg'
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
planPage
.
confirm_delete_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
...
...
@@ -604,7 +591,6 @@ describe('case07: create a one time payment on in Merchant Portal, => Success',
console
.
log
(
'当前网址:'
,
currentUrl
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/01_Menu.jpeg'
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
planPage
.
menu_plan
);
await
baseStep
.
click
(
Driver
,
planPage
.
new_plan_btn
);
...
...
@@ -618,10 +604,9 @@ describe('case07: create a one time payment on in Merchant Portal, => Success',
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
scrollIntoView
(
Driver
,
planPage
.
save_btn
);
await
baseStep
.
click
(
Driver
,
planPage
.
save_btn
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/0
2_save
.jpeg'
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/0
9_plan7
.jpeg'
);
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
click
(
Driver
,
planPage
.
delete_btn
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/03_delete.jpeg'
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
planPage
.
confirm_delete_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
...
...
@@ -643,7 +628,7 @@ describe('case07: create a one time payment on in Merchant Portal, => Success',
});
describe
(
'case08:
create a new plan in Merchant Portal, associated with add-on and one time payment
=> Success'
,
function
()
{
describe
(
'case08:
new plan with Billable Metrics
=> Success'
,
function
()
{
this
.
timeout
(
100000
);
beforeEach
(
function
()
{
...
...
@@ -679,7 +664,7 @@ describe('case08: create a new plan in Merchant Portal, associated with add-on a
});
it
(
'TC001 -
create a new plan, associated with add-on and one time payment
=> Success '
,
(
done
)
=>
{
it
(
'TC001 -
new plan with Billable Metrics
=> Success '
,
(
done
)
=>
{
(
async
()
=>
{
try
{
// login
...
...
@@ -690,7 +675,6 @@ describe('case08: create a new plan in Merchant Portal, associated with add-on a
console
.
log
(
'当前网址:'
,
currentUrl
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/01_Menu.jpeg'
);
await
baseStep
.
waitUntilElement
(
Driver
,
planPage
.
menu_plan
);
await
baseStep
.
click
(
Driver
,
planPage
.
menu_plan
);
await
baseStep
.
wait
(
Driver
,
1000
);
...
...
@@ -700,17 +684,19 @@ describe('case08: create a new plan in Merchant Portal, associated with add-on a
await
planPage
.
selectCurrency
(
Driver
,
"EUR"
)
await
baseStep
.
wait
(
Driver
,
1000
);
// aria-activedescendant
await
baseStep
.
input
(
Driver
,
planPage
.
price
,
"20"
);
await
planPage
.
inputIntervalCount
(
Driver
,
2
);
await
planPage
.
inputIntervalCount
(
Driver
,
1
);
await
baseStep
.
scrollIntoView
(
Driver
,
planPage
.
add_ons
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
planPage
.
selectAddOn
(
Driver
,
"addonforAuto"
);
await
planPage
.
selectOneTimePayment
(
Driver
,
"oneTimeForAuto"
);
await
baseStep
.
scrollIntoView
(
Driver
,
planPage
.
billable_metrics_label
);
await
planPage
.
selectBillableMetrics
(
Driver
,
"AutoMetric"
)
await
baseStep
.
input
(
Driver
,
planPage
.
billable_metrics_limit_value
,
"5"
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/10_plan8.jpeg'
);
await
baseStep
.
scrollIntoView
(
Driver
,
planPage
.
save_btn
);
await
baseStep
.
click
(
Driver
,
planPage
.
save_btn
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/02_save.jpeg'
);
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
click
(
Driver
,
planPage
.
delete_btn
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/03_delete.jpeg'
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
planPage
.
confirm_delete_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
...
...
@@ -732,7 +718,335 @@ describe('case08: create a new plan in Merchant Portal, associated with add-on a
});
describe
(
'case09: new plan with custom data=> Success'
,
function
()
{
this
.
timeout
(
100000
);
beforeEach
(
function
()
{
response
=
null
;
addContext
(
this
,
{
title
:
'StartTime'
,
value
:
{
StartTime
:
timeStamp
=
new
Date
()
}
});
});
afterEach
(
function
()
{
if
(
response
)
{
addContext
(
this
,
{
title
:
'Request'
,
value
:
{
Request
:
request
}
});
addContext
(
this
,
{
title
:
'Response'
,
value
:
{
Response
:
response
}
});
}
addContext
(
this
,
{
title
:
'EndTime'
,
value
:
{
EndTime
:
timeStamp
=
new
Date
()
}
});
});
it
(
'TC001 - new plan with Billable Metrics => Success '
,
(
done
)
=>
{
(
async
()
=>
{
try
{
// login
Driver
=
driver
.
getDriver
(
webdriver
,
'chrome'
);
// Check Url
await
loginPage
.
openMerchantUrl
(
Driver
);
const
currentUrl
=
await
Driver
.
getCurrentUrl
();
console
.
log
(
'当前网址:'
,
currentUrl
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
waitUntilElement
(
Driver
,
planPage
.
menu_plan
);
await
baseStep
.
click
(
Driver
,
planPage
.
menu_plan
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
planPage
.
new_plan_btn
);
await
baseStep
.
input
(
Driver
,
planPage
.
plan_name
,
"AutomationTest"
+
new
Date
().
getTime
());
await
baseStep
.
input
(
Driver
,
planPage
.
plan_description
,
"AutomationTest description"
);
await
planPage
.
selectCurrency
(
Driver
,
"EUR"
)
await
baseStep
.
wait
(
Driver
,
1000
);
// aria-activedescendant
await
baseStep
.
input
(
Driver
,
planPage
.
price
,
"20"
);
await
planPage
.
inputIntervalCount
(
Driver
,
1
);
await
baseStep
.
scrollIntoView
(
Driver
,
planPage
.
add_ons
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
scrollIntoView
(
Driver
,
planPage
.
Custom_data_label
);
await
baseStep
.
input
(
Driver
,
planPage
.
custom_data
,
"{
\"
a
\"
: 1,
\"
b
\"
: 2,
\"
c
\"
: [1,2,3]}"
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/11_plan9.jpeg'
);
await
baseStep
.
scrollIntoView
(
Driver
,
planPage
.
save_btn
);
await
baseStep
.
click
(
Driver
,
planPage
.
save_btn
);
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
click
(
Driver
,
planPage
.
delete_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
planPage
.
confirm_delete_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
done
();
}
catch
(
e
)
{
done
(
e
);
}
finally
{
await
Driver
.
quit
();
}
})();
});
it
(
'Delay 5 seconds '
,
(
done
)
=>
{
setTimeout
(()
=>
{
// TODO Need wait about syncTimeAPI second after last operation
done
();
},
5000
);
});
});
describe
(
'case10: new plan without parameters=> Success'
,
function
()
{
this
.
timeout
(
100000
);
beforeEach
(
function
()
{
response
=
null
;
addContext
(
this
,
{
title
:
'StartTime'
,
value
:
{
StartTime
:
timeStamp
=
new
Date
()
}
});
});
afterEach
(
function
()
{
if
(
response
)
{
addContext
(
this
,
{
title
:
'Request'
,
value
:
{
Request
:
request
}
});
addContext
(
this
,
{
title
:
'Response'
,
value
:
{
Response
:
response
}
});
}
addContext
(
this
,
{
title
:
'EndTime'
,
value
:
{
EndTime
:
timeStamp
=
new
Date
()
}
});
});
it
(
'TC001 - new plan with Billable Metrics => Success '
,
(
done
)
=>
{
(
async
()
=>
{
try
{
// login
Driver
=
driver
.
getDriver
(
webdriver
,
'chrome'
);
// Check Url
await
loginPage
.
openMerchantUrl
(
Driver
);
const
currentUrl
=
await
Driver
.
getCurrentUrl
();
console
.
log
(
'当前网址:'
,
currentUrl
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
waitUntilElement
(
Driver
,
planPage
.
menu_plan
);
await
baseStep
.
click
(
Driver
,
planPage
.
menu_plan
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
planPage
.
new_plan_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
scrollIntoView
(
Driver
,
planPage
.
save_btn
);
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
click
(
Driver
,
planPage
.
save_btn
);
await
baseStep
.
scrollUp
(
Driver
,
planPage
.
plan_name_error
);
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/12_error.jpeg'
);
expect
(
"Please input your plan name!"
).
to
.
equal
(
await
baseStep
.
getText
(
Driver
,
planPage
.
plan_name_error
))
await
baseStep
.
wait
(
Driver
,
2000
);
expect
(
"Please input your plan description!"
).
to
.
equal
(
await
baseStep
.
getText
(
Driver
,
planPage
.
plan_description_error
))
await
baseStep
.
wait
(
Driver
,
2000
);
expect
(
"Please input your plan price!
\
n"
+
"Please input a valid price (> 0)."
).
to
.
equal
(
await
baseStep
.
getText
(
Driver
,
planPage
.
price_error
))
await
baseStep
.
wait
(
Driver
,
1000
);
done
();
}
catch
(
e
)
{
done
(
e
);
}
finally
{
await
Driver
.
quit
();
}
})();
});
it
(
'Delay 5 seconds '
,
(
done
)
=>
{
setTimeout
(()
=>
{
// TODO Need wait about syncTimeAPI second after last operation
done
();
},
5000
);
});
});
describe
(
'case11: edit plan: unpublish plan and edit=> Success'
,
function
()
{
this
.
timeout
(
100000
);
beforeEach
(
function
()
{
response
=
null
;
addContext
(
this
,
{
title
:
'StartTime'
,
value
:
{
StartTime
:
timeStamp
=
new
Date
()
}
});
});
afterEach
(
function
()
{
if
(
response
)
{
addContext
(
this
,
{
title
:
'Request'
,
value
:
{
Request
:
request
}
});
addContext
(
this
,
{
title
:
'Response'
,
value
:
{
Response
:
response
}
});
}
addContext
(
this
,
{
title
:
'EndTime'
,
value
:
{
EndTime
:
timeStamp
=
new
Date
()
}
});
});
it
(
'TC001 - unpublish plan => Success '
,
(
done
)
=>
{
(
async
()
=>
{
try
{
// login
Driver
=
driver
.
getDriver
(
webdriver
,
'chrome'
);
// Check Url
await
loginPage
.
openMerchantUrl
(
Driver
);
const
currentUrl
=
await
Driver
.
getCurrentUrl
();
console
.
log
(
'当前网址:'
,
currentUrl
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
waitUntilElement
(
Driver
,
planPage
.
menu_plan
);
await
baseStep
.
click
(
Driver
,
planPage
.
menu_plan
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
planPage
.
editPlan
(
Driver
,
"Editable plan"
);
await
baseStep
.
click
(
Driver
,
planPage
.
unpublish_btn
);
await
baseStep
.
inputWithClear
(
Driver
,
planPage
.
plan_description
,
"update description"
+
new
Date
().
getTime
());
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/12_editPlan.jpeg'
);
await
baseStep
.
scrollIntoView
(
Driver
,
planPage
.
save_btn
);
await
baseStep
.
click
(
Driver
,
planPage
.
save_btn
);
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
scrollUp
(
Driver
,
planPage
.
publish_btn
);
await
baseStep
.
click
(
Driver
,
planPage
.
publish_btn
);
await
baseStep
.
wait
(
Driver
,
2000
);
done
();
}
catch
(
e
)
{
done
(
e
);
}
finally
{
await
Driver
.
quit
();
}
})();
});
it
(
'Delay 5 seconds '
,
(
done
)
=>
{
setTimeout
(()
=>
{
// TODO Need wait about syncTimeAPI second after last operation
done
();
},
5000
);
});
});
describe
(
'case12: Copy plan=> Success'
,
function
()
{
this
.
timeout
(
100000
);
beforeEach
(
function
()
{
response
=
null
;
addContext
(
this
,
{
title
:
'StartTime'
,
value
:
{
StartTime
:
timeStamp
=
new
Date
()
}
});
});
afterEach
(
function
()
{
if
(
response
)
{
addContext
(
this
,
{
title
:
'Request'
,
value
:
{
Request
:
request
}
});
addContext
(
this
,
{
title
:
'Response'
,
value
:
{
Response
:
response
}
});
}
addContext
(
this
,
{
title
:
'EndTime'
,
value
:
{
EndTime
:
timeStamp
=
new
Date
()
}
});
});
it
(
'TC001 - unpublish plan => Success '
,
(
done
)
=>
{
(
async
()
=>
{
try
{
// login
Driver
=
driver
.
getDriver
(
webdriver
,
'chrome'
);
// Check Url
await
loginPage
.
openMerchantUrl
(
Driver
);
const
currentUrl
=
await
Driver
.
getCurrentUrl
();
console
.
log
(
'当前网址:'
,
currentUrl
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
waitUntilElement
(
Driver
,
planPage
.
menu_plan
);
await
baseStep
.
click
(
Driver
,
planPage
.
menu_plan
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
planPage
.
copyPlan
(
Driver
,
"Editable plan"
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/13_copyplan.jpeg'
);
await
baseStep
.
scrollIntoView
(
Driver
,
planPage
.
save_btn
);
await
baseStep
.
click
(
Driver
,
planPage
.
save_btn
);
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
click
(
Driver
,
planPage
.
delete_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
planPage
.
confirm_delete_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
done
();
}
catch
(
e
)
{
done
(
e
);
}
finally
{
await
Driver
.
quit
();
}
})();
});
it
(
'Delay 5 seconds '
,
(
done
)
=>
{
setTimeout
(()
=>
{
// TODO Need wait about syncTimeAPI second after last operation
done
();
},
5000
);
});
});
...
...
01_Web/TestCases/MerchantPortal/03_billable_metric_merchant.js
View file @
6a87fa95
...
...
@@ -422,6 +422,155 @@ describe('case05: Add billable metric in Merchant Portal, Aggregation Type = sum
});
describe
(
'case06: Add billable metric without param=> Success'
,
function
()
{
this
.
timeout
(
100000
);
beforeEach
(
function
()
{
response
=
null
;
addContext
(
this
,
{
title
:
'StartTime'
,
value
:
{
StartTime
:
timeStamp
=
new
Date
()
}
});
});
afterEach
(
function
()
{
if
(
response
)
{
addContext
(
this
,
{
title
:
'Request'
,
value
:
{
Request
:
request
}
});
addContext
(
this
,
{
title
:
'Response'
,
value
:
{
Response
:
response
}
});
}
addContext
(
this
,
{
title
:
'EndTime'
,
value
:
{
EndTime
:
timeStamp
=
new
Date
()
}
});
});
it
(
'TC001 - add billable metric ,Aggregation Type = sum => Success '
,
(
done
)
=>
{
(
async
()
=>
{
try
{
// login
Driver
=
driver
.
getDriver
(
webdriver
,
'chrome'
);
// Check Url
await
loginPage
.
openMerchantUrl
(
Driver
);
const
currentUrl
=
await
Driver
.
getCurrentUrl
();
console
.
log
(
'当前网址:'
,
currentUrl
);
await
baseStep
.
waitUntilElement
(
Driver
,
loginPage
.
email
,
20000
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
billableMetricPage
.
menu_billable_metric
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
billableMetricPage
.
new_billable_metric
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
billableMetricPage
.
save_btn
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/11_error.jpeg'
);
expect
(
"Please select your aggregation type"
).
to
.
equal
(
await
baseStep
.
getText
(
Driver
,
billableMetricPage
.
aggregation_type_errpr
));
expect
(
"Please input your property to aggregate !"
).
to
.
equal
(
await
baseStep
.
getText
(
Driver
,
billableMetricPage
.
aggregation_property_error
));
await
baseStep
.
wait
(
Driver
,
1000
);
done
();
}
catch
(
e
)
{
done
(
e
);
}
finally
{
await
Driver
.
quit
();
}
})();
});
it
(
'Delay 5 seconds '
,
(
done
)
=>
{
setTimeout
(()
=>
{
// TODO Need wait about syncTimeAPI second after last operation
done
();
},
5000
);
});
});
describe
(
'case07: Edit billable metric in Merchant Portal=> Success'
,
function
()
{
this
.
timeout
(
100000
);
beforeEach
(
function
()
{
response
=
null
;
addContext
(
this
,
{
title
:
'StartTime'
,
value
:
{
StartTime
:
timeStamp
=
new
Date
()
}
});
});
afterEach
(
function
()
{
if
(
response
)
{
addContext
(
this
,
{
title
:
'Request'
,
value
:
{
Request
:
request
}
});
addContext
(
this
,
{
title
:
'Response'
,
value
:
{
Response
:
response
}
});
}
addContext
(
this
,
{
title
:
'EndTime'
,
value
:
{
EndTime
:
timeStamp
=
new
Date
()
}
});
});
it
(
'TC001 - Edit billable metric => Success '
,
(
done
)
=>
{
(
async
()
=>
{
try
{
// login
Driver
=
driver
.
getDriver
(
webdriver
,
'chrome'
);
// Check Url
await
loginPage
.
openMerchantUrl
(
Driver
);
const
currentUrl
=
await
Driver
.
getCurrentUrl
();
console
.
log
(
'当前网址:'
,
currentUrl
);
await
baseStep
.
waitUntilElement
(
Driver
,
loginPage
.
email
,
20000
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
billableMetricPage
.
menu_billable_metric
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
billableMetricPage
.
editBillableMetric
(
Driver
,
"Editable metric"
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
inputWithClear
(
Driver
,
billableMetricPage
.
metric_description
,
"description"
+
new
Date
().
getTime
());
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/12_edit.jpeg'
);
await
baseStep
.
click
(
Driver
,
billableMetricPage
.
save_btn
);
await
baseStep
.
wait
(
Driver
,
3000
);
done
();
}
catch
(
e
)
{
done
(
e
);
}
finally
{
await
Driver
.
quit
();
}
})();
});
it
(
'Delay 5 seconds '
,
(
done
)
=>
{
setTimeout
(()
=>
{
// TODO Need wait about syncTimeAPI second after last operation
done
();
},
5000
);
});
});
01_Web/TestCases/MerchantPortal/04_discount_code_merchant.js
View file @
6a87fa95
...
...
@@ -83,7 +83,7 @@ describe('case01: Add discount code in Merchant Portal, one time use, percentage
await
baseStep
.
click
(
Driver
,
discountCodePage
.
save_btn
);
await
baseStep
.
wait
(
Driver
,
3000
);
await
baseStep
.
waitUntilElement
(
Driver
,
discountCodePage
.
new_discount_code
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/0
4
_list.jpeg'
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/0
2
_list.jpeg'
);
done
();
}
catch
(
e
)
{
...
...
@@ -150,8 +150,6 @@ describe('case02: Add discount code in Merchant Portal, Recurring, percentage=>
await
baseStep
.
waitUntilElement
(
Driver
,
loginPage
.
email
,
20000
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/02_Menu.jpeg'
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
discountCodePage
.
menu_discount_code
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
discountCodePage
.
new_discount_code
);
...
...
@@ -168,7 +166,7 @@ describe('case02: Add discount code in Merchant Portal, Recurring, percentage=>
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
discountCodePage
.
validityRangeOK
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/0
2
_RecurringPercentage.jpeg'
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/0
3
_RecurringPercentage.jpeg'
);
await
baseStep
.
click
(
Driver
,
discountCodePage
.
save_btn
);
await
baseStep
.
wait
(
Driver
,
3000
);
await
baseStep
.
waitUntilElement
(
Driver
,
discountCodePage
.
new_discount_code
);
...
...
@@ -239,8 +237,6 @@ describe('case03: Add discount code in Merchant Portal, one time use, fixed amou
await
baseStep
.
waitUntilElement
(
Driver
,
loginPage
.
email
,
20000
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/02_Menu.jpeg'
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
discountCodePage
.
menu_discount_code
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
discountCodePage
.
new_discount_code
);
...
...
@@ -257,11 +253,11 @@ describe('case03: Add discount code in Merchant Portal, one time use, fixed amou
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
discountCodePage
.
validityRangeOK
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/0
3
_fixAmountOneTime.jpeg'
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/0
5
_fixAmountOneTime.jpeg'
);
await
baseStep
.
click
(
Driver
,
discountCodePage
.
save_btn
);
await
baseStep
.
wait
(
Driver
,
3000
);
await
baseStep
.
waitUntilElement
(
Driver
,
discountCodePage
.
new_discount_code
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/0
4
_list.jpeg'
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/0
6
_list.jpeg'
);
done
();
}
catch
(
e
)
{
...
...
@@ -328,8 +324,6 @@ describe('case04: Add discount code in Merchant Portal, Recurring, fixed amount=
await
baseStep
.
waitUntilElement
(
Driver
,
loginPage
.
email
,
20000
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/02_Menu.jpeg'
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
discountCodePage
.
menu_discount_code
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
discountCodePage
.
new_discount_code
);
...
...
@@ -348,11 +342,239 @@ describe('case04: Add discount code in Merchant Portal, Recurring, fixed amount=
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
discountCodePage
.
validityRangeOK
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/0
4
_fixAmountRecurring.jpeg'
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/0
6
_fixAmountRecurring.jpeg'
);
await
baseStep
.
click
(
Driver
,
discountCodePage
.
save_btn
);
await
baseStep
.
wait
(
Driver
,
3000
);
await
baseStep
.
waitUntilElement
(
Driver
,
discountCodePage
.
new_discount_code
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/04_list.jpeg'
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/07_list.jpeg'
);
done
();
}
catch
(
e
)
{
done
(
e
);
}
finally
{
await
Driver
.
quit
();
}
})();
});
it
(
'Delay 5 seconds '
,
(
done
)
=>
{
setTimeout
(()
=>
{
// TODO Need wait about syncTimeAPI second after last operation
done
();
},
5000
);
});
})
describe
(
'case05: Edit discount code=> Success'
,
function
()
{
this
.
timeout
(
100000
);
beforeEach
(
function
()
{
response
=
null
;
addContext
(
this
,
{
title
:
'StartTime'
,
value
:
{
StartTime
:
timeStamp
=
new
Date
()
}
});
});
afterEach
(
function
()
{
if
(
response
)
{
addContext
(
this
,
{
title
:
'Request'
,
value
:
{
Request
:
request
}
});
addContext
(
this
,
{
title
:
'Response'
,
value
:
{
Response
:
response
}
});
}
addContext
(
this
,
{
title
:
'EndTime'
,
value
:
{
EndTime
:
timeStamp
=
new
Date
()
}
});
});
it
(
'TC001 - Edit discount code => Success '
,
(
done
)
=>
{
(
async
()
=>
{
try
{
// login
Driver
=
driver
.
getDriver
(
webdriver
,
'chrome'
);
// Check Url
await
loginPage
.
openMerchantUrl
(
Driver
);
const
currentUrl
=
await
Driver
.
getCurrentUrl
();
console
.
log
(
'当前网址:'
,
currentUrl
);
await
baseStep
.
waitUntilElement
(
Driver
,
loginPage
.
email
,
20000
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
discountCodePage
.
menu_discount_code
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
discountCodePage
.
editDiscountCode
(
Driver
,
"edit001"
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
inputWithClear
(
Driver
,
discountCodePage
.
name
,
"name"
+
new
Date
().
getTime
());
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/08_EditDiscountCode.jpeg'
);
await
baseStep
.
click
(
Driver
,
discountCodePage
.
save_btn
);
await
baseStep
.
wait
(
Driver
,
3000
);
await
baseStep
.
waitUntilElement
(
Driver
,
discountCodePage
.
new_discount_code
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/09_list.jpeg'
);
done
();
}
catch
(
e
)
{
done
(
e
);
}
finally
{
await
Driver
.
quit
();
}
})();
});
it
(
'Delay 5 seconds '
,
(
done
)
=>
{
setTimeout
(()
=>
{
// TODO Need wait about syncTimeAPI second after last operation
done
();
},
5000
);
});
})
describe
(
'case06: Check multiple states : expired and inactive=> Success'
,
function
()
{
this
.
timeout
(
100000
);
beforeEach
(
function
()
{
response
=
null
;
addContext
(
this
,
{
title
:
'StartTime'
,
value
:
{
StartTime
:
timeStamp
=
new
Date
()
}
});
});
afterEach
(
function
()
{
if
(
response
)
{
addContext
(
this
,
{
title
:
'Request'
,
value
:
{
Request
:
request
}
});
addContext
(
this
,
{
title
:
'Response'
,
value
:
{
Response
:
response
}
});
}
addContext
(
this
,
{
title
:
'EndTime'
,
value
:
{
EndTime
:
timeStamp
=
new
Date
()
}
});
});
it
(
'TC001 - Check multiple states => Success '
,
(
done
)
=>
{
(
async
()
=>
{
try
{
// login
Driver
=
driver
.
getDriver
(
webdriver
,
'chrome'
);
// Check Url
await
loginPage
.
openMerchantUrl
(
Driver
);
const
currentUrl
=
await
Driver
.
getCurrentUrl
();
console
.
log
(
'当前网址:'
,
currentUrl
);
await
baseStep
.
waitUntilElement
(
Driver
,
loginPage
.
email
,
20000
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
discountCodePage
.
menu_discount_code
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
discountCodePage
.
filterStatus
(
Driver
,
[
"Inactive"
,
"Expired"
]);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/10_list.jpeg'
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
discountCodePage
.
checkRecordDiscountCode
(
Driver
,
"inactive001"
,
"InactiveCode"
,
"Inactive"
,
"one-time"
,
"percentage"
,
"10 %"
);
await
discountCodePage
.
checkRecordDiscountCode
(
Driver
,
"expire001"
,
"ExpireCode"
,
"Expired"
,
"one-time"
,
"percentage"
,
"10 %"
,
2
);
await
baseStep
.
wait
(
Driver
,
3000
);
done
();
}
catch
(
e
)
{
done
(
e
);
}
finally
{
await
Driver
.
quit
();
}
})();
});
it
(
'Delay 5 seconds '
,
(
done
)
=>
{
setTimeout
(()
=>
{
// TODO Need wait about syncTimeAPI second after last operation
done
();
},
5000
);
});
})
describe
(
'case07: Add discount code without parameters=> Success'
,
function
()
{
this
.
timeout
(
100000
);
beforeEach
(
function
()
{
response
=
null
;
addContext
(
this
,
{
title
:
'StartTime'
,
value
:
{
StartTime
:
timeStamp
=
new
Date
()
}
});
});
afterEach
(
function
()
{
if
(
response
)
{
addContext
(
this
,
{
title
:
'Request'
,
value
:
{
Request
:
request
}
});
addContext
(
this
,
{
title
:
'Response'
,
value
:
{
Response
:
response
}
});
}
addContext
(
this
,
{
title
:
'EndTime'
,
value
:
{
EndTime
:
timeStamp
=
new
Date
()
}
});
});
it
(
'TC001 - Add discount code without parameters => Success '
,
(
done
)
=>
{
(
async
()
=>
{
try
{
// login
Driver
=
driver
.
getDriver
(
webdriver
,
'chrome'
);
// Check Url
await
loginPage
.
openMerchantUrl
(
Driver
);
const
currentUrl
=
await
Driver
.
getCurrentUrl
();
console
.
log
(
'当前网址:'
,
currentUrl
);
await
baseStep
.
waitUntilElement
(
Driver
,
loginPage
.
email
,
20000
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
discountCodePage
.
menu_discount_code
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
discountCodePage
.
new_discount_code
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
discountCodePage
.
save_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/10_ErrorMessage.jpeg'
);
expect
(
"Please input your discount code name!"
).
to
.
equal
(
await
baseStep
.
getText
(
Driver
,
discountCodePage
.
name_error
));
expect
(
"Please input your discount code!"
).
to
.
equal
(
await
baseStep
.
getText
(
Driver
,
discountCodePage
.
code_error
));
expect
(
"Please input a valid percentage number between 0 ~ 100."
).
to
.
equal
(
await
baseStep
.
getText
(
Driver
,
discountCodePage
.
discountPercentage_error
));
expect
(
"Please select a valid date range."
).
to
.
equal
(
await
baseStep
.
getText
(
Driver
,
discountCodePage
.
validity_error
));
done
();
}
catch
(
e
)
{
...
...
01_Web/TestCases/MerchantPortal/05_invoice.js
View file @
6a87fa95
...
...
@@ -1078,6 +1078,81 @@ describe('case05: refund with wire transfer=> Success', function () {
});
describe
(
'case06: Filter => Success'
,
function
()
{
this
.
timeout
(
9000000
);
beforeEach
(
function
()
{
response
=
null
;
addContext
(
this
,
{
title
:
'StartTime'
,
value
:
{
StartTime
:
timeStamp
=
new
Date
()
}
});
});
afterEach
(
function
()
{
if
(
response
)
{
addContext
(
this
,
{
title
:
'Request'
,
value
:
{
Request
:
request
}
});
addContext
(
this
,
{
title
:
'Response'
,
value
:
{
Response
:
response
}
});
}
addContext
(
this
,
{
title
:
'EndTime'
,
value
:
{
EndTime
:
timeStamp
=
new
Date
()
}
});
});
it
(
'case 01 - filter status in invoice list=> Success '
,
(
done
)
=>
{
(
async
()
=>
{
try
{
// login
Driver
=
driver
.
getDriver
(
webdriver
,
'chrome'
);
// Check Url
await
loginPage
.
openMerchantUrl
(
Driver
);
const
currentUrl
=
await
Driver
.
getCurrentUrl
();
console
.
log
(
'当前网址:'
,
currentUrl
);
await
baseStep
.
waitUntilElement
(
Driver
,
loginPage
.
email
,
20000
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
merchantInvoicePage
.
menu_Invoice
);
await
merchantInvoicePage
.
filterStatus
(
Driver
,
[
"Cancelled"
]);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/09_filterStatus.jpeg'
);
await
merchantInvoicePage
.
checkRecordInvoiceList
(
Driver
,
""
,
"Invoice"
,
"Cancelled"
,
"Stripe"
,
testUser
);
done
();
}
catch
(
e
)
{
done
(
e
);
}
finally
{
await
Driver
.
quit
();
}
})();
});
it
(
'Delay 5 seconds '
,
(
done
)
=>
{
setTimeout
(()
=>
{
// TODO Need wait about syncTimeAPI second after last operation
done
();
},
5000
);
});
});
...
...
01_Web/TestCases/MerchantPortal/06_transaction.js
View file @
6a87fa95
...
...
@@ -12,7 +12,7 @@ const baseStep = require('../../../CommonStep/Web/Web_Common_Step');
const
API_Object
=
require
(
"../../../CommonStep/API/API_Object"
);
const
API_Env
=
require
(
"../../../CommonStep/API/API_Env"
);
const
ApiReq
=
new
API_Object
(
"
https://api.unibee.top
"
);
const
ApiReq
=
new
API_Object
(
"
"
);
const
addContext
=
require
(
'mochawesome/addContext'
);
const
{
expect
}
=
require
(
"chai"
);
...
...
@@ -853,6 +853,193 @@ describe('case04: Transaction with refund => Success', function () {
});
describe
(
'case05: Transaction filter => Success'
,
function
()
{
this
.
timeout
(
9000000
);
beforeEach
(
function
()
{
response
=
null
;
addContext
(
this
,
{
title
:
'StartTime'
,
value
:
{
StartTime
:
timeStamp
=
new
Date
()
}
});
});
afterEach
(
function
()
{
if
(
response
)
{
addContext
(
this
,
{
title
:
'Request'
,
value
:
{
Request
:
request
}
});
addContext
(
this
,
{
title
:
'Response'
,
value
:
{
Response
:
response
}
});
}
addContext
(
this
,
{
title
:
'EndTime'
,
value
:
{
EndTime
:
timeStamp
=
new
Date
()
}
});
});
it
(
'case 01 - check filter => Success '
,
(
done
)
=>
{
(
async
()
=>
{
try
{
// login
Driver
=
driver
.
getDriver
(
webdriver
,
'chrome'
);
// Check Url
await
loginPage
.
openMerchantUrl
(
Driver
);
const
currentUrl
=
await
Driver
.
getCurrentUrl
();
console
.
log
(
'当前网址:'
,
currentUrl
);
await
baseStep
.
waitUntilElement
(
Driver
,
loginPage
.
email
,
20000
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
merchantTransactionPage
.
menu_transaction
);
await
merchantTransactionPage
.
filterStatus
(
Driver
,
[
"Failed"
])
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/05_RefundTransaction.jpeg'
);
await
merchantTransactionPage
.
checkRecordTransactionList
(
Driver
,
""
,
"Failed"
,
"Payment"
,
"Stripe"
);
done
();
}
catch
(
e
)
{
done
(
e
);
}
finally
{
await
Driver
.
quit
();
}
})();
});
it
(
'Delay 5 seconds '
,
(
done
)
=>
{
setTimeout
(()
=>
{
// TODO Need wait about syncTimeAPI second after last operation
done
();
},
5000
);
});
});
describe
(
'case06: One time payment => Success'
,
function
()
{
this
.
timeout
(
9000000
);
beforeEach
(
function
()
{
response
=
null
;
addContext
(
this
,
{
title
:
'StartTime'
,
value
:
{
StartTime
:
timeStamp
=
new
Date
()
}
});
});
afterEach
(
function
()
{
if
(
response
)
{
addContext
(
this
,
{
title
:
'Request'
,
value
:
{
Request
:
request
}
});
addContext
(
this
,
{
title
:
'Response'
,
value
:
{
Response
:
response
}
});
}
addContext
(
this
,
{
title
:
'EndTime'
,
value
:
{
EndTime
:
timeStamp
=
new
Date
()
}
});
});
it
(
'TC001 - user purchase a plan => Success '
,
(
done
)
=>
{
(
async
()
=>
{
try
{
// login
Driver
=
driver
.
getDriver
(
webdriver
,
'chrome'
);
// Check Url
await
loginPage
.
openUserUrl
(
Driver
,);
const
currentUrl
=
await
Driver
.
getCurrentUrl
();
console
.
log
(
'当前网址:'
,
currentUrl
);
await
baseStep
.
waitUntilElement
(
Driver
,
loginPage
.
user_email
,
20000
);
await
loginPage
.
loginUserPortal
(
Driver
,
testUser
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
userPlanPage
.
menu_plan
);
await
baseStep
.
waitUntilElement
(
Driver
,
userPlanPage
.
plan_page_sign
,
20000
);
await
baseStep
.
click
(
Driver
,
userPlanPage
.
one_time_addons_tab
)
// no content
await
userPlanPage
.
selectPlan
(
Driver
,
'one time payment'
);
await
baseStep
.
click
(
Driver
,
userPlanPage
.
one_time_OK_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
switchWindow
(
Driver
);
await
baseStep
.
waitUntilElement
(
Driver
,
userPlanPage
.
change_card_btn
,
20000
);
await
baseStep
.
click
(
Driver
,
userPlanPage
.
change_card_btn
);
await
baseStep
.
input
(
Driver
,
userPlanPage
.
card_number
,
'4242424242424242'
);
await
baseStep
.
input
(
Driver
,
userPlanPage
.
card_expiry
,
'1234'
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
input
(
Driver
,
userPlanPage
.
card_cvc
,
'567'
);
await
baseStep
.
wait
(
Driver
,
3000
);
await
baseStep
.
click
(
Driver
,
userPlanPage
.
pay_btn
);
await
baseStep
.
waitUntilElement
(
Driver
,
userPlanPage
.
payment_success_sign
,
20000
);
let
actual_success_text
=
await
baseStep
.
getText
(
Driver
,
userPlanPage
.
payment_success_sign
)
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/06_Buy_an_oneTimePayment"
);
await
expect
(
"Payment succeeded!"
).
to
.
equal
(
actual_success_text
)
await
baseStep
.
wait
(
Driver
,
30000
);
done
();
}
catch
(
e
)
{
done
(
e
);
}
finally
{
await
Driver
.
quit
();
}
})();
});
it
(
'case 02 - check transaction in merchant portal => Success '
,
(
done
)
=>
{
(
async
()
=>
{
try
{
// login
Driver
=
driver
.
getDriver
(
webdriver
,
'chrome'
);
// Check Url
await
loginPage
.
openMerchantUrl
(
Driver
);
const
currentUrl
=
await
Driver
.
getCurrentUrl
();
console
.
log
(
'当前网址:'
,
currentUrl
);
await
baseStep
.
waitUntilElement
(
Driver
,
loginPage
.
email
,
20000
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
merchantTransactionPage
.
menu_transaction
);
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
'/07_SuccessTransaction.jpeg'
);
await
merchantTransactionPage
.
checkRecordTransactionList
(
Driver
,
"€15"
,
"Succeeded"
,
"Payment"
,
"Stripe"
);
done
();
}
catch
(
e
)
{
done
(
e
);
}
finally
{
await
Driver
.
quit
();
}
})();
});
it
(
'Delay 5 seconds '
,
(
done
)
=>
{
setTimeout
(()
=>
{
// TODO Need wait about syncTimeAPI second after last operation
done
();
},
5000
);
});
});
...
...
01_Web/TestCases/MerchantPortal/08_subscription.js
View file @
6a87fa95
...
...
@@ -644,3 +644,4 @@ describe('case03: change Due date=> Success', function () {
01_Web/TestCases/MerchantPortal/09_user_list.js
View file @
6a87fa95
let
loginPage
=
require
(
"../../PageObject/LoginPage"
);
let
userPlanPage
=
require
(
"../../PageObject/UserPlanPage"
);
let
subPage
=
require
(
"../../PageObject/MerchantSubscriptionPage"
);
let
userListPage
=
require
(
"../../PageObject/MerchantUserListPage"
)
const
urlencoded
=
require
(
'urlencode'
);
...
...
@@ -86,18 +87,18 @@ describe('case01: add user in user list=> Success', function () {
await
baseStep
.
input
(
Driver
,
userListPage
.
new_last_name
,
"QA"
+
time
);
await
baseStep
.
input
(
Driver
,
userListPage
.
new_phone
,
"15642543250"
);
await
baseStep
.
input
(
Driver
,
userListPage
.
new_address
,
"Test Address"
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/01_add_user"
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/01_add_user
.png
"
);
await
baseStep
.
click
(
Driver
,
userListPage
.
new_OK_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/02_user_list"
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/02_user_list
.png
"
);
await
userListPage
.
checkRecordUserList
(
Driver
,
"Testing QA"
+
time
,
"Auto"
+
time
+
"@test.com"
,
"Active"
);
await
baseStep
.
scrollIntoView
(
Driver
,
userListPage
.
suspend_btn
);
await
baseStep
.
click
(
Driver
,
userListPage
.
suspend_btn
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/03_suspend_user"
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/03_suspend_user
.png
"
);
await
baseStep
.
click
(
Driver
,
userListPage
.
suspend_confirm_btn
);
await
baseStep
.
click
(
Driver
,
userListPage
.
menu_user_list
);
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/04_suspend_result"
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/04_suspend_result
.png
"
);
await
userListPage
.
checkRecordUserList
(
Driver
,
"Testing QA"
+
time
,
"Auto"
+
time
+
"@test.com"
,
"Suspended"
);
done
();
}
catch
(
e
)
{
...
...
@@ -177,10 +178,10 @@ describe('case02: Assign subscription in user list=> Success', function () {
await
baseStep
.
input
(
Driver
,
userListPage
.
new_last_name
,
"QA"
+
time
);
await
baseStep
.
input
(
Driver
,
userListPage
.
new_phone
,
"15642543250"
);
await
baseStep
.
input
(
Driver
,
userListPage
.
new_address
,
"Test Address"
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/05_add_user"
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/05_add_user
.png
"
);
await
baseStep
.
click
(
Driver
,
userListPage
.
new_OK_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/06_user_list"
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/06_user_list
.png
"
);
await
userListPage
.
checkRecordUserList
(
Driver
,
"Testing QA"
+
time
,
"Auto"
+
time
+
"@test.com"
,
"Active"
);
await
baseStep
.
click
(
Driver
,
userListPage
.
subscription_tab
);
await
baseStep
.
wait
(
Driver
,
1000
);
...
...
@@ -188,10 +189,10 @@ describe('case02: Assign subscription in user list=> Success', function () {
await
baseStep
.
wait
(
Driver
,
1000
);
await
userListPage
.
selectTargetPlan
(
Driver
,
"Month Plan"
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/07_assign_sub"
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/07_assign_sub
.png
"
);
await
baseStep
.
click
(
Driver
,
userListPage
.
assign_OK_btn
);
await
baseStep
.
wait
(
Driver
,
3000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/08_assign_result"
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/08_assign_result
.png
"
);
await
baseStep
.
compareText
(
Driver
,
userListPage
.
current_text
,
"Current Subscription"
);
await
baseStep
.
compareText
(
Driver
,
userListPage
.
current_plan
,
"Month Plan"
);
await
baseStep
.
compareText
(
Driver
,
userListPage
.
current_plan_des
,
"Month Plan"
);
...
...
@@ -213,6 +214,603 @@ describe('case02: Assign subscription in user list=> Success', function () {
});
describe
(
'case03: filter an user in user list=> Success'
,
function
()
{
this
.
timeout
(
9000000
);
beforeEach
(
function
()
{
response
=
null
;
addContext
(
this
,
{
title
:
'StartTime'
,
value
:
{
StartTime
:
timeStamp
=
new
Date
()
}
});
});
afterEach
(
function
()
{
if
(
response
)
{
addContext
(
this
,
{
title
:
'Request'
,
value
:
{
Request
:
request
}
});
addContext
(
this
,
{
title
:
'Response'
,
value
:
{
Response
:
response
}
});
}
addContext
(
this
,
{
title
:
'EndTime'
,
value
:
{
EndTime
:
timeStamp
=
new
Date
()
}
});
});
it
(
'case 01 - filter an user => Success '
,
(
done
)
=>
{
(
async
()
=>
{
try
{
// login
Driver
=
driver
.
getDriver
(
webdriver
,
'chrome'
);
// Check Url
await
loginPage
.
openMerchantUrl
(
Driver
);
const
currentUrl
=
await
Driver
.
getCurrentUrl
();
console
.
log
(
'当前网址:'
,
currentUrl
);
await
baseStep
.
waitUntilElement
(
Driver
,
loginPage
.
email
,
20000
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
waitUntilElement
(
Driver
,
userListPage
.
menu_user_list
);
await
baseStep
.
click
(
Driver
,
userListPage
.
menu_user_list
);
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
input
(
Driver
,
userListPage
.
filter_first_name
,
"Joshua"
);
await
baseStep
.
input
(
Driver
,
userListPage
.
filter_last_name
,
"Yu"
);
await
baseStep
.
input
(
Driver
,
userListPage
.
filter_email
,
testUser
);
await
baseStep
.
click
(
Driver
,
userListPage
.
search_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/05_filter_result.png"
);
await
userListPage
.
checkRecordUserList
(
Driver
,
"Joshua Yu"
,
testUser
,
"Active"
);
done
();
}
catch
(
e
)
{
done
(
e
);
}
finally
{
await
Driver
.
quit
();
}
})();
});
it
(
'Delay 5 seconds '
,
(
done
)
=>
{
setTimeout
(()
=>
{
// TODO Need wait about syncTimeAPI second after last operation
done
();
},
5000
);
});
});
describe
(
'case04: click sub id in user list=> Success'
,
function
()
{
this
.
timeout
(
9000000
);
beforeEach
(
function
()
{
response
=
null
;
addContext
(
this
,
{
title
:
'StartTime'
,
value
:
{
StartTime
:
timeStamp
=
new
Date
()
}
});
});
afterEach
(
function
()
{
if
(
response
)
{
addContext
(
this
,
{
title
:
'Request'
,
value
:
{
Request
:
request
}
});
addContext
(
this
,
{
title
:
'Response'
,
value
:
{
Response
:
response
}
});
}
addContext
(
this
,
{
title
:
'EndTime'
,
value
:
{
EndTime
:
timeStamp
=
new
Date
()
}
});
});
it
(
'case 01 - click sub id => Success '
,
(
done
)
=>
{
(
async
()
=>
{
try
{
// login
Driver
=
driver
.
getDriver
(
webdriver
,
'chrome'
);
// Check Url
await
loginPage
.
openMerchantUrl
(
Driver
);
const
currentUrl
=
await
Driver
.
getCurrentUrl
();
console
.
log
(
'当前网址:'
,
currentUrl
);
await
baseStep
.
waitUntilElement
(
Driver
,
loginPage
.
email
,
20000
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
waitUntilElement
(
Driver
,
userListPage
.
menu_user_list
);
await
baseStep
.
click
(
Driver
,
userListPage
.
menu_user_list
);
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
input
(
Driver
,
userListPage
.
filter_first_name
,
"Joshua"
);
await
baseStep
.
input
(
Driver
,
userListPage
.
filter_last_name
,
"Yu"
);
await
baseStep
.
input
(
Driver
,
userListPage
.
filter_email
,
testUser
);
await
baseStep
.
click
(
Driver
,
userListPage
.
search_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
click
(
Driver
,
userListPage
.
sub_id_link
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/06_link_page.png"
);
await
expect
(
await
baseStep
.
getText
(
Driver
,
subPage
.
sub_plan
)).
to
.
not
.
null
;
done
();
}
catch
(
e
)
{
done
(
e
);
}
finally
{
await
Driver
.
quit
();
}
})();
});
it
(
'Delay 5 seconds '
,
(
done
)
=>
{
setTimeout
(()
=>
{
// TODO Need wait about syncTimeAPI second after last operation
done
();
},
5000
);
});
});
describe
(
'case05: Edit user in user list=> Success'
,
function
()
{
this
.
timeout
(
9000000
);
beforeEach
(
function
()
{
response
=
null
;
addContext
(
this
,
{
title
:
'StartTime'
,
value
:
{
StartTime
:
timeStamp
=
new
Date
()
}
});
});
afterEach
(
function
()
{
if
(
response
)
{
addContext
(
this
,
{
title
:
'Request'
,
value
:
{
Request
:
request
}
});
addContext
(
this
,
{
title
:
'Response'
,
value
:
{
Response
:
response
}
});
}
addContext
(
this
,
{
title
:
'EndTime'
,
value
:
{
EndTime
:
timeStamp
=
new
Date
()
}
});
});
it
(
'case 01 - edit an user => Success '
,
(
done
)
=>
{
(
async
()
=>
{
try
{
// login
Driver
=
driver
.
getDriver
(
webdriver
,
'chrome'
);
// Check Url
await
loginPage
.
openMerchantUrl
(
Driver
);
const
currentUrl
=
await
Driver
.
getCurrentUrl
();
console
.
log
(
'当前网址:'
,
currentUrl
);
await
baseStep
.
waitUntilElement
(
Driver
,
loginPage
.
email
,
20000
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
waitUntilElement
(
Driver
,
userListPage
.
menu_user_list
);
await
baseStep
.
click
(
Driver
,
userListPage
.
menu_user_list
);
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
input
(
Driver
,
userListPage
.
filter_first_name
,
"Joshua"
);
await
baseStep
.
input
(
Driver
,
userListPage
.
filter_last_name
,
"Yu"
);
await
baseStep
.
input
(
Driver
,
userListPage
.
filter_email
,
testUser
);
await
baseStep
.
click
(
Driver
,
userListPage
.
search_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
userListPage
.
checkRecordUserList
(
Driver
,
"Joshua Yu"
,
testUser
,
"Active"
);
await
baseStep
.
inputWithClear
(
Driver
,
userListPage
.
account_billing_address
,
"update address"
+
new
Date
().
getTime
());
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/07_Edit_result.png"
);
await
baseStep
.
scrollIntoView
(
Driver
,
userListPage
.
save_btn
);
await
baseStep
.
click
(
Driver
,
userListPage
.
save_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
done
();
}
catch
(
e
)
{
done
(
e
);
}
finally
{
await
Driver
.
quit
();
}
})();
});
it
(
'Delay 5 seconds '
,
(
done
)
=>
{
setTimeout
(()
=>
{
// TODO Need wait about syncTimeAPI second after last operation
done
();
},
5000
);
});
});
describe
(
'case06: change payment method in user list=> Success'
,
function
()
{
this
.
timeout
(
9000000
);
beforeEach
(
function
()
{
response
=
null
;
addContext
(
this
,
{
title
:
'StartTime'
,
value
:
{
StartTime
:
timeStamp
=
new
Date
()
}
});
});
afterEach
(
function
()
{
if
(
response
)
{
addContext
(
this
,
{
title
:
'Request'
,
value
:
{
Request
:
request
}
});
addContext
(
this
,
{
title
:
'Response'
,
value
:
{
Response
:
response
}
});
}
addContext
(
this
,
{
title
:
'EndTime'
,
value
:
{
EndTime
:
timeStamp
=
new
Date
()
}
});
});
it
(
'case 01 - change payment method => Success '
,
(
done
)
=>
{
(
async
()
=>
{
try
{
// login
Driver
=
driver
.
getDriver
(
webdriver
,
'chrome'
);
// Check Url
await
loginPage
.
openMerchantUrl
(
Driver
);
const
currentUrl
=
await
Driver
.
getCurrentUrl
();
console
.
log
(
'当前网址:'
,
currentUrl
);
await
baseStep
.
waitUntilElement
(
Driver
,
loginPage
.
email
,
20000
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
waitUntilElement
(
Driver
,
userListPage
.
menu_user_list
);
await
baseStep
.
click
(
Driver
,
userListPage
.
menu_user_list
);
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
input
(
Driver
,
userListPage
.
filter_first_name
,
"Joshua"
);
await
baseStep
.
input
(
Driver
,
userListPage
.
filter_last_name
,
"Yu"
);
await
baseStep
.
input
(
Driver
,
userListPage
.
filter_email
,
testUser
);
await
baseStep
.
click
(
Driver
,
userListPage
.
search_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
userListPage
.
checkRecordUserList
(
Driver
,
"Joshua Yu"
,
testUser
,
"Active"
);
await
baseStep
.
scrollIntoView
(
Driver
,
userListPage
.
account_payment_wire_transfer
);
await
baseStep
.
click
(
Driver
,
userListPage
.
account_payment_wire_transfer
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/08_payment_wire_transfer.png"
);
await
baseStep
.
scrollIntoView
(
Driver
,
userListPage
.
save_btn
);
await
baseStep
.
click
(
Driver
,
userListPage
.
save_btn
);
await
baseStep
.
wait
(
Driver
,
3000
);
await
baseStep
.
scrollUp
(
Driver
,
userListPage
.
account_payment_changelly
);
await
baseStep
.
click
(
Driver
,
userListPage
.
account_payment_changelly
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/09_payment_crypto.png"
);
await
baseStep
.
scrollIntoView
(
Driver
,
userListPage
.
save_btn
);
await
baseStep
.
click
(
Driver
,
userListPage
.
save_btn
);
await
baseStep
.
wait
(
Driver
,
3000
);
await
baseStep
.
scrollUp
(
Driver
,
userListPage
.
account_payment_stripe
);
await
baseStep
.
click
(
Driver
,
userListPage
.
account_payment_stripe
);
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/10_payment_stripe.png"
);
await
baseStep
.
scrollIntoView
(
Driver
,
userListPage
.
save_btn
);
await
baseStep
.
click
(
Driver
,
userListPage
.
save_btn
);
await
baseStep
.
wait
(
Driver
,
3000
);
done
();
}
catch
(
e
)
{
done
(
e
);
}
finally
{
await
Driver
.
quit
();
}
})();
});
it
(
'Delay 5 seconds '
,
(
done
)
=>
{
setTimeout
(()
=>
{
// TODO Need wait about syncTimeAPI second after last operation
done
();
},
5000
);
});
});
describe
(
'case07: Wrong vat number in user list=> Success'
,
function
()
{
this
.
timeout
(
9000000
);
beforeEach
(
function
()
{
response
=
null
;
addContext
(
this
,
{
title
:
'StartTime'
,
value
:
{
StartTime
:
timeStamp
=
new
Date
()
}
});
});
afterEach
(
function
()
{
if
(
response
)
{
addContext
(
this
,
{
title
:
'Request'
,
value
:
{
Request
:
request
}
});
addContext
(
this
,
{
title
:
'Response'
,
value
:
{
Response
:
response
}
});
}
addContext
(
this
,
{
title
:
'EndTime'
,
value
:
{
EndTime
:
timeStamp
=
new
Date
()
}
});
});
it
(
'case 01 - wrong vat number => Success '
,
(
done
)
=>
{
(
async
()
=>
{
try
{
// login
Driver
=
driver
.
getDriver
(
webdriver
,
'chrome'
);
// Check Url
await
loginPage
.
openMerchantUrl
(
Driver
);
const
currentUrl
=
await
Driver
.
getCurrentUrl
();
console
.
log
(
'当前网址:'
,
currentUrl
);
await
baseStep
.
waitUntilElement
(
Driver
,
loginPage
.
email
,
20000
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
waitUntilElement
(
Driver
,
userListPage
.
menu_user_list
);
await
baseStep
.
click
(
Driver
,
userListPage
.
menu_user_list
);
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
input
(
Driver
,
userListPage
.
filter_first_name
,
"Joshua"
);
await
baseStep
.
input
(
Driver
,
userListPage
.
filter_last_name
,
"Yu"
);
await
baseStep
.
input
(
Driver
,
userListPage
.
filter_email
,
testUser
);
await
baseStep
.
click
(
Driver
,
userListPage
.
search_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
userListPage
.
checkRecordUserList
(
Driver
,
"Joshua Yu"
,
testUser
,
"Active"
);
await
baseStep
.
scrollIntoView
(
Driver
,
userListPage
.
account_vat_number
);
await
baseStep
.
input
(
Driver
,
userListPage
.
account_vat_number
,
"123456789"
)
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/11_wrong_vat_number.png"
);
await
baseStep
.
scrollIntoView
(
Driver
,
userListPage
.
save_btn
);
await
baseStep
.
click
(
Driver
,
userListPage
.
save_btn
);
expect
(
await
baseStep
.
getText
(
Driver
,
userListPage
.
vat_error_message
)).
not
.
null
await
baseStep
.
wait
(
Driver
,
3000
);
done
();
}
catch
(
e
)
{
done
(
e
);
}
finally
{
await
Driver
.
quit
();
}
})();
});
it
(
'Delay 5 seconds '
,
(
done
)
=>
{
setTimeout
(()
=>
{
// TODO Need wait about syncTimeAPI second after last operation
done
();
},
5000
);
});
});
describe
(
'case08:Set country and vat number in user list=> Success'
,
function
()
{
this
.
timeout
(
9000000
);
beforeEach
(
function
()
{
response
=
null
;
addContext
(
this
,
{
title
:
'StartTime'
,
value
:
{
StartTime
:
timeStamp
=
new
Date
()
}
});
});
afterEach
(
function
()
{
if
(
response
)
{
addContext
(
this
,
{
title
:
'Request'
,
value
:
{
Request
:
request
}
});
addContext
(
this
,
{
title
:
'Response'
,
value
:
{
Response
:
response
}
});
}
addContext
(
this
,
{
title
:
'EndTime'
,
value
:
{
EndTime
:
timeStamp
=
new
Date
()
}
});
});
it
(
'case 01 - wrong vat number => Success '
,
(
done
)
=>
{
(
async
()
=>
{
try
{
// login
Driver
=
driver
.
getDriver
(
webdriver
,
'chrome'
);
// Check Url
await
loginPage
.
openMerchantUrl
(
Driver
);
const
currentUrl
=
await
Driver
.
getCurrentUrl
();
console
.
log
(
'当前网址:'
,
currentUrl
);
await
baseStep
.
waitUntilElement
(
Driver
,
loginPage
.
email
,
20000
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
waitUntilElement
(
Driver
,
userListPage
.
menu_user_list
);
await
baseStep
.
click
(
Driver
,
userListPage
.
menu_user_list
);
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
input
(
Driver
,
userListPage
.
filter_first_name
,
"Joshua"
);
await
baseStep
.
input
(
Driver
,
userListPage
.
filter_last_name
,
"Yu"
);
await
baseStep
.
input
(
Driver
,
userListPage
.
filter_email
,
testUser
);
await
baseStep
.
click
(
Driver
,
userListPage
.
search_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
userListPage
.
checkRecordUserList
(
Driver
,
"Joshua Yu"
,
testUser
,
"Active"
);
await
baseStep
.
scrollIntoView
(
Driver
,
userListPage
.
account_vat_number
);
await
userListPage
.
setCountry
(
Driver
,
"United Kingdom"
);
await
baseStep
.
input
(
Driver
,
userListPage
.
account_vat_number
,
"GB288305674"
)
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/12_vat_number_country.png"
);
await
baseStep
.
scrollIntoView
(
Driver
,
userListPage
.
save_btn
);
await
baseStep
.
click
(
Driver
,
userListPage
.
save_btn
);
expect
(
await
baseStep
.
getText
(
Driver
,
userListPage
.
vat_error_message
)).
not
.
null
await
baseStep
.
wait
(
Driver
,
3000
);
done
();
}
catch
(
e
)
{
done
(
e
);
}
finally
{
await
Driver
.
quit
();
}
})();
});
it
(
'Delay 5 seconds '
,
(
done
)
=>
{
setTimeout
(()
=>
{
// TODO Need wait about syncTimeAPI second after last operation
done
();
},
5000
);
});
});
describe
(
'case09: set wrong country in user list=> Success'
,
function
()
{
this
.
timeout
(
9000000
);
beforeEach
(
function
()
{
response
=
null
;
addContext
(
this
,
{
title
:
'StartTime'
,
value
:
{
StartTime
:
timeStamp
=
new
Date
()
}
});
});
afterEach
(
function
()
{
if
(
response
)
{
addContext
(
this
,
{
title
:
'Request'
,
value
:
{
Request
:
request
}
});
addContext
(
this
,
{
title
:
'Response'
,
value
:
{
Response
:
response
}
});
}
addContext
(
this
,
{
title
:
'EndTime'
,
value
:
{
EndTime
:
timeStamp
=
new
Date
()
}
});
});
it
(
'case 01 - wrong country => Success '
,
(
done
)
=>
{
(
async
()
=>
{
try
{
// login
Driver
=
driver
.
getDriver
(
webdriver
,
'chrome'
);
// Check Url
await
loginPage
.
openMerchantUrl
(
Driver
);
const
currentUrl
=
await
Driver
.
getCurrentUrl
();
console
.
log
(
'当前网址:'
,
currentUrl
);
await
baseStep
.
waitUntilElement
(
Driver
,
loginPage
.
email
,
20000
);
await
loginPage
.
loginMerchant
(
Driver
)
await
baseStep
.
wait
(
Driver
,
1000
);
await
baseStep
.
waitUntilElement
(
Driver
,
userListPage
.
menu_user_list
);
await
baseStep
.
click
(
Driver
,
userListPage
.
menu_user_list
);
await
baseStep
.
wait
(
Driver
,
2000
);
await
baseStep
.
input
(
Driver
,
userListPage
.
filter_first_name
,
"Joshua"
);
await
baseStep
.
input
(
Driver
,
userListPage
.
filter_last_name
,
"Yu"
);
await
baseStep
.
input
(
Driver
,
userListPage
.
filter_email
,
testUser
);
await
baseStep
.
click
(
Driver
,
userListPage
.
search_btn
);
await
baseStep
.
wait
(
Driver
,
1000
);
await
userListPage
.
checkRecordUserList
(
Driver
,
"Joshua Yu"
,
testUser
,
"Active"
);
await
baseStep
.
scrollIntoView
(
Driver
,
userListPage
.
account_vat_number
);
await
userListPage
.
setCountry
(
Driver
,
"China"
);
// await baseStep.input(Driver, userListPage.account_vat_number, "GB288305674")
await
baseStep
.
screenShot
(
Driver
,
savaPath
+
"/14_wrong_country.png"
);
await
baseStep
.
scrollIntoView
(
Driver
,
userListPage
.
save_btn
);
await
baseStep
.
click
(
Driver
,
userListPage
.
save_btn
);
expect
(
await
baseStep
.
getText
(
Driver
,
userListPage
.
country_error_message
)).
not
.
null
;
await
baseStep
.
wait
(
Driver
,
3000
);
await
baseStep
.
scrollUp
(
Driver
,
userListPage
.
account_country
);
await
userListPage
.
setCountry
(
Driver
,
"United Kingdom"
);
await
baseStep
.
inputWithClear
(
Driver
,
userListPage
.
account_vat_number
,
""
)
// await baseStep.input(Driver, userListPage.account_vat_number, "GB288305674")
await
baseStep
.
scrollIntoView
(
Driver
,
userListPage
.
save_btn
);
await
baseStep
.
click
(
Driver
,
userListPage
.
save_btn
);
done
();
}
catch
(
e
)
{
done
(
e
);
}
finally
{
await
Driver
.
quit
();
}
})();
});
it
(
'Delay 5 seconds '
,
(
done
)
=>
{
setTimeout
(()
=>
{
// TODO Need wait about syncTimeAPI second after last operation
done
();
},
5000
);
});
});
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment