我这样做了:
ng new typescript-selenium-example
npm install selenium-webdriver --save(此外,我还将chromedriver复制到我的/Application中)
将app.component.ts更新为:
import { Component } from '@angular/core';
import { Builder, By, until } from 'selenium-webdriver';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
constructor() {
var driver = new Builder()
.forBrowser('chrome')
.build();
driver.get('http://www.google.com/ncr')
.then(_ => driver.findElement(By.name('q')).sendKeys('webdriver'))
.then(_ => driver.findElement(By.name('btnG')).click())
.then(_ => driver.wait(until.titleIs('webdriver - Google Search'), 1000))
.then(_ => driver.quit());
console.log('hi');
}
title = 'app works!';
}获取错误:
ERROR in ./~/selenium-webdriver/net/portprober.js
Module not found: Error: Can't resolve 'child_process' in '/Users/myname/tmp/typescript-selenium-example/node_modules/sele
nium-webdriver/net'
@ ./~/selenium-webdriver/net/portprober.js 20:11-35
@ ./~/selenium-webdriver/chrome.js
@ ./~/selenium-webdriver/index.js
@ ./src/app/app.component.ts
@ ./src/app/index.ts
@ ./src/main.ts
@ multi main
ERROR in ./~/selenium-webdriver/firefox/binary.js
Module not found: Error: Can't resolve 'child_process' in '/Users/myname/tmp/typescript-selenium-example/node_modules/sele
nium-webdriver/firefox'
@ ./~/selenium-webdriver/firefox/binary.js 25:14-38
@ ./~/selenium-webdriver/firefox/index.js
@ ./~/selenium-webdriver/index.js
@ ./src/app/app.component.ts
@ ./src/app/index.ts
@ ./src/main.ts
@ multi main
ERROR in ./~/selenium-webdriver/io/exec.js
Module not found: Error: Can't resolve 'child_process' in '/Users/myname/tmp/typescript-selenium-example/node_modules/sele
nium-webdriver/io'
@ ./~/selenium-webdriver/io/exec.js 20:21-45
@ ./~/selenium-webdriver/remote/index.js
@ ./~/selenium-webdriver/index.js
@ ./src/app/app.component.ts
@ ./src/app/index.ts
@ ./src/main.ts
@ multi main发布于 2017-04-18 06:44:22
当我的一个测试中有一个糟糕的beforeEach方法时,这个问题也出现了。该函数在初始化之前尝试访问函数中的全局变量。也许这会对你有帮助?
正如评论所指出的,当您有一个糟糕的导入时,也会发生这种情况,例如:
import {describe} from 'selenium-webdriver';或
import {beforeEach} from "selenium-webdriver/testing";发布于 2018-10-15 21:30:01
对我来说,我意外地在组件中导入了错误的库。
我改变了这一点:
import { EventEmitter } from 'selenium-webdriver';
如下所示:
import { EventEmitter } from '@angular/core';
它又能工作了。
https://stackoverflow.com/questions/41057396
复制相似问题