Webdriverjs从内部代码输入REPL

时间:2016-10-26 03:12:13

标签: node.js selenium selenium-webdriver webdriver read-eval-print-loop

有没有办法在webdriverjs代码执行的某一点进入节点REPL,以帮助调试和解决问题?

我有一些我想要测试的代码,但我不想查看所有代码,然后退出。相反,我想在给定点暂停代码执行,这样我就可以看到我的命令失败的地方,并弄清楚如何让它工作。

例如,我有一些代码可以登录网站:

const webdriver = require('selenium-webdriver')
const chrome = require("selenium-webdriver/chrome");
const By = webdriver.By
const until = webdriver.until

var username = "XXX"
var password = "XXX"

function login(username, password) {    
    driver.wait(until.elementLocated(By.id('Email')))
    driver.findElement(By.id('Email')).sendKeys(username)
    driver.findElement(By.id('next')).click()
    driver.wait(until.elementLocated(By.id('Passwd')), 5000)
    driver.findElement(By.id('Passwd')).sendKeys(password)

    // open a REPL here to examine elements, try things, etc.

    driver.findElement(By.id('signIn')).click()
}

var driver = new webdriver.Builder()
        .withCapabilities({'browserName': 'chrome'}).build()
driver.get('https://gmail.com')
login(username, password)

我想在上面的代码中打开一个REPL,其中的注释是尝试一些不同的东西。我已经尝试将debugger语句添加到我的代码中但它似乎不允许webdriver遍历其代码并允许我在调试断点处与网页交互,我所能做的就是查看变量,等

是否可以单步执行代码并在某个时间点输入REPL并与网页进行交互?

0 个答案:

没有答案