rshf / chromedriver

Automatically exported from code.google.com/p/chromedriver
2 stars 1 forks source link

SeGrid+Chromedriver = Always Starts with Logging Enabled #485

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Platform: Ubuntu/EC2
chromedriver: 2.1
Chrome Version: Google Chrome 28.0.1500.71
Selenium version: 2.33.0 (selenium-server-standalone)

What steps will reproduce the problem?
1. Create Script calling chromedriver (all of our Selenium scripts are Python)
2. Add "--disable-logging" as an option
3. Execute the test

I expect to see the browser started without the "--enable-logging and 
--log-level=1".
Instead, I see the full set of startup flags with "--disable-logging" at the 
front.  It appears that this is being overriden by the succeeding 
"--enable-logging" flag.

I suppose there are some usecases where this would be of value, but we are 
experiencing system slow downs that appear to be attributable - in part - to 
this extra logging.

Below: 
-'ps -ef' output to show everything going on
- bugtest.py to recreate

Additionally, looking at the ps output, it may be just related to the logging, 
but there are a number of processes spawned that don't seem to be relevant to 
using Chrome as a validation tool, but rather these seem to be related to 
testing Chrome itself.  Any clarification on this point would be appreciated.

================================================================================
=============
ps -ef:
root       963   941  0 14:45 ?        00:00:10 java -jar 
/home/ubuntu/selenium-server.jar -role node -browser 
browserName=chrome,maxInstances=8 -maxSession 8 -port 4320 -hub 
http://localhost:4200/grid/register -registerCycle 5000
root      2923   963  9 15:48 ?        00:00:00 /home/ubuntu/chromedriver 
--port=4793
root      2933  2923 54 15:48 ?        00:00:00 /opt/google/chrome/chrome 
--disable-logging --remote-debugging-port=58626 --no-first-run --enable-logging 
--logging-level=1 --user-data-dir=/tmp/.org.chromium.Chromium.OAeJjZ 
--load-extension=/tmp/.org.chromium.Chromium.RUo91h/internal 
--ignore-certificate-errors --metrics-recording-only 
data:text/html;charset=utf-8,
root      2940  2933  7 15:48 ?        00:00:00 /opt/google/chrome/chrome 
--disable-logging --remote-debugging-port=58626 --no-first-run --enable-logging 
--logging-level=1 --user-data-dir=/tmp/.org.chromium.Chromium.OAeJjZ 
--load-extension=/tmp/.org.chromium.Chromium.RUo91h/internal 
--ignore-certificate-errors --metrics-recording-only 
data:text/html;charset=utf-8,
root      2941  2933  0 15:48 ?        00:00:00 
/opt/google/chrome/chrome-sandbox /opt/google/chrome/chrome --type=zygote 
--enable-logging --user-data-dir=/tmp/.org.chromium.Chromium.OAeJjZ
root      2942  2941 50 15:48 ?        00:00:00 /opt/google/chrome/chrome 
--type=zygote --enable-logging 
--user-data-dir=/tmp/.org.chromium.Chromium.OAeJjZ
root      2946  2942  6 15:48 ?        00:00:00 
/opt/google/chrome/nacl_helper_bootstrap /opt/google/chrome/nacl_helper 
--reserved_at_zero=0x0000000000000000 --r_debug=0x0000000000213000
root      2947  2942  1 15:48 ?        00:00:00 /opt/google/chrome/chrome 
--type=zygote --enable-logging 
--user-data-dir=/tmp/.org.chromium.Chromium.OAeJjZ
root      2982  2947  0 15:48 ?        00:00:00 /opt/google/chrome/chrome 
--type=renderer --disable-logging --enable-logging --lang=en-US 
--force-fieldtrials=ForceCompositingMode/disable/InfiniteCache/No/Prerender/Prer
enderEnabled/UMA-New-Install-Uniformity-Trial/Control/UMA-Session-Randomized-Uni
formity-Trial-5-Percent/group_12/UMA-Uniformity-Trial-1-Percent/group_04/UMA-Uni
formity-Trial-10-Percent/group_08/UMA-Uniformity-Trial-20-Percent/group_02/UMA-U
niformity-Trial-5-Percent/group_14/UMA-Uniformity-Trial-50-Percent/default/ 
--user-data-dir=/tmp/.org.chromium.Chromium.OAeJjZ --extension-process 
--disable-client-side-phishing-detection --renderer-print-preview 
--disable-accelerated-2d-canvas --disable-accelerated-video-decode 
--channel=2933.1.1359886553
root      2990  2947  0 15:48 ?        00:00:00 /opt/google/chrome/chrome 
--type=renderer --disable-logging --enable-logging --lang=en-US 
--force-fieldtrials=ForceCompositingMode/disable/InfiniteCache/No/Prerender/Prer
enderEnabled/UMA-New-Install-Uniformity-Trial/Control/UMA-Session-Randomized-Uni
formity-Trial-5-Percent/group_12/UMA-Uniformity-Trial-1-Percent/group_04/UMA-Uni
formity-Trial-10-Percent/group_08/UMA-Uniformity-Trial-20-Percent/group_02/UMA-U
niformity-Trial-5-Percent/group_14/UMA-Uniformity-Trial-50-Percent/default/ 
--user-data-dir=/tmp/.org.chromium.Chromium.OAeJjZ 
--disable-client-side-phishing-detection --renderer-print-preview 
--disable-accelerated-2d-canvas --disable-accelerated-video-decode 
--channel=2933.2.1765792383

================================================================================
=============
bugtest.py:
from selenium import webdriver
import time
import sys

hub = sys.argv[1]

"""
Define capabilities of remote webdriver
        Specifically: assign browser type

# Standalone Usage
"""
#driver=webdriver.Chrome()

# Webdriver Usage with SeGrid
try:
        #print('starting browser')
        #driver=webdriver.Chrome()
        options=webdriver.ChromeOptions()
        options.add_argument('--disable-logging')
        driver=webdriver.Remote("http://"+hub+":4200/wd/hub",desired_capabilities=options.to_capabilities())
        time.sleep(.01)

        driver.get("http://google.com")
        time.sleep(.01)
        try:
                navS = driver.execute_script("return performance.timing.navigationStart")
                respS = driver.execute_script("return performance.timing.responseStart")
                print('responseStart:'+str(respS-navS))
        except:
                pass
        time.sleep(10)
        driver.quit()
except:
        print('unable to start browser')
        time.sleep(5)
        pass

Original issue reported on code.google.com by ben.hast...@gmail.com on 26 Aug 2013 at 3:51

GoogleCodeExporter commented 9 years ago

Original comment by samu...@chromium.org on 21 Feb 2015 at 12:18

GoogleCodeExporter commented 9 years ago
We can use excludeSwitches with ChromeOptions as in sample code:

Sample Code:
ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-logging");
options.setExperimentalOption("excludeSwitches", 
Arrays.asList("enable-logging","log-level"));

DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);

WebDriver driver = new RemoteWebDriver(new URL(
"http://localhost:4444/wd/hub"), capabilities);
driver.get("http://google.com");
Thread.sleep(1000);
long navigationStart = (long) 
((JavascriptExecutor)driver).executeScript("return 
performance.timing.navigationStart");
long responseStart = (long) ((JavascriptExecutor)driver).executeScript("return 
performance.timing.responseStart");

System.out.format("%d - %d = %d", navigationStart,responseStart, 
responseStart-navigationStart);

Please try as in sample code and let us know if we differ from what you are 
doing

Original comment by ssudunag...@chromium.org on 3 Apr 2015 at 10:45