Hi Dongseong, below is my answers for your questions. Thanks. >Hi Peter, Thank you for good summary. I still have some questions. >On Tue, Mar 11, 2014 at 5:56 AM, Wang, Peter H ><peter.h.w...@intel.com<mailto:peter.h.w...@intel.com>>wrote:
>> *Q**:* >> *I** have novice questions.* *could you explain relationship among >> below >> modules?* >> *chrome/test/chromedriver* >> *third_party/webdriver* >> *tools/telemetry/telemetry/core/backends/webdriver* >> >> A: >> The "chrome/test/chromedriver" imports code from "third_party/webdriver". > >Most of them are uglified JS code to help implement some instructions > >of WebDriver. > >They are the outside script to use WebDriver throught http request. > >Seems, "telemetry" will invoke it to implement its function. >> > >Basic mechanism of "chromedriver" is like that: > >Outside script ? Chromedirver ? Devtools interface of Browser >> > >So, any script can invoke "chromediver" by sending http request > >according convention. >> >Could you answer about tools/telemetry/telemetry/core/backends/webdriver >also? You explained only chrome/test/chromedriver and third_party/webdriver . The "telemetry" will use "tools/telemetry/telemetry/core/backends/webdriver" to "invoke" WebDriver to archive the goal "Run on non-chrome browser ..." as they declared in www.chromium.org/developers/telemetry. >*Q:* >> *currently, perf test don't require chrome/test/chromedriver. what >> does chrome/test/chromedriver add on > >tools/telemetry/telemetry/core/backends/webdriver?* > >*i.e. we can run perf test without chrome drive.* *> > >./tools/perf/run_measurement --browser=content-shell-release > >smoothness tools/perf/page_sets/top_25.json --allow-live-sites* > >*tools/telemetry/telemetry/core/backends/webdriver or > >tools/perf/run_measurement is not enough? What's xwalk webdrive's > >goal?* > > > >A: > >By my understanding, the main purpose of WebDriver is to provide a > >uniform auto-test interface for Browsers. Especial to mimic some human > >operations(e.g., click). > > >If you run above my command line, you can see that perf telemetry test mimics >click and touch. it's why test name is "smoothness". >I think we should know which features tools/perf support and which features it >does not support, even if we need them. It's not surprised "telemetry" (for Chrome) can do some same things of chromedriver, since both chromedriver and "telemetry" (for Chrome) is implemented based on Devtools protocol (maybe, I should "copy" a part of "telemetry" and implement xwalkdriver by python? :) ). So, for Chrome, that tool don't need chromedriver to run. The Selienium<http://docs.seleniumhq.org/> using WebDriver to do cross-Browser autotest, "tlementry" using WebDriver to do cross-Browser performance test (not yet implemented). So we should compare Selienium<http://docs.seleniumhq.org/> and "tlementry" because they are at same logical layer. >>The first goal is just "catching up", means, to support WeDriver > >instructions as other main Browsers (refer to > >*http://docs.seleniumhq.org/download/*<http://docs.seleniumhq.org/down > >load/>, you can find Chromedriver, FirefoxDriver, BlackBerryDriver > >here). > >Then, we'll try to involve some special instructions ("runtime" > >related?) for xwalk, since, obviously, we are not a pure Browser. > >Maybe, we can try to contribute to W3C or *Selenium* > ><http://docs.seleniumhq.org>, if our suggestion has enough value and the > >implementation is solid. > > > > >You concerned about how extract chromedriver from /chrome even if chromedriver >depends on chrome extensions. I think you can extract chrome-independent >chromedriver, which I believe most of them, and remains chrome-dependent part >in /chrome. Sure. I promised I had that idea once in my mind. Actually, most of the functions implemented by chromedriver is suitable for all Browsers with WebKit engine, since the most of the protocol commands they depend on is implemented in WebKit (of course, WebKit development is spiltted now). But, back to the reality of the situation of code, there are not convenient interface pre-reserved for us to do what we want to do. The straightforward way is just to "copy" a useful part and modify it with proper declaration. Maybe, we should commit a patch to Chromium push a common "WebDriver" then? Best regards, Peter Wang
_______________________________________________ Crosswalk-dev mailing list Crosswalk-dev@lists.crosswalk-project.org https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev