add cases
Showing
| ... | ... | @@ -14,6 +14,8 @@ class Login_Page { |
| user_password_empty_error = '//*[@id="login-with-password_password_help"]/div[1]' | ||
| error_message = '//input[@id="login-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]/ | ||
| openMerchantUrl = async function (driver, url = 'http://unibee:[email protected]/'){ | ||
| console.log("Open URL: " + url); | ||
| ... | ... |
This diff is collapsed.
| ... | ... | @@ -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 testData = []; | ||
| 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); | ||
| beforeEach(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 () => { | ||
| try { | ||
| // login | ||
| ... | ... | @@ -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.click(Driver, userListPage.save_btn); | ||
| await baseStep.wait(Driver, 1000); | ||
| expect(await baseStep.getText(Driver, userListPage.vat_error_message)).not.null | ||
| await baseStep.wait(Driver, 3000); | ||
| done(); | ||
| } catch (e) { | ||
| done(e); | ||
| ... | ... | @@ -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); | ||
| }); | ||
| }); | ||
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
| 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