10:10:56 RRSAgent has joined #testing 10:10:56 logging to http://www.w3.org/2012/01/11-testing-irc 10:13:44 Just invited you to a hangout 10:16:58 dawagner, no, not seeing any invite 10:17:54 davidburns has joined #testing 10:18:24 re-invited you 10:19:06 If no joy, I've encircled you (I'm Daniel Wagner-Hall, dawagner@gmail.com), feel free to invite me to a new one 10:19:53 davidburns has joined #testing 10:21:00 davidburns has joined #testing 10:23:50 MikeSmith: Any progress? 10:24:09 yup 10:24:13 thanks 10:24:16 calling in now 10:44:00 Scribe: wilhelm 10:44:54 dburns: The current spec consists of a general outline 10:45:12 ... spec in two parts: the user side, how people would interact with it, and the IDL side and browser impleemntation 10:45:42 ... One of the things we need to work out is how to reference commands, &c. 10:46:14 ... We have functional areas of different areas written out. How we turn those areas into functions people can actually use is an open question. 10:46:32 ... There is also a mapping defined for the JSON wire protocol. 10:46:53 ... At the moment the spec is very light. Today we should figure out how to fill the missing parts. 10:46:58 ... How should we interact with IME? 10:47:22 ... We need to find and document our open issues. 10:48:07 ... If a new language was to create bindings for WebDriver, what would they need to do? What should be tested? Looking from that perspective may help us write the spec. 10:49:47 ... How should we actually turn the general requirements into spec form? 10:51:02 ... However we write the requirements must work for the different languages we support and want to support. The Ruby bidings are quite flat – .NET is not. 10:51:20 RRSAgent, make minutes 10:51:20 I have made the request to generate http://www.w3.org/2012/01/11-testing-minutes.html MikeSmith 10:51:29 http://dvcs.w3.org/hg/webdriver/raw-file/515b648d58ff/webdriver-spec.html 10:51:35 ^-- the spec 10:52:42 dburns: We try to avoid defining things that are defined somewhere else. Focus, for example, is delegated to HTML5. 10:53:54 MikeSmith: Often what happens after we get quite far along with a spec, is that people come along and ask for use cases and requirements. 10:54:09 ... There is a cost to documenting that, but it also helps pre-empt problems you can run into later. 10:54:32 ... There is genuine value in having the use cases and requirements documented. 10:54:42 ... Someone in the group should commit to write that down. 10:55:19 ... One example of this is from the XML Speech Incubator Group. 10:55:50 example of a use-cases doc: http://www.w3.org/2005/Incubator/htmlspeech/XGR-htmlspeech-20111206/#use-cases 10:58:09 ... Such a document helps document what the use cases really are, and may help getting other vendors on board. 11:00:18 andreastt: We need a clear definition of what a window is. 11:00:40 andreastt: Added complexity on mobile and TVs. 11:03:23 andreastt: Another issue is how the get command should be working. Currently in OperaDriver we have two ways to figure out if the page has actually loaded. 11:03:41 ... Some browsers may not be able to fulfill everything, but we should define the ideal. 11:04:15 daniel: We need to define context boundaries, for example between frames. 11:04:42 eran: Similar for interaction. What happens if you move the mouse by a certain offset? 11:05:29 daniel: There are areas where we have complexity in the webdriver implenmentation. We should specify where that complexity should live. 11:06:06 ... Yes, stuff like atoms, advanced user interactions. Some of that could be provided by WebDriver or by the browser. 11:06:46 RRSAgent, make minutes 11:06:46 I have made the request to generate http://www.w3.org/2012/01/11-testing-minutes.html MikeSmith 11:08:12 andreastt: A definition of a client and server is missing. 11:08:55 ... Example: It is possible to be access the scope protocol from JavaScript, in the browser. 11:09:28 ... We should perphaps note that local and remote can be the same thing. 11:10:08 eran: Everything related to localStorage, network state on or off, is missing. 11:10:45 ... This is supported in mobile browsers. 11:10:55 andreastt: There is a missing section on vendor extensions. 11:11:02 ... What is the core of WebDriver? 11:11:07 ... We have Opera-specific stuff. 11:11:48 ... Taking a screenshot of a limited area of the screen would be nice to get in the core API. 11:11:58 eran: File upload is missing. 11:12:29 daniel: Permissions model. If we are going to require the driver to do what it wants with the browser, we should state that specifically. 11:13:18 eran: We should allow users to check if SSL certificates are valid, self-signed, etc. 11:13:59 andreastt: In Opera, we have workarounds for browser dialogs - upgrade, installation dialog. Not accessible from JavaScript. 11:14:11 ... Command-line option to ignore such dialogs. 11:14:38 (Similar in Firefox) 11:15:22 daniel: We need to define when click returns as well as get. 11:15:39 andreastt: What should happen with syntethic click? 11:15:55 daniel: Every modal behaviour must be defined. 11:17:05 ... In the talk of sessions, the only operation we define is creating one. The lifetime and destruction of one should probably be defined. 11:18:02 andreastt: The spec mentions about:blank. This isn't just a plain page. 11:19:26 wilhelm: Should the spec be relevant for end-users, or just implementers? 11:20:21 dburns: Should be defined in idiomatic ways. 11:21:27 ... Users have been pointed to the tests. Usecases may help in a similar way. 11:22:00 daniel: Section on modal dialogs is listed as non-normative, despite its MUST statement. 11:22:23 ... What is handling non-HTML content? 11:22:36 andreastt: XML, SVG 11:23:47 dburns: We need to be very careful about how we spec SVG interaction. Different uses of SVG. 11:24:32 daniel: Where do we stop? How much should we spec? 11:24:57 wilhelm: From a W3C perspective, I would like to test all W3C specs using these tools. Whether or not that is possible is an open question. 11:25:34 dburns: Should executescript support VBScript? 11:25:37 andreastt: (Dart?) 11:27:57 wilhelm: For many of these technical questions, I suggest deferring to the editors. Make your best judgement. Put it in the spec. Await positive or negative reactions. 11:28:10 ... You may also delegate to someone else where applicable. 11:28:27 dburns: How do we handle IME? 11:28:34 eran: We have an existing API that actually works. 11:30:23 wilhelm: What about, say, touch events? 11:31:08 eran: Touch events is the least mature part. How do you define this in a meaningful way? Do we define speed, range of movement? 11:34:41 daniel: Several sections are based on our current behaviour. Is this always beneficial? (findByClassName, cookies) 11:36:40 andreastt: Watir allows selecting by link text (foo). 11:37:04 daniel: bylinktext and gettext behave differently. 11:37:47 eran: There is duplication between the new and old interaction stuff. 11:38:55 andreastt: A touchy area, but often requested: Return the active element. 11:44:06 RRSAgen, make log public 11:44:11 RRSAgent, make log public 11:45:03 RRSAgent, make minutes 11:45:03 I have made the request to generate http://www.w3.org/2012/01/11-testing-minutes.html wilhelm 11:54:25 jeanne has joined #testing 12:03:58 andreastt: Should we have more timeouts than we currently have? If so, how should we specify page load timeouts, etc? 12:04:29 ... In OperaDriver, we have one timeout for EcmaScript, there's a page load timeout. 12:05:04 dburns: That's relevant for click and get. 12:05:21 daniel: Specifying timeouts is part of specifying commands. 12:10:07 andreastt: In Opera, there is an API for listing available frames. 12:10:33 dburns: In Firefox, you may list which tabs are available, and which is focused. 12:11:09 wilhelm: Where do browsers disagree today? 12:11:12 andreastt: Colours. 12:11:26 dburns: Some return CSS, some use computed value. 12:11:52 daniel: They disagree in the JS executing wherever browsers diagree in script engines. 12:12:20 eran: Does everyone use atoms for get? 12:12:22 (Yes) 12:12:51 daniel: For cookies, access levels are different in different browsers. You can't always get expiry date. 12:14:16 andreastt: We make assertions on whether elements are displayed and enabled, as we need to be able to click disabled elements when testing the browser. 12:14:29 daniel: isdisplayed is inconsistent. 12:14:41 daniel: Chrome does some special checks. 12:14:51 andreastt: We need to add middle-click. 12:15:16 daniel: The open question of modifier keys on different OSes. 12:15:42 andreastt: COuld be delegated to a testing framework. 12:16:40 daniel: Should be delegated to a different layer. 12:16:47 daniel: getpagesource is inconsistent. 12:17:36 andreastt: Candidate for removal? 12:17:53 andreastt: What do we mean by elemen.clear? 12:18:09 ... JS clear, or click, backspace? 12:18:26 daniel: Submit is going to be fun to specify. 12:18:32 ... We should remove it. 12:20:14 wilhelm: Is there any part of the API or spec that is impossible or unreasonably difficult for one browser to support? 12:20:23 daniel: htmlunit is special. 12:21:02 andreastt: Should we treat htmlunit as equal to the full browsers? 12:21:26 daniel: Logs are very ill-defined. 12:21:54 daniel: How do we export the console logs? 12:22:05 andreastt: Logs are also inconsitent. 12:22:33 andreastt: Should gettagname return capital letters or lowercase? 12:25:29 andreastt: Implementations differ on assertion of whether an element is stale or not. 12:28:18 wilhelm: How should commands and paramters be written in the spec? 12:29:34 dburns: See section 9.1.2 for one propsal. 12:29:52 daniel: The methods are currently a signature rather than a semantic description. 12:31:06 Reference: http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf 12:31:56 dawagner: See section 9.8.1 i EcmaScript for an example of how this may be done. 12:33:48 wilhelm: See also the steps here: http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd 12:34:20 andreastt: Drag and drop is also an open issue. What happens if you drag between different browsers? 12:40:31 (FindElementBy() is being specced on the whiteboard.) 12:43:01 wilhelm: DOM4 spec may be a good example: http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html 12:45:41 RRSAgent, make minutes 12:45:41 I have made the request to generate http://www.w3.org/2012/01/11-testing-minutes.html wilhelm 12:53:20 (Discussion around spec format for this not minuted closely.) 12:53:41 daniel: What do we do about edge cases? What happens if you try get an element when you don't have a document? 12:53:57 daniel: Where do define exceptions to be returned? 12:54:25 simon: What happens if a modal dialog pops up underway? 12:57:21 eran: Yes, I will propse a spec text for section 15. User input. 12:58:01 simon: Opera has an interesting implementation for screenshots. 13:00:18 plh has joined #testing 13:00:44 wilhelm: Can you draft a spec on screenshots, Andreas? 13:00:47 andreastt: Yes. 13:01:21 simon: Jason Leyba knows much about section 12, executing javascript. 13:01:38 simon: I will speak to him about making a draft. 13:02:30 simon: Can you write a draft for 11. Rendering text, Daniel? 13:02:42 simon: It would be interesting to compare to the innerHTML spec. 13:03:05 s/innerHTML/innerText 13:03:48 simon: We could make a spec text that browsers may follow natively, to be included in HTML or DOM spec. 13:04:25 dawagner: Yes, I will write a first draft. 13:05:22 simon: Section 10, reading element state, is a low hanging fruit defined in the atoms. 13:06:06 ... Colours is part of that. 13:06:43 dawagner: Jim Evans knows a lot about modal dialogs. 13:07:23 dawagner: Jason did a lot of frames stuff. 13:10:21 simon: I suggest doing exactly what WebDriver does today. If you have two windows with three tabs each, that's six windows [browsing contexts]. 13:10:51 simon: How do we do window resizing? 13:11:08 simon: That should go under the controlling windows seciton. 13:13:13 wilhelm: [test suite] 13:13:26 simon: We should do as much testing as we can in JavaScript. For the rest, we fall back to Python. 13:13:43 simon: David is the right person to lead the work. 13:17:05 andreastt: WRT an official test suite, what do we do with things that happen entirely within WebDriver? 13:18:49 wilhelm: Are there other organizations we want present at the table in the future? MS has been mentioned, Apple has been mentioned. 13:19:07 simon: I'd like an official representative for the Chrome team. I will find a candidate. 13:19:53 wilhelm: WRT other browser vendors, I suggest we move to a FPWD and the actively encourage them to join us. 13:20:50 wilhelm: What should we specify and what should be left to implementers? 13:21:14 simon: We spec as little as possible to ensure interoperability, delegate to other specifications where we can. 13:22:54 wilhelm: We've made good progress today – I'm running out of things on my list. Let's end the formal part of the meeting here, and do real work the rest of the day. 13:23:02 RRSAgent, make minutes 13:23:02 I have made the request to generate http://www.w3.org/2012/01/11-testing-minutes.html wilhelm 13:41:32 darobin has joined #testing 14:33:59 RRSAgent, bye 14:33:59 I see no action items