Невозможно получить доступ к функциям, созданным через прототип с помощью WebdriverJS - PullRequest
0 голосов
/ 06 ноября 2018

Итак, я использую селеновый веб-драйвер с javascript, браузер Firefox.
base_page выглядит так:

function Page() {

    this.driver = new Builder().forBrowser('firefox').build();
      const driver = this.driver;

      this.visit = async(url) => {
        try {
          return await driver.get(url);
        } finally {
          console.log("visit: OK");
        }
      };

...

home_page выглядит так:

const Page = require('./base_page');
Page.prototype.requestBtn = async() => {


    try {
        await this.write('input', 'user@fakemail.com');
        return {
          opacity: await this.find('.btn-lg').getCssValue('opacity'),
          state: await this.find('.btn-lg').isEnabled()
        };
      } catch(err) {
        console.log(err);
      }

};
...

В mocha.test.js я импортирую home_page. Я могу использовать функции, созданные в base_page, но не могу получить доступ к функциям в home_page.
Например, page.visit() и page.quit() являются qorking, а page.requestBtn() нет.

const assert = require('assert');
const {Builder, By, Key, until} = require('selenium-webdriver');
const Page = require('../lib/home_page');
let page;


describe('Test', () => {
  beforeEach(async() => {
    page = new Page();
    await page.visit('https://library-app.firebaseapp.com');
  });


  afterEach(async() => {
    await page.quit();
  });


  it("Example", async() => {
    await page.requestBtn();
  });

...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...