Как я могу получить доступ к API в глобальном командном файле? - PullRequest
0 голосов
/ 20 февраля 2020

Я хочу создать глобальную команду в ночном дозоре. js framework, когда я делаю это на странице object_file без функции глобальной команды

navigateWithNav() {
            return navigateWithNavToolbar.call(this, "#home-nav")
        },

Все работает правильно. Но когда я пытаюсь изменить функцию в объектном файле _file, по глобальной команде я получу неопределенное значение для this.api, как я могу ее разрешить?

// page_oject file
        navigateWithNav() {
            return this.navigateWithNavToolbar("#home-nav") 
        },


// global command file

const { client } = require("nightwatch-cucumber")

const { MID_TIMEOUT } = global.config.timeouts

exports.command = async function navigateWithNavToolbar(selector) {
    return this.api.url(async (url) => {
        // if we are someplace which doesnt have the nav toolbar, then
        // goto the homepage
        if (!url.value.includes(client.launch_url)){
            await client.url(client.launch_url)
        }
        await this.api.waitForElementPresent(selector, MID_TIMEOUT, false)
        await this.api.click(selector)
    })
}

1 Ответ

0 голосов
/ 20 февраля 2020

Я не знаю о синтаксисе, в котором находится код файла page_oject, но вы хотите сделать что-то подобное для привязки this:

navigateWithNav = () => this.navigateWithNavToolbar("#home-nav") 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...