Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. "use strict";
  2.  
  3. //Functions
  4. const Helpers = require("../helpers/helpers.js");
  5.  
  6. module.exports = {
  7.   appBar: 'app-bar>div.desktop',
  8.   navMenu: 'div.desktop>nav.menu',
  9.   bookBtn: '//div[@class="desktop"]//button[1]',
  10.   historyBtn: '//div[@class="desktop"]//button[2]',
  11.   cheatsBtn: '//div[@class="desktop"]//button[@class="menu-button ng-star-inserted"]',
  12.   fontsBtn: '//div[@class="desktop"]//button[@class="toggle-button"]',
  13.   userBtn: '//button//span[@class="user-name"]',
  14.   helpBtn: 'div.user-menu>button.menu-button:nth-child(2)',
  15.   logoutBtn: 'div.user-menu>button.logout',
  16.   statusField: 'div.reading-status>reading-status-heading',
  17.   listeningIcon: 'div.reading-status>reading-status-heading>div.heading-icon.listening',
  18.   readingIcon: 'div.reading-status>reading-status-heading>div.heading-icon.reading',
  19.  
  20.   listeningStatus: '//div[contains(@class,"reading-status")]//div[contains(@class,"listening")]',
  21.   readingStatus: '//div[contains(@class,"reading-status")]//div[contains(@class,"reading")]',
  22.  
  23.   question: (text) => `//h2[contains(text(),"${text}")]`,
  24.   answer: (text) => `//button[contains(text(),"${text}")]`,
  25.  
  26.   spinner: 'svg.spinner',
  27.   bookFrame: 'iframe.iframe-fixed',
  28.   bookHeading: 'h2',
  29.  
  30.   chapterList: 'ol',
  31.   chapter: (number) => `li:nth-child(${number})>a`,
  32.   chapterTitle: '//div[@class="chapter-label"]',
  33.   chapterHeader: (number) => `//*[contains(text(),"CHAPTER ${number}")]`,
  34.   selectChapter: (num) => `//*[text()="chapter_${num}"]`,
  35.   hardCodeChapter1: '//*[@href="chapter_1.xhtml"]',
  36.  
  37.   modal: 'div.modal',
  38.   modalHeader: '#rcq-header-question',
  39.   modalLegend: '//div[@class="modal"]//legend',
  40.   modalLabel: (number) => `//div[@class="modal"]//label[${number}]`,
  41.   modalTitle: 'div.modal>div.title',
  42.   modalClose: 'div.modal>div.title>div.close',
  43.   modalBody: 'div.modal>div.body',
  44.   modalDismissBtn: 'div.modal>div.controls>button.dismiss',
  45.   modalSubmitBtn: 'div.modal>div.controls>button.confirm',
  46.   modalConfirmBtn: 'div.modal>div.controls>button.confirm',
  47.   startReading: '//button[text()="Start reading"]',
  48.   answerBtn: (number) => `//button[contains(@class, "answer")][${number}]`,
  49.  
  50.   resetUserState: '//button[text()="Reset user state"]',
  51.   finishTurn: '//button[text()="Finish turn"]',
  52.  
  53.   play: 'button.play',
  54.   pause: 'button.pause',
  55.   stop: 'button.stop',
  56.   rewind: 'button.rewind',
  57.   replay: 'button.replay',
  58.  
  59.   userMenuBtn: (btn) => `//div[@class="desktop"]//button[contains(text(),"${btn}")]`,
  60.  
  61.   doNotAskAgainTgl: '//label/input[@type="checkbox"]',
  62.   chapterNumber: 'h2.chapter-header:nth-child(4) ',
  63.   //chapterTitle: 'span#f000002',
  64.  
  65.   progress: 'div.percentage',
  66.  
  67.   awaitLoad() {
  68.     waitFor(this.appBar);
  69.   },
  70.  
  71.   logout() {
  72.     waitAndClick(this.userBtn);
  73.     waitAndClick(this.userMenuBtn("Log Out"));
  74.   },
  75.  
  76.   resetuserstate() {
  77.     waitAndClick(this.cheatsBtn);
  78.     waitAndClick(this.resetUserState);
  79.   },
  80.  
  81.   finishNaratorTurn() {
  82.     waitAndClick(this.cheatsBtn);
  83.     waitAndClick(this.finishTurn);
  84.   },
  85.  
  86.   useCheat(cheat) {
  87.     waitAndClick(Helpers.desktopHeaderBtns("Cheats"));
  88.     waitAndClick(Helpers.primaryButton(cheat));
  89.   },
  90.  
  91.   skipToLastChapter() {
  92.     waitAndClick(this.cheatsBtn);
  93.     waitAndClick()
  94.   },
  95.  
  96.   answerRCQ(number) {
  97.     waitAndClick(this.answerBtn(number));
  98.     waitAndClick(this.modalSubmitBtn);
  99.     waitAndClick(this.modalSubmitBtn);
  100.   },
  101.  
  102.   startReadingOrListening() {
  103.     if ($(Helpers.popUpTitle("Prepare to listen")).isDisplayed()) {
  104.       $(Helpers.primaryButton("OK")).click();
  105.     } else {
  106.       $(Helpers.primaryButton("Start reading")).click();
  107.     }
  108.   },
  109.  
  110.   doneReadingSection() {
  111.     if ($(Helpers.popUpTitle("Are you sure you are done reading your section")).isDisplayed()) {
  112.       $(Helpers.primaryButton("Yes")).click();
  113.     }
  114.   }
  115.  
  116.  
  117. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement