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

Reply via email to