200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > linux运行脚本运行不了 解决linux 运行自动化脚本浏览器无法启动问题

linux运行脚本运行不了 解决linux 运行自动化脚本浏览器无法启动问题

时间:2023-01-20 20:57:10

相关推荐

linux运行脚本运行不了 解决linux 运行自动化脚本浏览器无法启动问题

1.前提你的驱动和版本对应无问题时,依旧报未知错误无法启动chrome

解决方法加上两行:

options.addArguments("no-sandbox");

options.addArguments("--disable-gpu");

其中

“–no-sandbox”参数是让Chrome在root权限下跑

“–headless”参数是不用打开图形界面

奉上我的TestNg源码:

package com.chen.autocases;

import org.openqa.selenium.chrome.ChromeDriver;

import org.openqa.selenium.chrome.ChromeOptions;

import org.testng.annotations.AfterClass;

import org.testng.annotations.BeforeClass;

import org.testng.Assert;

import org.testng.annotations.Test;

import org.openqa.selenium.WebDriver;

import org.apache.log4j.Logger;

import java.util.concurrent.TimeUnit;

public class TestDemo {

private static Logger log = Logger.getLogger(TestDemo.class);

public WebDriver driver;

/*

@param

import java.util.HashMap;

import java.util.Map;

options.addArguments("--disable-popup-blocking"); // 禁用阻止弹出窗口

options.addArguments("no-sandbox"); // 启动无沙盒模式运行

options.addArguments("disable-extensions"); // 禁用扩展

options.addArguments("no-default-browser-check"); // 默认浏览器检查

Map prefs = new HashMap();

prefs.put("credentials_enable_service", false);

prefs.put("profile.password_manager_enabled", false);

options.setExperimentalOption("prefs", prefs);// 禁用保存密码提示框

*/

@BeforeClass

public void beforeClass() {

System.setProperty("webdriver.chrome.driver", "/usr/local/chrome/chromedriver");

ChromeOptions options = new ChromeOptions();

options.setHeadless(Boolean.TRUE);

options.addArguments("no-sandbox");

options.addArguments("--disable-gpu");

options.addArguments("--start-maximized"); // 启动时自动最大化窗口

driver = new ChromeDriver(options);

driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

driver.get("");

log.info("用例开始执行------");

}

@AfterClass

public void afterClass(){

log.info("用例结束后运行----");

driver.quit();

}

@Test

public void testcase1(){

log.info("testcase1");

Assert.assertTrue(true);

}

@Test

public void testcase2(){

Assert.assertTrue(true);

log.debug("testcase2");

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。