首页 > 解决方案 > Katalon 在无头执行时保持打开浏览器

问题描述

我在 Katalon 工作室有自动化代码,我想无头执行它。我已经在 chromeoptions 中添加了 headless 参数。我也在 Chrome(无头)模式下执行了它。但它仍然打开浏览器并像普通的 WebUI 一样执行它。下面是我的代码:

class My_WebScraper {
ChromeOptions options = new ChromeOptions();
String ProjectDirectory=RunConfiguration.getProjectDir()
String downloadPath = ProjectDirectory+"/Screenshot"
Map<String, Object> chromePrefs = new HashMap<String, Object>()
DesiredCapabilities cap = DesiredCapabilities.chrome()

String popup_dialog = "//div[@role='dialog']"
String General_Button = "//button[text()='{PARAM}']"
String General_Tab_Menu = "//div[@class='gnb']/ul[@class='g_menu' and @id='top1menu']/li/a[text()='{PARAM}']"
String Left_Menu_of_Mainmenu_Pemantauan = "//div[@id='left_menu']/div[@class='clearfix']/aside[@class='sidebar']/nav[@class='sidebar_nav']/ul[@class='metismenu' and @id='menu']/li/ul[@id='left-menu' and @class='LeftMnRow']/li/a/span[text()='Pemantauan Aktivitas']"
String Pemantauan_Aktivitas_expanded = "//div[@id='left_menu']/div[@class='clearfix']/aside[@class='sidebar']/nav[@class='sidebar_nav']/ul[@class='metismenu' and @id='menu']/li/ul[@id='left-menu' and @class='LeftMnRow']/li/a/span[text()='Pemantauan Aktivitas']/../../ul[@aria-expanded='true' and @class='collapse in']/li/a[text()='{PARAM}']"

String FileLog
String filename

def replace(String x,oldc,newc){
    String str =  new String(x)
    return str.replace(oldc, newc)
    return str
}

@Given("Login")
def capture_captcha() throws IOException, InterruptedException{
    println(downloadPath)
    chromePrefs.put("download.default_directory", downloadPath)
    options.setExperimentalOption("prefs", chromePrefs)
    options.addArguments("--window-size=1920,1080");
    options.addArguments("--disable-gpu");
    options.addArguments("--disable-extensions");
    options.addArguments("–no-sandbox");
    options.addArguments("–disable-dev-shm-usage");
    options.addArguments("--disable-software-rasterizer");
    options.addArguments("--disable-blink-features='BlockCredentialedSubresources'")
    options.addArguments("--no-proxy-server")
    options.addArguments("--disable-web-security")
    options.addArguments("--allow-running-insecure-content")
    options.addArguments("--ignore-certificate-errors")
    options.addArguments("–-headless");
    cap.setCapability(ChromeOptions.CAPABILITY, options)
    cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true)
    options.merge(cap);
    System.setProperty("webdriver.chrome.driver", DriverFactory.getChromeDriverPath())
    WebDriver driver = new ChromeDriver(options);
    driver.get("https://myweb.com");
    driver.manage().window().maximize();
    WebUI.delay(3)

任何人都可以帮助我吗?谢谢你

标签: seleniumgroovyui-automationkatalon-studio

解决方案


您的测试脚本使用了新的驱动程序实例,而不是来自 WebUI 关键字的驱动程序实例。

此处的解决方案是覆盖您可以在此处引用的功能


推荐阅读