我试图通过使用来自main方法的selenium webdriver(不在测试范围内)来自动执行简单的用户操作.当从编译器运行以下代码时,它可以工作!但是在几种情况下运行jar时 - 面临以下问题(我在Ubuntu上运行,使用java 7)
"线程中的异常"主"java.lang.NoClassDefFoundError:org/apache/http/conn/HttpClientConnectionManager"
@Log公共类MainProgram {
public WebDriver driver = new FirefoxDriver();
public static void main(String args[]) {
// Injector injector = Guice.createInjector(new WebModule());
System.out.println("Browser will soon be opened");
MainProgram mainProgram = new MainProgram();
mainProgram.run();
}
public void run(){
driver.get("http://www.google.co.il");
WebElement lookFor = driver.findElement(By.name("q"));
if(!lookFor.isDisplayed()){
driver.close();
log.log(Level.WARNING,"Failed!");
};
driver.close();
}
}
Run Code Online (Sandbox Code Playgroud)
WebDriver对pom的依赖:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>2.42.2</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.42.2</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-api</artifactId>
<version>2.42.2</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-firefox-driver</artifactId>
<version>2.42.2</version>
</dependency>
Case A
when removed -commons-httpclient - …Run Code Online (Sandbox Code Playgroud) 我正在ubuntu尝试安装最新的稳定版 Chrome 浏览器的 openstack (env bash) 上运行脚本:
sudo apt-get update
sudo apt-get -y install openjdk-7-jre google-chrome-stable
Run Code Online (Sandbox Code Playgroud)
但我得到了--> Unable to locate package google-chrome-stable ubuntu
我尝试了以下添加,但它们没有帮助:
# trying universe repo
sudo apt-get -y install libgconf2-4 libnss3-1d libxss1
sudo apt-get update
# trying something for openstack
sudo apt-get install ubuntu-cloud-keyring
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
很高兴听到更多建议。
将不胜感激!
webdriver-manager cleanwebdriver-manager更新--ie32 --proxy http:// my-proxy:8080 --ignore_ssl
我的protractor.conf文件如下:
const { SpecReporter } = require('jasmine-spec-reporter');
exports.config = {
allScriptsTimeout: 11000,
specs: [
'./e2e/**/*.e2e-spec.ts'
],
capabilities: {
'browserName': 'chrome',
'proxyType': 'manual',
'httpProxy': 'http://my-proxy:8080'
},
directConnect: true,
baseUrl: 'http://localhost:4200/',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
print: function() {}
},
beforeLaunch: function() {
require('ts-node').register({
project: 'e2e/tsconfig.e2e.json'
});
},
onPrepare() {
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
}
};
Run Code Online (Sandbox Code Playgroud)
尝试首先通过以下方式进行测试ng e2e
: …