Merge branch 'main' into 'master'
add cases
See merge request !25
Showing
| ... | @@ -14,6 +14,8 @@ class Login_Page { | ... | @@ -14,6 +14,8 @@ class Login_Page { |
| user_password_empty_error = '//*[@id="login-with-password_password_help"]/div[1]' | user_password_empty_error = '//*[@id="login-with-password_password_help"]/div[1]' | ||
| error_message = '//input[@id="login-password_password"]/../../../../../../following-sibling::div[2]' | error_message = '//input[@id="login-password_password"]/../../../../../../following-sibling::div[2]' | ||
| user_error_message = '//input[@id="login-with-password_password"]/../../../../../../following-sibling::div[2]' | user_error_message = '//input[@id="login-with-password_password"]/../../../../../../following-sibling::div[2]' | ||
| logout_btn = '//*[@aria-label="logout"]' | |||
| // http://unibee:[email protected]/ | // http://unibee:[email protected]/ | ||
| openMerchantUrl = async function (driver, url = 'http://unibee:[email protected]/'){ | openMerchantUrl = async function (driver, url = 'http://unibee:[email protected]/'){ | ||
| console.log("Open URL: " + url); | console.log("Open URL: " + url); | ||
| ... | ... |
| ... | @@ -19,6 +19,7 @@ const {expect} = require("chai"); | ... | @@ -19,6 +19,7 @@ const {expect} = require("chai"); |
| const {wait} = require("../../../CommonStep/Web/Web_Common_Step"); | const {wait} = require("../../../CommonStep/Web/Web_Common_Step"); | ||
| const merchantInvoicePage = require("../../PageObject/MerchantInvoicePage"); | const merchantInvoicePage = require("../../PageObject/MerchantInvoicePage"); | ||
| const discountCodePage = require("../../PageObject/MerchantDiscountCodePage"); | const discountCodePage = require("../../PageObject/MerchantDiscountCodePage"); | ||
| const userListPage = require("../../PageObject/MerchantUserListPage"); | |||
| let request; | let request; | ||
| let response; | let response; | ||
| let timeStamp = new Date(); | let timeStamp = new Date(); | ||
| ... | @@ -27,6 +28,9 @@ let Driver; | ... | @@ -27,6 +28,9 @@ let Driver; |
| let savaPath = __dirname + "/../../Report/Web/ScreenShot/08_Subscription/" + baseStep.getDateFormat(new Date(), "YYYY-MM-DD_HH:mm:ss"); | let savaPath = __dirname + "/../../Report/Web/ScreenShot/08_Subscription/" + baseStep.getDateFormat(new Date(), "YYYY-MM-DD_HH:mm:ss"); | ||
| let testData = []; | let testData = []; | ||
| let testUser = "[email protected]"; | let testUser = "[email protected]"; | ||
| describe('case01: cancel subscription in merchant=> Success', function () { | describe('case01: cancel subscription in merchant=> Success', function () { | ||
| this.timeout(9000000); | this.timeout(9000000); | ||
| ... | @@ -205,10 +209,10 @@ describe('case01: cancel subscription in merchant=> Success', function () { | ... | @@ -205,10 +209,10 @@ describe('case01: cancel subscription in merchant=> Success', function () { |
| await baseStep.wait(Driver, 2000); | await baseStep.wait(Driver, 2000); | ||
| await baseStep.click(Driver, MerchantSubscriptionPage.end_subscription); | await baseStep.click(Driver, MerchantSubscriptionPage.end_subscription); | ||
| await baseStep.click(Driver, MerchantSubscriptionPage.end_immediately); | await baseStep.click(Driver, MerchantSubscriptionPage.end_immediately); | ||
| await baseStep.screenShot(Driver, savaPath + '/01_cancel_sub'); | await baseStep.screenShot(Driver, savaPath + '/01_cancel_sub.png'); | ||
| await baseStep.click(Driver, MerchantSubscriptionPage.end_OK_btn); | await baseStep.click(Driver, MerchantSubscriptionPage.end_OK_btn); | ||
| await baseStep.wait(Driver, 2000); | await baseStep.wait(Driver, 2000); | ||
| await baseStep.screenShot(Driver, savaPath + '/02_cancel_result'); | await baseStep.screenShot(Driver, savaPath + '/02_cancel_result.png'); | ||
| await expect(await baseStep.getText(Driver, MerchantSubscriptionPage.sub_status)).to.equal("Cancelled"); | await expect(await baseStep.getText(Driver, MerchantSubscriptionPage.sub_status)).to.equal("Cancelled"); | ||
| done(); | done(); | ||
| } catch (e) { | } catch (e) { | ||
| ... | @@ -403,16 +407,18 @@ describe('case02: change subscription in merchant=> Success', function () { | ... | @@ -403,16 +407,18 @@ describe('case02: change subscription in merchant=> Success', function () { |
| await baseStep.wait(Driver, 2000); | await baseStep.wait(Driver, 2000); | ||
| await MerchantSubscriptionPage.selectSubByPlanName(Driver, "Month Plan"); | await MerchantSubscriptionPage.selectSubByPlanName(Driver, "Month Plan"); | ||
| await baseStep.wait(Driver, 2000); | await baseStep.wait(Driver, 2000); | ||
| await expect(await baseStep.getText(Driver, MerchantSubscriptionPage.sub_status)).to.equal("Active"); | |||
| await baseStep.wait(Driver, 2000); | |||
| await baseStep.click(Driver, MerchantSubscriptionPage.change_sub_btn); | await baseStep.click(Driver, MerchantSubscriptionPage.change_sub_btn); | ||
| await baseStep.wait(Driver, 2000); | await baseStep.wait(Driver, 2000); | ||
| await MerchantSubscriptionPage.selectTargetPlan(Driver, "Update Plan"); | await MerchantSubscriptionPage.selectTargetPlan(Driver, "Update Plan"); | ||
| await baseStep.wait(Driver, 1000); | await baseStep.wait(Driver, 1000); | ||
| await baseStep.click(Driver, MerchantSubscriptionPage.change_OK_btn); | await baseStep.click(Driver, MerchantSubscriptionPage.change_OK_btn); | ||
| await baseStep.wait(Driver, 1000); | await baseStep.wait(Driver, 1000); | ||
| await baseStep.screenShot(Driver, savaPath + '/03_change_sub'); | await baseStep.screenShot(Driver, savaPath + '/03_change_sub.png'); | ||
| await baseStep.click(Driver, MerchantSubscriptionPage.change_confirm); | await baseStep.click(Driver, MerchantSubscriptionPage.change_confirm); | ||
| await baseStep.wait(Driver, 10000); | await baseStep.wait(Driver, 10000); | ||
| await baseStep.screenShot(Driver, savaPath + '/04_change_result'); | await baseStep.screenShot(Driver, savaPath + '/04_change_result.png'); | ||
| await expect(await baseStep.getText(Driver, MerchantSubscriptionPage.sub_plan)).to.equal("Update Plan"); | await expect(await baseStep.getText(Driver, MerchantSubscriptionPage.sub_plan)).to.equal("Update Plan"); | ||
| await baseStep.wait(Driver, 2000); | await baseStep.wait(Driver, 2000); | ||
| done(); | done(); | ||
| ... | @@ -609,12 +615,12 @@ describe('case03: change Due date=> Success', function () { | ... | @@ -609,12 +615,12 @@ describe('case03: change Due date=> Success', function () { |
| await MerchantSubscriptionPage.selectSubByPlanName(Driver, "Month Plan"); | await MerchantSubscriptionPage.selectSubByPlanName(Driver, "Month Plan"); | ||
| await MerchantSubscriptionPage.setDueDate(Driver, 3); | await MerchantSubscriptionPage.setDueDate(Driver, 3); | ||
| await baseStep.wait(Driver, 1000); | await baseStep.wait(Driver, 1000); | ||
| await baseStep.screenShot(Driver, savaPath + '/05_change_due_date'); | await baseStep.screenShot(Driver, savaPath + '/05_change_due_date.png'); | ||
| await baseStep.click(Driver, MerchantSubscriptionPage.due_date_OK_btn); | await baseStep.click(Driver, MerchantSubscriptionPage.due_date_OK_btn); | ||
| await baseStep.wait(Driver, 2000); | await baseStep.wait(Driver, 2000); | ||
| let current = new Date(new Date().setMonth(new Date().getMonth() + 1)); | let current = new Date(new Date().setMonth(new Date().getMonth() + 1)); | ||
| let expectDate = baseStep.getDateFormat(new Date(new Date(current).setDate(new Date(current).getDate() + 3)), "YYYY-MMM-DD"); | let expectDate = baseStep.getDateFormat(new Date(new Date(current).setDate(new Date(current).getDate() + 3)), "YYYY-MMM-DD"); | ||
| await baseStep.screenShot(Driver, savaPath + '/06_change_due_date_result'); | await baseStep.screenShot(Driver, savaPath + '/06_change_due_date_result.png'); | ||
| await expect(await baseStep.getText(Driver, MerchantSubscriptionPage.change_due_date_info)).to.equal("+3 days → " + expectDate); | await expect(await baseStep.getText(Driver, MerchantSubscriptionPage.change_due_date_info)).to.equal("+3 days → " + expectDate); | ||
| await baseStep.wait(Driver, 5000); | await baseStep.wait(Driver, 5000); | ||
| done(); | done(); | ||
| ... | @@ -634,6 +640,595 @@ describe('case03: change Due date=> Success', function () { | ... | @@ -634,6 +640,595 @@ describe('case03: change Due date=> Success', function () { |
| }); | }); | ||
| describe('case04: Pending to incomplete=> 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: Get User List => Success', (done) => { | |||
| try { | |||
| setTimeout(() => {//Wait syncTimeAPI*1000 seconds | |||
| // API_Env.get().headerSet.Authorization = "Bearer " + testData["token"]; | |||
| ApiReq.getUserList(API_Env.get().headerSet, urlencoded(testUser), (res, url, header) => { | |||
| request = { | |||
| URL: url, | |||
| Headers: header | |||
| }; | |||
| // response = res.body; | |||
| // Expect response headers:x-app,Content-Type | |||
| expect(res.statusCode).to.equal(200); | |||
| const resBody = JSON.parse(res.body); | |||
| response = resBody; | |||
| console.log(resBody) | |||
| testData["id"] = resBody.data.userAccounts[0].id; | |||
| console.log("testData[\"id\"]", testData["id"]) | |||
| done(); | |||
| }); | |||
| }, 1000); | |||
| } catch (e) { | |||
| done(e); | |||
| } | |||
| }); | |||
| it('Case 02: Get subscription => Success', (done) => { | |||
| try { | |||
| setTimeout(() => {//Wait syncTimeAPI*1000 seconds | |||
| // API_Env.get().headerSet.Authorization = "Bearer " + testData["token"]; | |||
| ApiReq.getSubscription(API_Env.get().headerSet, testData['id'], (res, url, header) => { | |||
| request = { | |||
| URL: url, | |||
| Headers: header | |||
| }; | |||
| // response = res.body; | |||
| // Expect response headers:x-app,Content-Type | |||
| expect(res.statusCode).to.equal(200); | |||
| const resBody = JSON.parse(res.body); | |||
| response = resBody; | |||
| console.log(resBody); | |||
| testData['subId'] = resBody.data.subscriptions[0].subscription.subscriptionId; | |||
| done(); | |||
| }); | |||
| }, 1000); | |||
| } catch (e) { | |||
| done(e); | |||
| } | |||
| }); | |||
| it('Case 03: cancel sub => Success', (done) => { | |||
| try { | |||
| setTimeout(() => {//Wait syncTimeAPI*1000 seconds | |||
| ApiReq.cancelSubscription(API_Env.get().headerSet, { | |||
| "subscriptionId": testData['subId'] | |||
| }, (res, url, header, bodyObject) => { | |||
| request = JSON.stringify(bodyObject); | |||
| request = { | |||
| URL: url, | |||
| Headers: header, | |||
| Body: JSON.parse(request) | |||
| }; | |||
| // response = res.body; | |||
| // Expect response headers:x-app,Content-Type | |||
| expect(res.statusCode).to.equal(200); | |||
| const resBody = JSON.parse(res.body); | |||
| response = resBody; | |||
| console.log(resBody) | |||
| // // token check | |||
| expect(resBody.code).to.equal(0); | |||
| done(); | |||
| }); | |||
| }, 1000); | |||
| } catch (e) { | |||
| done(e); | |||
| } | |||
| }); | |||
| it('case 05 - purchase a plan with wire transfer => Success ', (done) => { | |||
| (async () => { | |||
| try { | |||
| 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 userPlanPage.selectPlan(Driver, 'Month Plan'); | |||
| await baseStep.click(Driver, userPlanPage.wire_transfer); | |||
| await baseStep.click(Driver, userPlanPage.OK_btn); | |||
| await baseStep.wait(Driver, 1000); | |||
| await baseStep.click(Driver, userPlanPage.wire_transfer_no_finish); | |||
| await baseStep.wait(Driver, 2000); | |||
| await baseStep.click(Driver, userMySubPage.menu_my_subscription); | |||
| let actucl_status = await baseStep.getText(Driver, userMySubPage.sub_status); | |||
| expect("Pending").to.equal(actucl_status); | |||
| await baseStep.wait(Driver, 2000); | |||
| done(); | |||
| } catch (e) { | |||
| done(e); | |||
| } finally { | |||
| await Driver.quit(); | |||
| } | |||
| })(); | |||
| }); | |||
| it('case 06 - check sub 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, MerchantSubscriptionPage.menu_subscription); | |||
| await baseStep.wait(Driver, 2000); | |||
| await MerchantSubscriptionPage.selectSubByPlanName(Driver, "Month Plan"); | |||
| await baseStep.wait(Driver, 2000); | |||
| await expect(await baseStep.getText(Driver, MerchantSubscriptionPage.sub_status)).to.equal("Pending"); | |||
| await baseStep.screenShot(Driver, savaPath + '/07_pending.png'); | |||
| await baseStep.wait(Driver, 2000); | |||
| await baseStep.click(Driver, MerchantSubscriptionPage.mark_as_incomplete); | |||
| await baseStep.wait(Driver, 2000); | |||
| await MerchantSubscriptionPage.selectDate(Driver, 1); | |||
| await baseStep.click(Driver, MerchantSubscriptionPage.yes_btn); | |||
| await baseStep.wait(Driver, 2000); | |||
| await expect(await baseStep.getText(Driver, MerchantSubscriptionPage.sub_status)).to.equal("Incomplete"); | |||
| await baseStep.screenShot(Driver, savaPath + '/08_incomplete.png'); | |||
| 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('case05: change account info in subscription=> 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: Get User List => Success', (done) => { | |||
| try { | |||
| setTimeout(() => {//Wait syncTimeAPI*1000 seconds | |||
| // API_Env.get().headerSet.Authorization = "Bearer " + testData["token"]; | |||
| ApiReq.getUserList(API_Env.get().headerSet, urlencoded(testUser), (res, url, header) => { | |||
| request = { | |||
| URL: url, | |||
| Headers: header | |||
| }; | |||
| // response = res.body; | |||
| // Expect response headers:x-app,Content-Type | |||
| expect(res.statusCode).to.equal(200); | |||
| const resBody = JSON.parse(res.body); | |||
| response = resBody; | |||
| console.log(resBody) | |||
| testData["id"] = resBody.data.userAccounts[0].id; | |||
| console.log("testData[\"id\"]", testData["id"]) | |||
| done(); | |||
| }); | |||
| }, 1000); | |||
| } catch (e) { | |||
| done(e); | |||
| } | |||
| }); | |||
| it('Case 02: Get subscription => Success', (done) => { | |||
| try { | |||
| setTimeout(() => {//Wait syncTimeAPI*1000 seconds | |||
| // API_Env.get().headerSet.Authorization = "Bearer " + testData["token"]; | |||
| ApiReq.getSubscription(API_Env.get().headerSet, testData['id'], (res, url, header) => { | |||
| request = { | |||
| URL: url, | |||
| Headers: header | |||
| }; | |||
| // response = res.body; | |||
| // Expect response headers:x-app,Content-Type | |||
| expect(res.statusCode).to.equal(200); | |||
| const resBody = JSON.parse(res.body); | |||
| response = resBody; | |||
| console.log(resBody); | |||
| testData['subId'] = resBody.data.subscriptions[0].subscription.subscriptionId; | |||
| done(); | |||
| }); | |||
| }, 1000); | |||
| } catch (e) { | |||
| done(e); | |||
| } | |||
| }); | |||
| it('Case 03: cancel sub => Success', (done) => { | |||
| try { | |||
| setTimeout(() => {//Wait syncTimeAPI*1000 seconds | |||
| ApiReq.cancelSubscription(API_Env.get().headerSet, { | |||
| "subscriptionId": testData['subId'] | |||
| }, (res, url, header, bodyObject) => { | |||
| request = JSON.stringify(bodyObject); | |||
| request = { | |||
| URL: url, | |||
| Headers: header, | |||
| Body: JSON.parse(request) | |||
| }; | |||
| // response = res.body; | |||
| // Expect response headers:x-app,Content-Type | |||
| expect(res.statusCode).to.equal(200); | |||
| const resBody = JSON.parse(res.body); | |||
| response = resBody; | |||
| console.log(resBody) | |||
| // // token check | |||
| expect(resBody.code).to.equal(0); | |||
| done(); | |||
| }); | |||
| }, 1000); | |||
| } catch (e) { | |||
| done(e); | |||
| } | |||
| }); | |||
| it('case 05 - select a plan with Succeeded => 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, 3000); | |||
| await baseStep.click(Driver, userPlanPage.menu_plan); | |||
| await baseStep.waitUntilElement(Driver, userPlanPage.plan_page_sign, 20000); | |||
| await userPlanPage.selectPlan(Driver, 'Month Plan'); | |||
| await baseStep.waitUntilElement(Driver, userPlanPage.bank_card, 20000); | |||
| await baseStep.click(Driver, userPlanPage.bank_card); | |||
| await baseStep.click(Driver, userPlanPage.OK_btn); | |||
| await baseStep.wait(Driver, 5000); | |||
| await baseStep.switchWindow(Driver); | |||
| await baseStep.waitUntilElement(Driver, userPlanPage.change_card_btn, 200000); | |||
| 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, 50000); | |||
| let actual_success_text = await baseStep.getText(Driver, userPlanPage.payment_success_sign); | |||
| await expect("Payment succeeded!").to.equal(actual_success_text); | |||
| await baseStep.wait(Driver, 3000); | |||
| done(); | |||
| } catch (e) { | |||
| done(e); | |||
| } finally { | |||
| await Driver.quit(); | |||
| } | |||
| })(); | |||
| }); | |||
| it('case 06 - change account info 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, MerchantSubscriptionPage.menu_subscription); | |||
| await baseStep.wait(Driver, 2000); | |||
| await MerchantSubscriptionPage.selectSubByPlanName(Driver, "Month Plan"); | |||
| await baseStep.wait(Driver, 2000); | |||
| await baseStep.click(Driver, MerchantSubscriptionPage.account_tab); | |||
| await baseStep.wait(Driver, 2000); | |||
| await baseStep.inputWithClear(Driver, userListPage.account_billing_address, "update address" + new Date().getTime()); | |||
| await baseStep.screenShot(Driver, savaPath + "/09_Edit_result.png"); | |||
| await baseStep.scrollIntoView(Driver, userListPage.save_btn); | |||
| await baseStep.click(Driver, userListPage.save_btn); | |||
| await baseStep.wait(Driver, 1000); | |||
| 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('case06: create an invoice in subscription=> 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: Get User List => Success', (done) => { | |||
| try { | |||
| setTimeout(() => {//Wait syncTimeAPI*1000 seconds | |||
| // API_Env.get().headerSet.Authorization = "Bearer " + testData["token"]; | |||
| ApiReq.getUserList(API_Env.get().headerSet, urlencoded(testUser), (res, url, header) => { | |||
| request = { | |||
| URL: url, | |||
| Headers: header | |||
| }; | |||
| // response = res.body; | |||
| // Expect response headers:x-app,Content-Type | |||
| expect(res.statusCode).to.equal(200); | |||
| const resBody = JSON.parse(res.body); | |||
| response = resBody; | |||
| console.log(resBody) | |||
| testData["id"] = resBody.data.userAccounts[0].id; | |||
| console.log("testData[\"id\"]", testData["id"]) | |||
| done(); | |||
| }); | |||
| }, 1000); | |||
| } catch (e) { | |||
| done(e); | |||
| } | |||
| }); | |||
| it('Case 02: Get subscription => Success', (done) => { | |||
| try { | |||
| setTimeout(() => {//Wait syncTimeAPI*1000 seconds | |||
| // API_Env.get().headerSet.Authorization = "Bearer " + testData["token"]; | |||
| ApiReq.getSubscription(API_Env.get().headerSet, testData['id'], (res, url, header) => { | |||
| request = { | |||
| URL: url, | |||
| Headers: header | |||
| }; | |||
| // response = res.body; | |||
| // Expect response headers:x-app,Content-Type | |||
| expect(res.statusCode).to.equal(200); | |||
| const resBody = JSON.parse(res.body); | |||
| response = resBody; | |||
| console.log(resBody); | |||
| testData['subId'] = resBody.data.subscriptions[0].subscription.subscriptionId; | |||
| done(); | |||
| }); | |||
| }, 1000); | |||
| } catch (e) { | |||
| done(e); | |||
| } | |||
| }); | |||
| it('Case 03: cancel sub => Success', (done) => { | |||
| try { | |||
| setTimeout(() => {//Wait syncTimeAPI*1000 seconds | |||
| ApiReq.cancelSubscription(API_Env.get().headerSet, { | |||
| "subscriptionId": testData['subId'] | |||
| }, (res, url, header, bodyObject) => { | |||
| request = JSON.stringify(bodyObject); | |||
| request = { | |||
| URL: url, | |||
| Headers: header, | |||
| Body: JSON.parse(request) | |||
| }; | |||
| // response = res.body; | |||
| // Expect response headers:x-app,Content-Type | |||
| expect(res.statusCode).to.equal(200); | |||
| const resBody = JSON.parse(res.body); | |||
| response = resBody; | |||
| console.log(resBody) | |||
| // // token check | |||
| expect(resBody.code).to.equal(0); | |||
| done(); | |||
| }); | |||
| }, 1000); | |||
| } catch (e) { | |||
| done(e); | |||
| } | |||
| }); | |||
| it('case 04 - change account info 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, MerchantSubscriptionPage.menu_subscription); | |||
| await baseStep.wait(Driver, 2000); | |||
| await MerchantSubscriptionPage.selectSubByPlanName(Driver, "Month Plan"); | |||
| await baseStep.wait(Driver, 2000); | |||
| await baseStep.click(Driver, MerchantSubscriptionPage.Invoices_tab); | |||
| await baseStep.wait(Driver, 2000); | |||
| await baseStep.click(Driver, MerchantSubscriptionPage.create_invoice_btn); | |||
| await baseStep.wait(Driver, 1000); | |||
| await baseStep.input(Driver, MerchantSubscriptionPage.tax_rate, "0"); | |||
| await baseStep.input(Driver, MerchantSubscriptionPage.invoice_title, "auto create"); | |||
| await baseStep.input(Driver, MerchantSubscriptionPage.item_description, "auto create description"); | |||
| await baseStep.input(Driver, MerchantSubscriptionPage.amount, "20"); | |||
| await baseStep.screenShot(Driver, savaPath + "/10_create_invoice.png"); | |||
| await baseStep.click(Driver, MerchantSubscriptionPage.create_invoice_create_btn); | |||
| await baseStep.wait(Driver, 2000); | |||
| done(); | |||
| } catch (e) { | |||
| done(e); | |||
| } finally { | |||
| await Driver.quit(); | |||
| } | |||
| })(); | |||
| }); | |||
| it('case 05 - check invoice 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, merchantInvoicePage.menu_Invoice); | |||
| await baseStep.screenShot(Driver, savaPath + '/11_InvoiceDetail.jpeg'); | |||
| await merchantInvoicePage.checkRecordInvoiceList(Driver, "€20\n(tax: €0)", "Invoice", "Processing", "Stripe", testUser); | |||
| 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); | |||
| }); | |||
| }); | |||
| ... | ... |
| ... | @@ -26,7 +26,7 @@ let Driver; | ... | @@ -26,7 +26,7 @@ let Driver; |
| let savaPath = __dirname + "/../../Report/Web/ScreenShot/09_user_list/" + baseStep.getDateFormat(new Date(), "YYYY-MM-DD_HH:mm:ss"); | let savaPath = __dirname + "/../../Report/Web/ScreenShot/09_user_list/" + baseStep.getDateFormat(new Date(), "YYYY-MM-DD_HH:mm:ss"); | ||
| let testData = []; | let testData = []; | ||
| let testUser = "[email protected]"; | let testUser = "[email protected]"; | ||
| describe('case01: add user in user list=> Success', function () { | describe('case01: add user in user list and suspend=> Success', function () { | ||
| this.timeout(9000000); | this.timeout(9000000); | ||
| beforeEach(function () { | beforeEach(function () { | ||
| ... | @@ -667,7 +667,7 @@ describe('case08:Set country and vat number in user list=> Success', function () | ... | @@ -667,7 +667,7 @@ describe('case08:Set country and vat number in user list=> Success', function () |
| }); | }); | ||
| it('case 01 - wrong vat number => Success ', (done) => { | it('case 01 - vat number and country=> Success ', (done) => { | ||
| (async () => { | (async () => { | ||
| try { | try { | ||
| // login | // login | ||
| ... | @@ -698,8 +698,6 @@ describe('case08:Set country and vat number in user list=> Success', function () | ... | @@ -698,8 +698,6 @@ describe('case08:Set country and vat number in user list=> Success', function () |
| await baseStep.scrollIntoView(Driver, userListPage.save_btn); | await baseStep.scrollIntoView(Driver, userListPage.save_btn); | ||
| await baseStep.click(Driver, userListPage.save_btn); | await baseStep.click(Driver, userListPage.save_btn); | ||
| await baseStep.wait(Driver, 1000); | await baseStep.wait(Driver, 1000); | ||
| expect(await baseStep.getText(Driver, userListPage.vat_error_message)).not.null | |||
| await baseStep.wait(Driver, 3000); | |||
| done(); | done(); | ||
| } catch (e) { | } catch (e) { | ||
| done(e); | done(e); | ||
| ... | @@ -809,6 +807,197 @@ describe('case09: set wrong country in user list=> Success', function () { | ... | @@ -809,6 +807,197 @@ describe('case09: set wrong country in user list=> Success', function () { |
| }); | }); | ||
| describe('case10: Assign an unpublished subscription 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 - Assign a sub => 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.click(Driver, userListPage.add_new_btn); | |||
| await baseStep.wait(Driver, 2000); | |||
| let time = new Date().getTime(); | |||
| await baseStep.input(Driver, userListPage.new_email, "Auto" + time + "@test.com"); | |||
| await baseStep.input(Driver, userListPage.new_ex_user_id, time); | |||
| await baseStep.input(Driver, userListPage.new_first_name, "Testing"); | |||
| 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.click(Driver, userListPage.new_OK_btn); | |||
| await baseStep.wait(Driver, 1000); | |||
| await userListPage.checkRecordUserList(Driver, "Testing QA" + time, "Auto" + time + "@test.com", "Active"); | |||
| await baseStep.click(Driver, userListPage.subscription_tab); | |||
| await baseStep.wait(Driver, 1000); | |||
| await baseStep.click(Driver, userListPage.assign_sub_btn); | |||
| await baseStep.wait(Driver, 1000); | |||
| await baseStep.click(Driver, userListPage.include_unpublished_plan); | |||
| await baseStep.wait(Driver, 1000); | |||
| await userListPage.selectTargetPlan(Driver, "UnPublish Plan"); | |||
| await baseStep.wait(Driver, 1000); | |||
| await baseStep.click(Driver, userListPage.assign_wire_transfer); | |||
| await baseStep.wait(Driver, 1000); | |||
| await baseStep.screenShot(Driver, savaPath + "/15_assign_sub.png"); | |||
| await baseStep.click(Driver, userListPage.assign_OK_btn); | |||
| await baseStep.wait(Driver, 3000); | |||
| await baseStep.screenShot(Driver, savaPath + "/16_assign_result.png"); | |||
| await baseStep.compareText(Driver, userListPage.current_plan, "UnPublish Plan"); | |||
| 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: Assign subscription with require payment is false=> 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 - Assign a sub => 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.click(Driver, userListPage.add_new_btn); | |||
| await baseStep.wait(Driver, 2000); | |||
| let time = new Date().getTime(); | |||
| await baseStep.input(Driver, userListPage.new_email, "Auto" + time + "@test.com"); | |||
| await baseStep.input(Driver, userListPage.new_ex_user_id, time); | |||
| await baseStep.input(Driver, userListPage.new_first_name, "Testing"); | |||
| 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.click(Driver, userListPage.new_OK_btn); | |||
| await baseStep.wait(Driver, 1000); | |||
| await userListPage.checkRecordUserList(Driver, "Testing QA" + time, "Auto" + time + "@test.com", "Active"); | |||
| await baseStep.click(Driver, userListPage.subscription_tab); | |||
| await baseStep.wait(Driver, 1000); | |||
| await baseStep.click(Driver, userListPage.assign_sub_btn); | |||
| await baseStep.wait(Driver, 1000); | |||
| await userListPage.selectTargetPlan(Driver, "Month Plan"); | |||
| await baseStep.click(Driver, userListPage.require_payment); | |||
| await baseStep.wait(Driver, 1000); | |||
| await baseStep.screenShot(Driver, savaPath + "/18_assign_sub.png"); | |||
| await baseStep.click(Driver, userListPage.assign_OK_btn); | |||
| await baseStep.wait(Driver, 3000); | |||
| await baseStep.screenShot(Driver, savaPath + "/19_assign_result.png"); | |||
| await baseStep.compareText(Driver, userListPage.current_plan, "Month Plan"); | |||
| await baseStep.compareText(Driver, userListPage.current_plan_des, "Month Plan"); | |||
| 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); | |||
| }); | |||
| }); | |||
| ... | ... |
| let loginPage = require("../../PageObject/LoginPage"); | |||
| let userPlanPage = require("../../PageObject/UserPlanPage"); | |||
| let userMySubPage = require("../../PageObject/UserMySubPage"); | |||
| let userInvoicePage = require("../../PageObject/UserInvoicePage") | |||
| let merchantTransactionPage = require("../../PageObject/MerchantTransactionPage") | |||
| let merchantMyAccount = require("../../PageObject/MerchantMyAccountPage") | |||
| let searchBarPage = require("../../PageObject/MerchantSearchBarPage") | |||
| let userListPage = require("../../PageObject/MerchantUserListPage") | |||
| const urlencoded = require('urlencode'); | |||
| const webdriver = require('selenium-webdriver'); | |||
| const By = webdriver.By; | |||
| const driver = require('../../../CommonStep/Web/seleniumWebDriver'); | |||
| 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 addContext = require('mochawesome/addContext'); | |||
| const {expect} = require("chai"); | |||
| const {wait} = require("../../../CommonStep/Web/Web_Common_Step"); | |||
| const merchantInvoicePage = require("../../PageObject/MerchantInvoicePage"); | |||
| let request; | |||
| let response; | |||
| let timeStamp = new Date(); | |||
| let Driver; | |||
| let savaPath = __dirname + "/../../Report/Web/ScreenShot/11_search_bar/" + baseStep.getDateFormat(new Date(), "YYYY-MM-DD_HH:mm:ss"); | |||
| let testData = []; | |||
| let testUser = "[email protected]"; | |||
| describe('case01: logout=> 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 - logout => Success ', (done) => { | |||
| (async () => { | |||
| try { | |||
| // login | |||
| Driver = driver.getDriver(webdriver, 'chrome'); | |||
| // Check Url | |||
| await loginPage.openMerchantUrl(Driver); | |||
| const currentUrl = await Driver.getCurrentUrl(); | |||
| await loginPage.loginMerchant(Driver); | |||
| await baseStep.wait(Driver, 3000); | |||
| await baseStep.screenShot(Driver, savaPath + '/01_Login.jpeg'); | |||
| await baseStep.click(Driver, searchBarPage.logout_btn); | |||
| await baseStep.wait(Driver, 1000); | |||
| await baseStep.screenShot(Driver, savaPath + '/02_Logout.jpeg'); | |||
| expect(await loginPage.email).to.be.exist | |||
| 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('case02: search bar => 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 02 - search invoice => Success ', (done) => { | |||
| (async () => { | |||
| try { | |||
| // login | |||
| Driver = driver.getDriver(webdriver, 'chrome'); | |||
| // Check Url | |||
| await loginPage.openMerchantUrl(Driver); | |||
| const currentUrl = await Driver.getCurrentUrl(); | |||
| await loginPage.loginMerchant(Driver); | |||
| await baseStep.wait(Driver, 3000); | |||
| await baseStep.input(Driver, searchBarPage.search_bar, "81728528183713"); | |||
| await baseStep.click(Driver, searchBarPage.search_btn); | |||
| await baseStep.wait(Driver, 1000); | |||
| await baseStep.screenShot(Driver, savaPath + '/03_Search.jpeg'); | |||
| await baseStep.click(Driver, searchBarPage.first_record_under_invoice); | |||
| await baseStep.wait(Driver, 3000); | |||
| await baseStep.screenShot(Driver, savaPath + '/04_invoice_opened.jpeg'); | |||
| expect(await baseStep.getText(Driver, merchantInvoicePage.invoice_name)).to.equal("SubscriptionCreate"); | |||
| expect(await baseStep.getText(Driver, merchantInvoicePage.invoice_amount)).to.equal("€24 (20% tax incl)"); | |||
| expect(await baseStep.getText(Driver, merchantInvoicePage.status)).to.equal("Paid"); | |||
| expect(await baseStep.getText(Driver, merchantInvoicePage.subscription_id)).not.null; | |||
| expect(await baseStep.getText(Driver, merchantInvoicePage.payment_gateway)).to.equal("Stripe"); | |||
| await baseStep.click(Driver, searchBarPage.search_btn); | |||
| await baseStep.wait(Driver, 1000); | |||
| await baseStep.click(Driver, searchBarPage.first_record_under_customer); | |||
| await baseStep.wait(Driver, 1000); | |||
| await baseStep.screenShot(Driver, savaPath + '/05_userInfo_opened.jpeg'); | |||
| expect(await baseStep.getText(Driver, userListPage.info_email)).to.equal(testUser); | |||
| 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('case03: search bar => 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 - search user email => Success ', (done) => { | |||
| (async () => { | |||
| try { | |||
| // login | |||
| Driver = driver.getDriver(webdriver, 'chrome'); | |||
| // Check Url | |||
| await loginPage.openMerchantUrl(Driver); | |||
| const currentUrl = await Driver.getCurrentUrl(); | |||
| await loginPage.loginMerchant(Driver); | |||
| await baseStep.wait(Driver, 3000); | |||
| await baseStep.input(Driver, searchBarPage.search_bar, testUser); | |||
| await baseStep.click(Driver, searchBarPage.search_btn); | |||
| await baseStep.wait(Driver, 1000); | |||
| await baseStep.screenShot(Driver, savaPath + '/03_Search.jpeg'); | |||
| await baseStep.click(Driver, searchBarPage.first_record_under_invoice); | |||
| await baseStep.wait(Driver, 3000); | |||
| await baseStep.screenShot(Driver, savaPath + '/04_invoice_opened.jpeg'); | |||
| expect(await baseStep.getText(Driver, merchantInvoicePage.subscription_id)).not.null; | |||
| await baseStep.click(Driver, searchBarPage.search_btn); | |||
| await baseStep.wait(Driver, 1000); | |||
| await baseStep.click(Driver, searchBarPage.first_record_under_customer); | |||
| await baseStep.wait(Driver, 1000); | |||
| await baseStep.screenShot(Driver, savaPath + '/05_userInfo_opened.jpeg'); | |||
| expect(await baseStep.getText(Driver, userListPage.info_email)).to.equal(testUser); | |||
| 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); | |||
| }); | |||
| }); | |||
| let loginPage = require("../../PageObject/LoginPage"); | |||
| let planPage = require("../../PageObject/MerchantPlanPage"); | |||
| const webdriver = require('selenium-webdriver'); | |||
| const By = webdriver.By; | |||
| const driver = require('../../../CommonStep/Web/seleniumWebDriver'); | |||
| const baseStep = require('../../../CommonStep/Web/Web_Common_Step'); | |||
| const addContext = require('mochawesome/addContext'); | |||
| const {expect} = require("chai"); | |||
| 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 urlencoded = require("urlencode"); | |||
| const userPlanPage = require("../../PageObject/UserPlanPage"); | |||
| const userSubPage = require("../../PageObject/UserMySubPage"); | |||
| let request; | |||
| let response; | |||
| let timeStamp = new Date(); | |||
| let Driver; | |||
| let savaPath = __dirname + "/../../Report/Web/ScreenShot/08_MySubscription" + baseStep.getDateFormat(new Date(), "YYYY-MM-DD_HH:mm:ss"); | |||
| testData = []; | |||
| let testUser = "[email protected]"; | |||
| describe('case01: Click link to jump to the corresponding product=> 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 subscription list => 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, userSubPage.menu_my_subscription); | |||
| await baseStep.click(Driver, userPlanPage.menu_plan); | |||
| await baseStep.click(Driver, userSubPage.menu_my_subscription); | |||
| await baseStep.wait(Driver, 3000); | |||
| await userSubPage.selectProduct(Driver, "Link Product"); | |||
| await baseStep.wait(Driver, 2000); | |||
| await baseStep.screenShot(Driver, savaPath + "/01_Link.jpeg"); | |||
| await baseStep.wait(Driver, 1000); | |||
| await baseStep.click(Driver, userSubPage.go_to_choose_one); | |||
| await baseStep.wait(Driver, 2000); | |||
| await baseStep.screenShot(Driver, savaPath + "/02_Link_product.jpeg"); | |||
| expect("true").to.equal(await userSubPage.isProductSelected(Driver, "Link Product")); | |||
| 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('case02: change plan=> 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: Get User List => Success', (done) => { | |||
| try { | |||
| setTimeout(() => {//Wait syncTimeAPI*1000 seconds | |||
| // API_Env.get().headerSet.Authorization = "Bearer " + testData["token"]; | |||
| ApiReq.getUserList(API_Env.get().headerSet, urlencoded(testUser), (res, url, header) => { | |||
| request = { | |||
| URL: url, | |||
| Headers: header | |||
| }; | |||
| // response = res.body; | |||
| // Expect response headers:x-app,Content-Type | |||
| expect(res.statusCode).to.equal(200); | |||
| const resBody = JSON.parse(res.body); | |||
| response = resBody; | |||
| console.log(resBody) | |||
| testData["id"] = resBody.data.userAccounts[0].id; | |||
| console.log("testData[\"id\"]", testData["id"]) | |||
| done(); | |||
| }); | |||
| }, 1000); | |||
| } catch (e) { | |||
| done(e); | |||
| } | |||
| }); | |||
| it('Case 02: Get subscription => Success', (done) => { | |||
| try { | |||
| setTimeout(() => {//Wait syncTimeAPI*1000 seconds | |||
| // API_Env.get().headerSet.Authorization = "Bearer " + testData["token"]; | |||
| ApiReq.getSubscription(API_Env.get().headerSet, testData['id'], (res, url, header) => { | |||
| request = { | |||
| URL: url, | |||
| Headers: header | |||
| }; | |||
| // response = res.body; | |||
| // Expect response headers:x-app,Content-Type | |||
| expect(res.statusCode).to.equal(200); | |||
| const resBody = JSON.parse(res.body); | |||
| response = resBody; | |||
| console.log(resBody); | |||
| testData['subId'] = resBody.data.subscriptions[0].user.subscriptionId; | |||
| done(); | |||
| }); | |||
| }, 1000); | |||
| } catch (e) { | |||
| done(e); | |||
| } | |||
| }); | |||
| it('Case 03: cancel sub => Success', (done) => { | |||
| try { | |||
| setTimeout(() => {//Wait syncTimeAPI*1000 seconds | |||
| ApiReq.cancelSubscription(API_Env.get().headerSet, { | |||
| "subscriptionId": testData['subId'] | |||
| }, (res, url, header, bodyObject) => { | |||
| request = JSON.stringify(bodyObject); | |||
| request = { | |||
| URL: url, | |||
| Headers: header, | |||
| Body: JSON.parse(request) | |||
| }; | |||
| // response = res.body; | |||
| // Expect response headers:x-app,Content-Type | |||
| expect(res.statusCode).to.equal(200); | |||
| const resBody = JSON.parse(res.body); | |||
| response = resBody; | |||
| console.log(resBody) | |||
| // // token check | |||
| expect(resBody.code).to.equal(0); | |||
| done(); | |||
| }); | |||
| }, 1000); | |||
| } catch (e) { | |||
| done(e); | |||
| } | |||
| }); | |||
| it('case 04 - 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 userPlanPage.selectPlan(Driver, 'Month Plan'); | |||
| await baseStep.click(Driver, userPlanPage.bank_card); | |||
| await baseStep.click(Driver, userPlanPage.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 expect("Payment succeeded!").to.equal(actual_success_text); | |||
| await baseStep.wait(Driver, 3000); | |||
| done(); | |||
| } catch (e) { | |||
| done(e); | |||
| } finally { | |||
| await Driver.quit(); | |||
| } | |||
| })(); | |||
| }); | |||
| it('case 05 - change 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, userSubPage.menu_my_subscription); | |||
| await baseStep.wait(Driver, 3000); | |||
| await baseStep.click(Driver, userSubPage.change_plan_btn); | |||
| await baseStep.waitUntilElement(Driver, userPlanPage.plan_page_sign, 20000); | |||
| await userPlanPage.selectPlan(Driver, 'Update Plan'); | |||
| await baseStep.screenShot(Driver, savaPath + "/03_Update_plan.png"); | |||
| await baseStep.click(Driver, userPlanPage.OK_confirm); | |||
| 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('case03: cancel plan and resume=> 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: Get User List => Success', (done) => { | |||
| try { | |||
| setTimeout(() => {//Wait syncTimeAPI*1000 seconds | |||
| // API_Env.get().headerSet.Authorization = "Bearer " + testData["token"]; | |||
| ApiReq.getUserList(API_Env.get().headerSet, urlencoded(testUser), (res, url, header) => { | |||
| request = { | |||
| URL: url, | |||
| Headers: header | |||
| }; | |||
| // response = res.body; | |||
| // Expect response headers:x-app,Content-Type | |||
| expect(res.statusCode).to.equal(200); | |||
| const resBody = JSON.parse(res.body); | |||
| response = resBody; | |||
| console.log(resBody) | |||
| testData["id"] = resBody.data.userAccounts[0].id; | |||
| console.log("testData[\"id\"]", testData["id"]) | |||
| done(); | |||
| }); | |||
| }, 1000); | |||
| } catch (e) { | |||
| done(e); | |||
| } | |||
| }); | |||
| it('Case 02: Get subscription => Success', (done) => { | |||
| try { | |||
| setTimeout(() => {//Wait syncTimeAPI*1000 seconds | |||
| // API_Env.get().headerSet.Authorization = "Bearer " + testData["token"]; | |||
| ApiReq.getSubscription(API_Env.get().headerSet, testData['id'], (res, url, header) => { | |||
| request = { | |||
| URL: url, | |||
| Headers: header | |||
| }; | |||
| // response = res.body; | |||
| // Expect response headers:x-app,Content-Type | |||
| expect(res.statusCode).to.equal(200); | |||
| const resBody = JSON.parse(res.body); | |||
| response = resBody; | |||
| console.log(resBody); | |||
| testData['subId'] = resBody.data.subscriptions[0].user.subscriptionId; | |||
| done(); | |||
| }); | |||
| }, 1000); | |||
| } catch (e) { | |||
| done(e); | |||
| } | |||
| }); | |||
| it('Case 03: cancel sub => Success', (done) => { | |||
| try { | |||
| setTimeout(() => {//Wait syncTimeAPI*1000 seconds | |||
| ApiReq.cancelSubscription(API_Env.get().headerSet, { | |||
| "subscriptionId": testData['subId'] | |||
| }, (res, url, header, bodyObject) => { | |||
| request = JSON.stringify(bodyObject); | |||
| request = { | |||
| URL: url, | |||
| Headers: header, | |||
| Body: JSON.parse(request) | |||
| }; | |||
| // response = res.body; | |||
| // Expect response headers:x-app,Content-Type | |||
| expect(res.statusCode).to.equal(200); | |||
| const resBody = JSON.parse(res.body); | |||
| response = resBody; | |||
| console.log(resBody) | |||
| // // token check | |||
| expect(resBody.code).to.equal(0); | |||
| done(); | |||
| }); | |||
| }, 1000); | |||
| } catch (e) { | |||
| done(e); | |||
| } | |||
| }); | |||
| it('case 04 - 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 userPlanPage.selectPlan(Driver, 'Month Plan'); | |||
| await baseStep.click(Driver, userPlanPage.bank_card); | |||
| await baseStep.click(Driver, userPlanPage.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 expect("Payment succeeded!").to.equal(actual_success_text); | |||
| await baseStep.wait(Driver, 3000); | |||
| done(); | |||
| } catch (e) { | |||
| done(e); | |||
| } finally { | |||
| await Driver.quit(); | |||
| } | |||
| })(); | |||
| }); | |||
| it('case 05 - cancel 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, userSubPage.menu_my_subscription); | |||
| await baseStep.wait(Driver, 3000); | |||
| await baseStep.click(Driver, userSubPage.End_Subscription_btn); | |||
| await baseStep.wait(Driver, 1000); | |||
| await baseStep.click(Driver, userSubPage.OK_btn); | |||
| await baseStep.screenShot(Driver, savaPath + "/04_cancel_plan.png"); | |||
| await baseStep.wait(Driver, 3000); | |||
| await baseStep.click(Driver, userSubPage.resume_btn); | |||
| await baseStep.wait(Driver, 3000); | |||
| await baseStep.screenShot(Driver, savaPath + "/05_resume_plan.png"); | |||
| await baseStep.click(Driver, userPlanPage.OK_confirm); | |||
| 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); | |||
| }); | |||
| }); | |||
| let loginPage = require("../../PageObject/LoginPage"); | |||
| const webdriver = require('selenium-webdriver'); | |||
| const By = webdriver.By; | |||
| const driver = require('../../../CommonStep/Web/seleniumWebDriver'); | |||
| const baseStep = require('../../../CommonStep/Web/Web_Common_Step'); | |||
| const addContext = require('mochawesome/addContext'); | |||
| const {expect} = require("chai"); | |||
| const searchBarPage = require("../../PageObject/MerchantSearchBarPage"); | |||
| let request; | |||
| let response; | |||
| let timeStamp = new Date(); | |||
| let Driver; | |||
| let savaPath = __dirname + "/../../Report/Web/ScreenShot/01_Login_user/" + baseStep.getDateFormat(new Date(),"YYYY-MM-DD_HH:mm:ss"); | |||
| describe('case01: Logout in User 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 - Login => Success ', (done) => { | |||
| (async () => { | |||
| try { | |||
| // login | |||
| Driver = driver.getDriver(webdriver, 'chrome'); | |||
| // Check Url | |||
| // await loginPage.openUserUrl(Driver,"http://unibee:[email protected]/"); | |||
| await loginPage.openUserUrl(Driver); | |||
| const currentUrl = await Driver.getCurrentUrl(); | |||
| console.log('当前网址:', currentUrl); | |||
| await baseStep.waitUntilElement(Driver, loginPage.user_email,20000); | |||
| await baseStep.input(Driver, loginPage.user_email, "[email protected]"); | |||
| await baseStep.wait(Driver, 2000); | |||
| await baseStep.input(Driver,loginPage.user_password, 'Aa@666666'); | |||
| await baseStep.wait(Driver, 2000); | |||
| await baseStep.screenShot(Driver,savaPath + '/01_login.jpeg'); | |||
| await baseStep.click(Driver, loginPage.submitBtn); | |||
| await baseStep.wait(Driver, 2000); | |||
| await baseStep.screenShot(Driver,savaPath + '/02_Menu.jpeg'); | |||
| await baseStep.wait(Driver, 2000); | |||
| await baseStep.click(Driver, loginPage.logout_btn); | |||
| await baseStep.wait(Driver, 1000); | |||
| await baseStep.screenShot(Driver, savaPath + '/02_Logout.jpeg'); | |||
| expect(await loginPage.user_email).to.be.exist | |||
| done(); | |||
| } | |||
| catch (e) { | |||
| done(e); | |||
| }finally { | |||
| Driver.quit(); | |||
| } | |||
| })(); | |||
| }); | |||
| it('Delay 5 seconds ', (done) => { | |||
| setTimeout(() => {// TODO Need wait about syncTimeAPI second after last operation | |||
| done(); | |||
| }, 5000); | |||
| }); | |||
| }); | |||
Please
register
or
sign in
to comment