当我使用以下其中一项进行量角器测试时:
await browser.enterRepl();
await browser.pause();
await browser.debugger();
它遇到以下错误:
TypeError: doneDeferred.fulfill is not a function
TypeError: doneDeferred.fulfill is not a function
at Socket.tester.once (C:\TSO-IP\tso-ip-ui\node_modules\protractor\built\debugger.js:212:34)
at Object.onceWrapper (events.js:273:13)
at Socket.emit (events.js:182:13)
at Socket.EventEmitter.emit (domain.js:442:20)
at TCP._handle.close (net.js:606:12)
我还没有真正发现有人报告这样的问题。
import 'jasmine';
import {browser} from 'protractor';
import {LoginPo} from '../login.po';
import {Process_adminPo} from "./process_admin.po";
describe ('Capacity register tests', () => {
let loginPage: LoginPo;
let process_adminPo: Process_adminPo;
beforeAll (async (done:DoneFn) => {
loginPage = new LoginPo ();
await loginPage.openApplication ();
await loginPage.changeLanguage ();
done();
});
beforeEach (async (done:DoneFn) => {
process_adminPo = new Process_adminPo ();
done();
});
it ('Add a new nomination group', async () => {
await process_adminPo.open ();
await browser.explore();
//await browser.enterRepl();
//await browser.pause();
//await browser.debugger();
await browser.sleep (5000);
await process_adminPo.clickOnNewButton ();
}
我希望进入交互式外壳(REPL)模式以更好地定位元素
最佳答案
请尝试不要使用browser.repl()
,browser.explore()
和browser.debugger()
。这些方法需要控制流程。但是,由于您使用的是async / await
(很棒),这意味着您没有在使用控制流,并且这些方法将不起作用。
这些都将消失,因为selenium-webdriver不再使用控制流。量角器用来拦截控制流并设置一个神奇的断点。
您也可以使用node --inspect-brk ./node_modules/.bin/protractor
参见youtu.be/6aPfHrSl0Qk?t=985观看示例视频。
关于testing - Protractor.explore()和.pause()和.enterRepl()遇到TypeError,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54441683/