09:04:26 RRSAgent has joined #testing 09:04:26 logging to http://www.w3.org/2014/07/08-testing-irc 09:05:09 Can someone come and collect me at reception? 09:05:48 ato: Simon is en route 09:05:55 ty 09:06:53 Meeting: Browser testing & tools WG, F2F, July 8th 09:06:55 Chair: wilhelm 09:07:16 Agenda: https://www.w3.org/wiki/WebDriver/2014-July-F2F 09:08:04 lukeis has joined #testing 09:08:34 selbot2 has joined #testing 09:09:24 mdas has joined #testing 09:09:25 MarcFisher has joined #testing 09:09:33 :yt never going to give you up 09:09:35 remi has joined #testing 09:09:35 Rick Astley - Never Gonna Give You Up - http://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=youtube_gdata 09:10:02 RRSAgent, draft minutes 09:10:02 I have made the request to generate http://www.w3.org/2014/07/08-testing-minutes.html wilhelm 09:10:08 RRSAgent, make logs public 09:10:22 RRSAgent, draft minutes 09:10:22 I have made the request to generate http://www.w3.org/2014/07/08-testing-minutes.html wilhelm 09:11:59 Scribe: ato 09:12:23 Present+ wilhelm 09:12:26 Present+ Marc Fisher 09:12:27 Present+ Luke Inman-Semerau 09:12:28 Present + JohnJansen 09:12:30 Present+ jimevans 09:12:34 Present +Simon Stewart 09:12:36 Present+ JohnJansen 09:12:44 Presnet+ AndreasTolfsen 09:12:49 Present+ AndreasTolfsen 09:12:59 Present+ MaliniDas 09:13:02 Present +jgraham 09:13:06 Present+ DavidBurns 09:13:20 https://www.w3.org/wiki/WebDriver/2014-July-F2F 09:13:33 Present+ Shuotao Gao 09:14:20 wilhelm: We went through the open bug list yesterday. 09:14:24 Topic: Topic: Discuss security issue: navigating to file:/// exposes the whole file system. 09:14:25 Topic: Discuss security issue: navigating to file:/// exposes the whole file system. 09:15:12 ShuotaoGao: Accessing file:// protocol has security issues. 09:15:30 simons: Calling it a bug, is a bit strong. It's working as intended. 09:15:57 simons: Option to blacklist a protocol, series of URLs, certain blocks might be what you want? 09:16:11 Present- Simon Stewart Shuotao Gao Luke Inman-Semerau 09:16:16 Present+ SimonStewart ShuotaoGao LukeInman-Semerau 09:16:18 ShuotaoGao: Chrome has whitelist for who can connect to the browser. 09:16:21 ShuotaoGao: Not for content. 09:16:28 RRSAgent, draft minutes 09:16:28 I have made the request to generate http://www.w3.org/2014/07/08-testing-minutes.html Ms2ger 09:16:29 simons: So blacklisting URL schemes? 09:16:34 ShuotaoGao: Yeah, sounds good to me. 09:16:38 ShuotaoGao: Not sure what others think? 09:16:39 Present- Marc Fisher 09:16:42 Present+ MarcFisher 09:17:04 simons: Will IE flip out on file://? 09:17:16 jimevans: Yes, it's not an HTML document. 09:17:31 jgraham: file:// is very underspecified. In some sense there's actually no standard behaviour for you to depend on in this case. 09:17:41 jgraham: But does anyone have a use case for file URLs? 09:17:45 s/Presnet+ AndreasTolfsen// 09:17:52 s/Can someone come and collect me at reception?// 09:17:58 MarcFisher: It's something that's done occasionally at Google. 09:18:01 s/ato: Simon is en route// 09:18:06 s/ty// 09:18:14 s/:yt never going to give you up// 09:18:15 Rick Astley - Never Gonna Give You Up - http://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=youtube_gdata 09:18:22 s|Rick Astley - Never Gonna Give You Up - http://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=youtube_gdata|| 09:18:27 s|Rick Astley - Never Gonna Give You Up - http://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=youtube_gdata||g 09:18:32 RRSAgent, draft minutes 09:18:32 I have made the request to generate http://www.w3.org/2014/07/08-testing-minutes.html Ms2ger 09:18:37 MarcFisher: Different browsers behave differently. 09:18:45 MarcFisher: We tell them to bring up a small HTTP server. 09:18:48 MarcFisher: So it's not a stopping issue. 09:18:58 simons: It's not something I feel we can put normative language around. 09:19:06 simons: Also what are the use cases, also there are security issues. 09:19:12 simons: Second of all, the behaviour differs between browsers. 09:19:22 simons: With IE, the way that it's implemented, it's just not possible to do. 09:19:31 simons: And on Chrome you can traverse through the file system. 09:19:46 simons: Normative text in spec on blacklisting URLs? 09:19:52 simons: Would that be a sensible thing to do? 09:20:02 jgraham: I think it would go in the bit where you define get or whatever it is. 09:20:23 jgraham: You'd have a series of steps, and a step where you hit the blacklist, then return an error. 09:20:28 simons: It would not be in the appendix? 09:20:33 jgraham: I'm not sure I believe in that sort of things. 09:20:45 MarcFisher: He's suggesting a non-normative statement. Something you want to think about. 09:20:53 jgraham: Well you can still make that part of the algorithm in get. 09:21:08 simons: click would need to do the same check. 09:22:03 ato: It relates to everything. You can give the URL when starting the browser. 09:22:16 ato: So you'd need to do the check for literally every call to the WebDriver server. 09:22:45 MarcFisher: Really the file system should be handled by whatever security mechanism is built in to the browser. 09:23:01 JohnJansen: WebDriver is designed to do this. 09:23:16 JohnJansen: The spot where you downloaded it should say “don't forget, this is an incredible security risk”. 09:23:22 JohnJansen: I would never put this on my machine. 09:23:31 JohnJansen: People could guess that I'm using it, and hack my machine. 09:23:35 simons: Neither would I. 09:23:45 simons: Having the dirvers be configurable. 09:23:57 simons: WebDriver as a service seems like a use case. 09:24:04 simons: You don't want to allow them to navigate the file system. 09:24:19 MarcFisher: I don't think on the WebDriver level this is feasible. 09:24:31 MarcFisher: It should be up to people at what level they want security. 09:24:47 jgraham: Yeah, it sounds like it would need a hook in the equivalent of the navigator element in the browser. 09:24:58 MarcFisher: Presumably the HTML5 navigate algorithm already has a hook. 09:25:11 MarcFisher: If they don't, it seems like a bad design. 09:25:44 jgraham: If there isn't an apropriate hook, you can say to Hixie that if this is a URL that has been disallowed for navigation, then abort or something. 09:26:11 MarcFisher: Regardless whether algorithm has that or not, I don't think we can uphold that from WD. 09:26:22 simons: [] 09:26:25 simons: [Explain] 09:26:56 jgraham: If you have a hook in the navigate algorithm you can read the specification and everything makes sense. 09:27:25 jgraham: What I'm saying is that Hixie should have a hook, which you hook your spec into, and use this in the WD algorithms. 09:27:37 jgraham: Then in your Security appendix you can refer to this. 09:27:40 simons: Yes. 09:27:46 simons: I don't think this is something we can do entirely in WebDriver. 09:28:37 seva has joined #testing 09:28:48 Action jgraham: Talk Hixie (HTML5 guys) about adding some hook into navigate algorithm to prevent navigation to certain subsets of URLs/schemas/protocols. 09:29:13 JohnJansen: There's also some information online about treating the security for a web server in general. 09:29:30 JohnJansen: On MSDN we have pretty robust docs on this. 09:29:43 JohnJansen: MSDN has a bunch of docs on how to protect yourself from this kind of hack. 09:30:02 JohnJansen: First recommendation: Put the first directory of your server on a separate drive. 09:30:09 http://msdn.microsoft.com/en-us/library/ff648653.aspx#c16618429_019 09:31:35 simons: Hurrah! 09:31:36 this is different from the file:// protocol, but interesting information regarding the navigation attack. 09:32:14 Action: To add text in the privacy section that you MAY consider blocking navigation to blacklisted domains. 09:32:27 s/blacklisted domains/blacklisted domains or protocols/ 09:32:33 :) 09:32:49 wilhelm: So that solves the file:// problem, but not connecting to your local machine. 09:33:05 AutomatedTester: We talked about this yesterday, but we removed it. 09:33:22 simons: By default only having it listen on the loopback. 09:33:43 MarcFisher: Might want to have a whitelist of IPs that are allowed to connect. 09:34:15 AutomatedTester: The text I originally put, which is still there… 09:34:48 AutomatedTester: Limiting it to localhost would prevent this unless you have a proxy. 09:34:57 AutomatedTester: Selenium server could be that proxy. 09:35:35 MarcFisher: You should have a whitelist of IPs, with the default of localhost. 09:35:37 simons: Fine. 09:35:58 Action MarcFisher: Change prose around limiting connections in F2 09:36:37 Topic: Discuss the test running Microsoft implemented in JScript 09:37:01 JohnJansen: When we were implementing our WebDriver implementation, we needed to run the tests that had already been written in the wpt repository. 09:37:19 JohnJansen: I had an intern convert the Python test suite into a JavaScript test suite so we didn't have to learn or install Python. 09:37:25 JohnJansen: Noone on my team knows Python. 09:37:42 JohnJansen: While my intern was changing everything, he did accidentally learn Python. 09:38:07 JohnJansen: In so doing it, we realized that it is incredibly easy to write tests against WebDriver when you have NodeJS. 09:38:38 JohnJansen: If you want people to contribute to these tests, it seems we want to use JavaScript which everyone knows. 09:38:54 lukeis: Did he use jleyba's bindings? 09:39:25 simons: JohnJansen and tobie makes the point that people who don't work with the W3C are afraid of anything but JavaScript. 09:39:28 jgraham: No that's not true. 09:39:31 AutomatedTester: [agrees] 09:39:46 jgraham: We had this discussion long ago about the wpt repo. 09:39:58 jgraham: It used to be a mess. 09:40:19 jgraham: Everything is now standardized on Python. 09:40:33 JohnJansen: But the tests are written in JS? 09:40:37 jgraham: No, both. 09:40:51 JohnJansen: So we should write our tests in JS because we're testing WebDriver. 09:41:10 jgraham: My feeling is that if you start depending on NodeJS you're a very special snowflake. 09:41:21 MarcFisher: NodeJS would also mean we'd have to introduce a whole new set of dependencies. 09:41:42 simons: Lack of waiting and sync features. 09:41:57 JohnJansen: We did a hack to NodeJS to make it synchronous. 09:42:04 AutomatedTester: This is what happens everywhere. 09:42:17 AutomatedTester: We had this in Mozilla as well. Everyone is doing all these things. 09:42:22 gitbot has joined #testing 09:42:22 [13web-platform-tests] 15Ms2ger closed pull request #188: new WebGL arguments test files from TestTWF (06master...06submissions/hiroshik850223) 02https://github.com/w3c/web-platform-tests/pull/188 09:42:22 gitbot has left #testing 09:42:39 AutomatedTester: Python is easy to read, is a sync language, and is easy to write. 09:42:50 AutomatedTester: It's step-by-step. 09:43:04 AutomatedTester: People having to put in hacks to make it work with JavaScript, which is the word you used, seems wrong. 09:43:27 JohnJansen: I don't mind if the driver and the runner written in Python. 09:43:37 JohnJansen: But to have the _tests_ written in JavaScript. 09:43:44 MarcFisher: Why? 09:43:58 JohnJansen: It's easier for me to write JavaScript? 09:44:10 . 09:44:40 JohnJansen: I was trying to do a pull request, but our fork is in a bad state. 09:44:54 wilhelm: Is the fork available anywhere? 09:45:12 simons: Jonathan Lipps did a version of the Sauce JS WebDriver bindings using the ES6 yield keyword. 09:45:12 https://github.com/jlipps/yiewd 09:45:41 https://github.com/tepot2/JST 09:46:02 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators#Generators.3A_a_better_way_to_build_Iterators 09:46:30 lukeis: I need a test that has cross-domain frames, and you need to have a server on multiple ports or multiple domain names. 09:46:42 JohnJansen: We have internal servers for that. 09:47:03 jgraham: wpt already has this. 09:47:26 jgraham: If you run it on your local machine, you do need to edit your /etc/hosts file, but it gives you a big set of cross domain options. 09:50:14 ato: [explains about a patch he's working on for wptrunner] 09:50:28 simons: JS would be kind of nice, but the overhead of learning Python is relatively low. 09:51:04 AutomatedTester: We have a data point from China, where people actually did learn enough Python to contribute. 09:51:18 MarcFisher: Yeah, and then it's just the WebDriver calls which looks very similar. 09:51:23 seva: In JS they don't look as nice. 09:51:38 MarcFisher: Your intern did a good job of turning it into a sync test. 09:51:54 MarcFisher: But the approach is ugly. 09:51:57 MarcFisher: But tests nice. 09:52:18 jgraham: You can't rely on crowd sourcing to get good tests.. 09:52:54 jgraham: You have to rely on people who know their stuff and have a slight inclination towards evil to sit down and do this. 09:53:01 simons: Yes. 09:53:05 wilhelm: Yes. 09:53:16 Yes. 09:53:29 wilhelm: W3C should standardize on our format for writing browser automation tests. 09:53:42 wilhelm: I want us to keep us to keep this in mind. 09:53:58 wilhelm: We should figure out what the cost is in labour to use each of these two approaches. 09:54:17 wilhelm: What are our real alternatives in a five year perspective, and who is going to do the future work here? 09:54:41 AutomatedTester: All the major browser vendors, with the exception of Microsoft, has Python as their major language. 09:54:57 AutomatedTester: Their build environments, test environments rely heavily on Python. 09:55:34 ato: In-browser JS is different to NodeJS. It's a whole other beast. 09:55:59 jgraham: I'm certainly against adding more dependencies to wpt. 09:56:12 jgraham: And adding Node.js is certainly adding a big dependency. 09:56:28 jgraham: It's something new, and it means we have to make sure it's on all our test machines, &c. 09:56:45 jgraham: And you already have to know Python to write the server side part of the tests. 09:56:56 jgraham: Then you need to learn a new technology, Node.js, to write the tests. 09:57:10 simons: Can we please marshal the arguments I'm hearing? 09:57:32 simons: [repeats all points above] 09:58:38 jgraham: Node.js is not quite the same as client-side JS. 09:59:54 gitbot has joined #testing 09:59:54 [13web-platform-tests] 15Velmont closed pull request #116: Start of port of WebKit CORS tests (06master...06nokia_cors_tests) 02https://github.com/w3c/web-platform-tests/pull/116 09:59:54 gitbot has left #testing 10:00:00 wilhelm: So there are valid points for each side. 10:00:04 wilhelm: What are the costs? 10:00:25 JohnJansen: Any new tests we write would have to be converted to Python. 10:00:37 MarcFisher: But that's not very much work? 10:00:42 JohnJansen: There's about 200 tests. 10:00:49 s/There's/There are/ 10:01:22 JohnJansen: In this repo I think there's an additional 30 or so tests. Then about 150 on his machine. 10:01:37 JohnJansen: The ones that there are up there are mostly really simple. 10:02:32 simons: What are the other WG going to do? 10:02:42 JohnJansen: I don't want WebDriver to be the only Node.js user. 10:02:55 jgraham: I think the CSS WG is eventually going to be in wpt. 10:04:32 MarcFisher: When people talk about writing tests in JS, they tend to mean writing client-side in-browser tests. So saying Python would clearly indicate out of process tests. 10:04:37 JohnJansen: That's an interesting aspect. 10:04:44 wilhelm: So should we gather some data points? 10:04:58 wilhelm: Write up a set of canonical tests in each language and present them to the WGs? 10:05:02 wilhelm: Then hear what they say? 10:05:18 jgraham: I don't think you have to focus too hard on the marketing of this, I think it sells itself. 10:07:01 wilhelm: So how to we solve this? 10:07:11 JohnJansen: I think I understand the argument against taking a Node.js dependency. 10:07:40 JohnJansen: I think I'd like to take the logs back to my team to figure out how much it's going to cost us convert the tests. 10:08:41 lukeis1 has joined #testing 10:09:58 ato: Even if we go with the Python approach, there's going to be a lot of work. Many of the tests have not been reviewed properly and many are subject to critical review and possibly rewriting. 10:10:25 ato: With that in mind it would be good to also take the MS-written JS tests into consideration. 10:11:45 ACTION: JohnJansen discuss cost of PYTHON test conversion as well as learning PYTHON with team and report results back to the WG 10:12:03 MarcFisher has joined #testing 10:12:19 ACTION: JohnJansen stop shouting PYTHON 10:13:18 http://ironpython.net/ 10:15:36 I added an agenda item to review the test suite as well 10:15:44 Topic: Discuss touch input section of the spec http://lists.w3.org/Archives/Public/public-browser-tools-testing/2014AprJun/0007.html 10:15:51 http://lists.w3.org/Archives/Public/public-browser-tools-testing/2014AprJun/0007.html 10:15:57 http://lists.w3.org/Archives/Public/public-browser-tools-testing/2014AprJun/0007.html 10:16:02 jimevans1 has joined #testing 10:16:20 JohnJansen: At the last F2F we discussed implementing touch and touch behaviours in WebDriver. 10:16:41 JohnJansen: And I realized afterwards that we were trying to standardize what people to do their browsers with their hands. 10:17:00 JohnJansen: When you touch and move your finger quickly, that should be recognized as a certain thing. 10:17:10 JohnJansen: This is already being standardized in the Pointer Events spec. 10:17:22 gitbot has joined #testing 10:17:22 [13web-platform-tests] 15alsemenov closed pull request #609: Tests for callback 'created' (06master...06submission/unipro-custom-elements-4) 02https://github.com/w3c/web-platform-tests/pull/609 10:17:22 gitbot has left #testing 10:17:23 JohnJansen: So my feeling is that we shouldn't specify this in the WebDriver specification. 10:18:30 JohnJansen: It would allow for a more generic implementation. 10:18:38 JohnJansen: It would allow for devices such as Kinect. 10:18:56 JohnJansen: Additional ones like pen, which have additional attributes. 10:19:38 AutomatedTester: The one argument I have against it is that no two vendors can agree on what those actions are. 10:19:49 AutomatedTester: Google and Apple have recently said they're not doing Pointer Events. 10:19:56 JohnJansen: Google is going to do it. 10:21:02 MarcFisher: It's going to make it difficult to write cross browser tests. 10:22:21 MarcFisher: WebDriver for IE would know how to trigger a hover. 10:22:42 JohnJansen: So each driver would have to special case different browser types and OSes. 10:23:19 JohnJansen: It makes a lot more sense for me, regardless what the input is, to be more generic. 10:23:51 JohnJansen: Standardizing “a gesture is this thing” is not something that's good, because it's specified elsewhere. 10:23:58 JohnJansen: The word “gesture” is problematic. 10:24:21 http://www.w3.org/TR/pointerevents/ 10:24:54 JohnJansen: I don't think we should go and describe these events in a different way than this spec is doing already. 10:25:02 simons: Yeah. There is hillarious things in there though. 10:25:10 JohnJansen: But each browser does that individually too. 10:25:18 simons: The events that the browser sees are under the glass. 10:25:37 simons: And we're trying to define what happens when you put your finger on top of the glass. 10:26:27 simons: If you're mirroring the underlying API too closely, you're really defining the events that are triggered underneath the glass. 10:26:44 simons: Tap. 10:26:56 JohnJansen: Has pretty diverse meaning. 10:27:15 RRSAgent, make minutes 10:27:15 I have made the request to generate http://www.w3.org/2014/07/08-testing-minutes.html MikeSmith 10:27:52 simons: Different machines may have different settings for breaking events with waiting in between. 10:29:07 simons, JohnJansen: [long discussion] 10:29:41 MarcFisher: We're trying to test web applications mostly. And the fact that in browser X a double tap has to be within 500 ms is completely unimportant to that user. 10:29:53 MarchFisher: What they want to be able to do is to say that this is a double tap. 10:30:00 s/MarchFisher/MarcFisher/ 10:30:19 simons: I think you want both kinds. 10:30:41 simons: Intent of mind that can be captured. Intending to do a double tap, then underneath it does a sleep for n milliseconds. 10:30:47 simons: Then you want the primitives. 10:31:13 simons: It would be nice for the wait primitive to take either a specific or a symbolic timeout. 10:31:43 MarcFisher: The use cases for the primitives are far fewer than the higher level actions. 10:31:43 http://www.w3.org/2014/02/26-testing-minutes.html#item03 10:31:52 JohnJansen: What about putting your finger down and moving it across the page? 10:32:02 MarcFisher: I want to say that this is either a fling or a touch action. 10:32:06 JohnJansen: But it's not standardized. 10:32:14 JohnJansen: So it's impossible to know. 10:32:39 simons: updated spec (not yet reviewed) http://malinidas.com/site_media/webdriver-spec.html#methods-12 10:33:14 JohnJansen: With more generic API you can do a lot more devices. 10:33:19 and wait was discussed http://www.w3.org/2014/02/26-testing-minutes.html 10:33:34 simons: Discussion has around periods of time. 10:33:44 simons: But the right question is, do we have the right level of abstraction? 10:34:03 MarcFisher: Baking it into the API is a reasonable thing. 10:34:10 There are two issues: timing and API abstraction 10:34:30 MarcFisher: We also need to support higher-level actions because the most common use case is to write tests for a web app across multiple browsers. 10:34:44 mdas: Let's say you want to do a hover. 10:34:59 MarcFisher: Flick, long-press already exists. 10:35:02 AutomatedTester: Flick is gone. 10:35:14 JohnJansen: Conversation last time was, how long is a long press? 10:36:13 AutomatedTester: Differs from browser to browser, so you need to delegate it to the internals. 10:36:49 seva: Could you query what the action timings would be? 10:36:57 abarsto has joined #testing 10:36:58 simons: No, you wouldn't query the driver implementation across the wire. 10:37:03 simons: You'd tell it what you want. 10:37:16 simons: But the browser knows, and consequently the driver which is controlling the browser should know. 10:39:02 http://www.w3.org/2014/02/26-testing-minutes.html 10:39:16 http://www.w3.org/2014/02/26-testing-minutes.html#action30 10:39:37 http://www.w3.org/2014/02/26-testing-minutes.html#action22 10:39:59 http://www.w3.org/2014/02/26-testing-minutes.html#action25 10:40:00 mdas: Why was long press going to be removed? 10:40:07 simons: Down and up, wait for a period 10:40:26 mdas: How would the client bindings know what the wait period would be for each browser? 10:40:32 MarcFisher: They would be symbolic. 10:40:42 mdas: It feels like we should delegate that to the browser. 10:40:46 mdas: The browser wouldn't know it. 10:40:51 simons: Constant. 10:40:55 simons: Mouse.DOUBLE_TAP 10:41:03 simons: Handfull of well known. 10:41:28 mdas: Maybe pause can take a parameter, context is true? 10:42:15 simons: Mouse down, pause, take constant which would be a symbol, then mouse up. And other side of wire (remote): Hang on, down, see this is symbol then it uses the constant it has programmed, then up. 10:42:39 simons: If it's an OS specific thing, then look it up. If it's a browser-specific, do an internal lookup. 10:42:44 mdas: What would be the type of a symbol? 10:42:47 simons: It would be a string. 10:42:51 mdas: Makes sense now. 10:43:33 JohnJansen: Working with the pointer events would be better than specificying this. 10:43:35 simons: Yeah. 10:44:05 AutomatedTester: On a phone you mash the screen. 10:44:08 AutomatedTester: Escape. 10:44:21 mdas: But it's totally vendor specific. 10:44:23 JohnJansen: Yes. 10:44:28 s/AutomatedTester: Escape/mdas: Escape 10:44:32 JohnJansen: It's not just the browser. IE immersive 10:44:41 behaves differently from the desktop IE. 10:45:09 JohnJansen: A generic pointer can do the same thing with a pen as you do with a mouse as you do with touch. 10:45:18 JohnJansen: I think we should allow them to standardize it. 10:45:26 JohnJansen: Then hook onto that effort. 10:45:44 JohnJansen: We shouldn't standardize what a long press is. But we already resolved that by using a symbol. 10:46:02 simons: Does this spec define what constitutes a double tap? 10:46:04 JohnJansen: No. 10:46:16 JohnJansen: But that's something we need to talk to them about. 10:46:25 MarcFisher: They also match the pointer events to mouse events. 10:46:47 MarcFisher: Section 11 10:47:25 MarcFisher: They don't talk about double click, but they do talk about click and context menu. 10:49:15 simons: This seems like a crazy level of abstraction. 10:49:24 simons: And we know that that's going to ripple out to all these events. 10:49:28 AutomatedTester: Yeah. 10:49:34 MarcFisher: Also it seems incomplete. 10:49:49 wilhelm: So how do we move forward here? 10:50:17 simons: There's bits from the previous proposal that I'm not hearing people disagree with. 10:50:29 simons: There are bits that are uncontroversial. 10:50:45 simons: There is some debate around having different mouse, touch, keyboard events. 10:50:52 simons: Or if we have a single pointer events interface. 10:50:57 MarcFisher: Keyboard not included. 10:51:28 AutomatedTester: I don't want people to mirror the pointer events spec. 10:51:29 simons: Yes. 10:51:45 simons: So we need a new name which doesn't leave people mistaking the two. 10:51:52 simons: Keyboard abstraction, Keyboard, is okay. 10:51:57 People agree. 10:52:09 jimevans has joined #testing 10:52:13 simons: It sounds like we want to do something with mouse-ish events. 10:52:22 JohnJansen: I'm not sure if it needs to be different. 10:52:23 jimevans1 has joined #testing 10:52:33 simons: But AutomatedTester wants to avoid using “Pointer Events”. 10:52:40 JohnJansen: That's why I used “Pointer Actions”. 10:52:45 Room going: Aaah. 10:52:57 simons: Keyboard action, pointer action. 10:53:54 ato: Isn't that local end? 10:53:59 simons: Well we want to get to LC. 10:55:41 simons: MouseAction which extends PointerAction. 10:56:12 seva: But on the wire protocol level there would only be pointer actions. 10:56:26 simons: Okay so let's discuss the primitives then. 10:56:31 simons: We need to define some symbols. 10:56:42 JohnJansen: Set attribute "tilt" 3 degrees. 10:56:49 JohnJansen: name/value? 10:56:55 simons: name and an array? 10:57:10 simons: Then you'd be okay if you wanted to give it more parameters. 10:57:42 simons illustrates API on whiteboard. 10:58:33 http://malinidas.com/site_media/note1actions.svg 10:59:59 AutomatedTester now tries to illustrate. 11:02:09 [discussion about data representation] 11:06:40 simons: So we definitely have a KeyboardAction 11:06:48 simons: Then we have a WaitAction 11:07:24 simons: … would have a property "duration" which is measured in milliseconds. 11:08:20 simons: KeyboardAction: keydown, keyup 11:08:28 simons: Keys constants. 11:08:58 simons: KeyboardAction: keydown, keyup, wait 11:09:49 MarcFisher: PointerAction > KeyboardAction 11:09:56 JohnJansen: No that doesn't make sense. 11:26:23 Current progress: 11:26:26 Pointer: wait(ms int), release(), setattribute(name string, values []object) 11:26:26 KeyboardAction: keydown(key string), keyup(key string) 11:26:26 PointerAction: down(button int), up(button int), move(x, y int, element WebElement), cancel() 11:26:30 Lunch. 11:51:20 gitbot has joined #testing 11:51:20 [13web-platform-tests] 15Ms2ger pushed 1 new commit to 06master: 02https://github.com/w3c/web-platform-tests/commit/c227d5cd4aa70eb2d638de33518a02c8bc0f68e7 11:51:20 13web-platform-tests/06master 14c227d5c 15Ms2ger: Remove backup file. 11:51:20 gitbot has left #testing 12:06:30 plh has joined #testing 12:08:58 MK has joined #testing 12:13:22 mdas has joined #testing 12:14:21 simons has joined #testing 12:15:28 jimevans has joined #testing 12:17:20 Scribe: jimevans 12:17:39 jimevans: Above I posted the situation so far. 12:18:10 simons giving a summary 12:18:25 two tasks remaining 12:18:34 first, how to cancel and reset all user input state 12:19:07 second, how to do a high-level "do what i mean" method 12:20:10 MarcFisher: proposes automatic reset of user state 12:21:05 discussion around how to reset user input state. 12:21:33 MarcFisher: this should be a separate end point on the API 12:23:17 decision reached. send a delete verb to the actions endpoint is a "reset state command" 12:24:26 simons: how do we design using high-level interaction commands? 12:24:54 high-level actions imply clearing of input state before and after action. 12:25:50 wilhelm: suppose i have a sequence where i've left the input state in a certain state. can i stop and inspect the document? 12:26:02 answer is yes, that's what it's designed to do 12:27:13 MarcFisher: json payload should have a sequence id for cross-action sequencing 12:27:27 mdas: you don't need to do that 12:28:17 MarcFisher: simply correlating the arrays element index is error-prone. 12:29:20 discussion of description of json payload for action sequences 12:32:14 LukeInman-Semerau: what if someone sends malformed or invalid JSON for the action? 12:33:13 simons: throws an error in that case 12:33:46 MarcFisher: devices can define what they accept as valid input 12:34:39 keyboard and mouse devices should probably be singleton 12:35:07 tangent on how many fingers are supported by the microsoft surface table product 12:35:41 seva: did we forget about touchpads? 12:35:55 jimevans: for level 1 we are pretending touchpads do not exist. 12:36:49 the API is fully extensible for any other devices. 12:37:43 simons: does the JSON payload for a specific action require a type property? 12:38:20 acceptable types to be defined in this spec: key, mouse, touch 12:38:52 other types can be defined using vendor prefixes. 12:41:04 discussion about how strict the typechecking of attributes in action JSON 12:43:25 specific example: a "tilt" attribute in the JSON object. how do we implement? 12:46:16 additional action names and additional properties in the actions will be handled by vendor prefixes until standardized in later spec levels 12:47:23 unknown action types or unknown fields in existing action descriptions will all return an error code. 12:48:56 ACTION: strictly specify all supported device types, action types, and parameters in each action type. 12:49:24 JohnJansen: can we standardize on pen actions? 12:50:04 s/ACTION: strictly specify all supported device types, action types, and parameters in each action type./ACTION: mdas to strictly specify all supported device types, action types, and parameters in each action type. 12:50:08 simons: once this change has been landed, "pen" input actions can be added 12:50:32 ACTION: JohnJansen to patch the spec with pen input actions 12:51:21 discussion around which wait times are required for the wait attribute 12:51:54 s/wait attribute/wait action/ 12:52:47 ACTION: mdas to define symbols for wait times 12:54:09 ShuotaoGao: which action should happen first in a multi-action sequence? 12:54:19 as close to simultaneous as possible. 12:54:58 seva: since they can't be actually simultaneous, should we specify the order? 12:55:44 simons: there may be a millisecond between the actions, but it should be close enough. 12:56:02 simons: once we've got an implementation, since no one has implemented this... 12:56:12 mdas and DavidBurns: we have! 12:56:47 simons: well, not this brand-new implementation, so when that is done, we can see what issues, if any, occur. 12:57:17 JohnJansen: sequence of "simultaneous" actions happen in the order the actions appear in the array. 12:57:30 mdas: we don't control the event queue 12:57:45 simons: no, but you can control what order you put things into the event queue. 12:57:53 MK has joined #testing 12:58:32 MarcFisher: but what if an implementation decides to always process keyboard first, then mouse, for example, 12:59:16 simons: it's still an implementation detail to be left to the discretion of the implementor. 12:59:42 decision: order of actions within the array will not be specified. 13:00:10 https://www.w3.org/wiki/WebDriver/2014-July-F2F 13:01:10 TOPIC: input elements where type=file and multiple file inputs 13:01:10 topic: Discuss input type=file & multiple 13:02:03 simons: how do we handle input elements with different (think HTML5) inputs? 13:02:55 discussion from previous f2f, which never got added to the spec. 13:04:00 action: MarcFisher to add information to the spec about additional types of input elements. 13:05:05 topic: What will the web-platform-tests webdriver test runner look like/use? 13:05:46 mdas: how will i run the wpt tests that are webdriver tests when i have a driver that uses a tcp socket (not an http transport)? 13:06:56 JamesGraham: the test runner is configurable for different browsers, so we should be able to allow that. 13:08:13 ato: one common api, but separate code will be required for launching each browser 13:09:12 ato: the life cycle of the browser should be managed by the runner, not the tests themselves. 13:17:09 ShuotaoGao: https://github.com/SeleniumHQ/selenium/pull/168 13:17:55 scribe: JohnJansen 13:18:20 seva: test runner should manage browser sessions. 13:18:27 .. does it already do that? or need an action? 13:18:52 jgraham: don't need a new action, it's an ongoing effort 13:19:01 http://www.w3.org/2014/02/25-testing-minutes.html 13:19:03 ato: I'm working on it. 13:19:06 http://www.w3.org/2014/02/25-testing-minutes.html 13:19:34 http://www.w3.org/2014/02/25-testing-minutes.html#ActionSummary 13:19:42 MarcFisher has joined #testing 13:19:52 Topic: Current Action items from above link 13:20:15 1. Add definition for getElementText to the appropriate section of spec 13:20:26 simons: already done 13:20:34 2. ato to research root element behaviour in HTML and XML 13:21:13 lukeis: I will create bugs for these 13:22:01 AutomatedTester: bug has been logged against CSSWG 13:22:16 https://www.w3.org/Bugs/Public/show_bug.cgi?id=23825 13:23:38 MikeSmith is about to get an action item… 13:27:04 Excellent. 13:28:27 [going over actions from last time and logging bugs] 13:30:28 http://www.w3.org/2014/02/26-testing-minutes.html#action30 13:35:35 JohnJansen to investigate setting up a mechanism to determine which requirements in the spec have tests 13:41:06 all Actions from previous F2F have been modified into bugs 13:41:11 as necessary 13:41:59 [break] 13:45:45 MarcFisher_ has joined #testing 13:49:01 MarcFisher has joined #testing 13:50:56 TOPIC: HTML encoding over the wire 13:51:18 simons: sendKeys() to the date format input type 13:51:19 seva: raised https://www.w3.org/Bugs/Public/show_bug.cgi?id=26290 and 26291; others were "to write tests" which we decided not to raise and hope for bug 26291 to take care of tracking. 13:51:57 jgraham: go through HTML spec element by element 13:53:16 marcfisher: when you sendKeys() to a field that makes sense to append, we append. With color (for example), we replace. 13:53:31 marcfisher: I have an action to update the spec with this language 13:54:20 JimEvans: that answers one question. #2 are we considering using low level actions as the basis for higher level actions. 13:54:22 03 13:54:22 dawagner@gmail.com closed/Fixed DOCS: Typo in PageFactory documentation - https://code.google.com/p/selenium/issues/detail?id=2 [Type-Defect ] 13:54:34 simons: you should be able to model them, but not required 13:55:24 TOPIC: are we on course for our proposed timeline? 13:55:26 http://www.w3.org/2011/08/browser-testing-charter.html 13:55:59 wilhelm: we have a charter to 31 Dec 2015 13:56:17 .. milestones, however need to be met: 13:57:02 ato: only AutomatedTester is editing the spec, and he seems too busy to meet the deadlines 13:57:37 jgraham: I think one person owning it makes sense, though, because he doesn't need to wait for others. On the other hand, having that same person write all of the tests doesn't make sense. 13:58:13 it's difficult to know what time I'll have over the coming months 13:58:30 simons: hard to carve out time, but if we schedule meetings, it might work well. 13:59:11 jgraham: CSSWG has done a good job jointly writing specs, but that is the rare example. 13:59:56 ato: unrealistic that David can do this all himself. Perhaps mdas could take some actions from David. 14:00:13 gitbot has joined #testing 14:00:13 [13web-platform-tests] 15hayatoito closed pull request #899: shadow dom: add code confirm activeElement is readonly and refactor the ... (06master...06submissions/iseki-masaya.activeElement) 02https://github.com/w3c/web-platform-tests/pull/899 14:00:13 gitbot has left #testing 14:00:18 jgraham: makes sense to distribute draft material, and then have one editor 14:00:40 marc 14:01:30 [discussion of recurring spec hackathons] 14:02:34 mdas: what are the major parts we need to draft? 14:03:04 AutomatedTester: there aren't a lot of new parts, but we need to rework a lot of the prose (start from scratch in certain sections) 14:03:22 wilhelm: james, can you help write draft patches? 14:03:50 AutomatedTesting: james's focus right now is on the testing, which is where we need him. 14:04:14 Wilhelm: TPAC is in Oct 30 and 31st 14:04:53 GTAC is 28-29 Oct 14:05:04 Starwest is 12-17 Oct 14:05:12 http://www.w3.org/2014/11/TPAC/ 14:06:38 so if we're going to be Last Call before TPAC, we need to schedule work 14:06:55 ato: as we write tests we will find issues in the spec 14:07:48 ato: I've been writing tests and I will take the spearhead on the test suite 14:10:01 JohnJansen: I will work to see if the CSSWG process will work with our spec 14:11:15 jgraham: fair warning: it is easy to fall into a trap of just testing the spec 14:11:54 I agree with James. we need ot meet W3C REC requirements but ALSO test the spec, the most interetsting bugs will be combinatorial in nature. 14:12:35 wilhelm: will MS have resources to help? 14:12:44 ains has joined #testing 14:13:00 Yes, but not sure I can convert to Python as well 14:13:21 I'll have my intern make them public even if just Jscript versions to help. 14:14:12 jgraham: some cool metaphor about bugs being flies that safely sail through spider webs of boring test cases 14:14:36 wilhelm: lukeis will you have time? 14:14:45 lukeis: likely, yes. Same with JimEvans 14:14:55 .. some time can be carved out. 14:16:10 wilhelm: so we are carving out test time, next the spec authors need to get together to work on the spec itselfr 14:16:19 s/itselfr/itself 14:17:15 i'll put all of our tests up in git by 18 July. 14:18:03 mdas: I'll work on it this week 14:19:23 Scribe: wilhelm 14:19:32 Topic: Review of the test suite 14:23:37 gitbot has joined #testing 14:23:37 [13web-platform-tests] 15sideshowbarker closed pull request #325: app-URI spec compliance tests (06master...06submission/martap) 02https://github.com/w3c/web-platform-tests/pull/325 14:23:37 gitbot has left #testing 14:25:30 ato: The Python test suite is very unorganized, so it'll take a long while for all of us to go through it together. 14:25:37 JohnJansen: So we should look through it individually? 14:26:02 ato: All the tests require critical review. 14:26:13 ... The spec has also changed dramatically since the tests were written. 14:26:22 JohnJansen: When we submit tests, we flag them as being not reviewed? 14:26:30 ato: All the current tests must be reviewed. 14:26:38 JohnJansen: I previously assumed they had been reviewed. 14:26:53 ato: We started with the tests in a hg repo. We have since moved them to wpt. 14:26:59 ... Many tests have not been reviewed. 14:27:03 ... The majority. 14:27:12 ... They even need a re-review now that the spec has changed. 14:27:28 jgraham: This is a perennial problem with writing tests against a spec that is also changing. 14:27:42 ato: My gut feeling is that we should revisit this topic at the next F2F. 14:27:48 jimevans: That isn't until TPAC, though. 14:27:58 ato: What if I go through them, and send out an email? 14:28:11 jgraham: Yes, it makes more sense to use async communication. 14:28:18 ato: Yes, especially code review. 14:28:28 seva: Is this to check that the group is okay with the tests? 14:29:00 Marc: I changed the tests to use the new driver. 14:29:08 ato: One of the sections I'm mot unsure about is the visibility section. 14:29:14 s/mot/most 14:29:24 ato: 90% of the tests are not covered by the algorithm. 14:29:32 ato: SHould we remove those, or add them to the algorithm? 14:29:36 Marc: both. 14:29:40 simons: Yes. 14:29:47 seva: Where are the tests from? 14:29:50 ato: Written by me. 14:29:57 seva: I added some of those. 14:30:21 ato: There's also fresh tests that are not in Selenium. 14:30:28 https://github.com/w3c/web-platform-tests/blob/master/webdriver/element_state/visibility_test.py 14:30:51 JohnJansen: The test with omitted body tag, both Chrome and FF fails. 14:31:23 seva: It tests what the spec says... 14:31:31 ... I submitted a fix of this a week or two ago into the atoms. 14:31:35 ... ChromeDriver uses old atoms. 14:31:56 JohnJansen: We'll need to choose if we should comply with the spec, or interop. 14:32:04 lukeis: Compliant. 14:32:23 JohnJansen: What we find is that the web often doesn't agree... 14:32:35 seva: With the body element, we found the root cause. Fixed two weeks ago. 14:33:19 wilhelm: If the tests are more detailed than the spec, the behaviour should go into the spec. 14:33:31 JohnJansen: I could just call out the 14 tests that both Chrome or Firefox fail. 14:34:04 jgraham: Once we have wptrunner running, we can get results for multiple browsers in JSON. 14:34:16 JohnJansen: We are making decisions on these tests... 14:34:46 https://github.com/w3c/web-platform-tests/tree/master/webdriver 14:35:00 https://github.com/w3c/web-platform-tests/blob/master/webdriver/element_state/visibility_test.py 14:35:29 MarcFisher has joined #testing 14:35:56 https://github.com/w3c/web-platform-tests/blob/master/webdriver/element_state/visibility_test.py#L190 14:36:31 seva: This issue has been fixed. 14:36:36 ato: This only makes sense for HTML, right? 14:36:58 ato: We should probably have one for HTML and one for XML. 14:37:15 jgraham: By the time you get it, it'll be a DOM tree. 14:37:23 MarcFisher_ has joined #testing 14:38:35 (Discussion on the specifics on this particular test.) 14:38:47 MarcFisher_: This test found a real bug. 14:38:51 MarcFisher__ has joined #testing 14:38:52 ... I think it's worth keeping. 14:39:09 seva: We should modify the wording in the spec to not talk about implicit elements? 14:40:10 (Discussion on special behaviour of in HTML vs XML, quirks mode and standards mode.) 14:40:23 I was wrong, the spec does not actuslly talk about implicit BODY so there's nothing to change in there 14:40:34 ato: Is't this outside the scope of the spec? 14:41:03 JohnJansen: We're trying to define visibility not as defined by CSS, but as seen to a used. 14:41:11 jgraham: The algorithm is using DOM or CSS properties. 14:42:08 https://github.com/w3c/web-platform-tests/blob/master/webdriver/element_state/visibility_test.py#L131 14:42:20 RESOLVED: Follow the spec on https://github.com/w3c/web-platform-tests/blob/master/webdriver/element_state/visibility_test.py#L190 14:43:25 https://github.com/w3c/web-platform-tests/blob/master/webdriver/element_state/res/element-hidden-by-z-index.html 14:44:55 (Discussion on how to detect which element is on top, judging by z-index.) 14:46:57 ACTION: JohnJansen to figure out how IE passes https://github.com/w3c/web-platform-tests/blob/master/webdriver/element_state/res/element-hidden-by-z-index.html 14:49:09 https://github.com/w3c/web-platform-tests/blob/master/webdriver/navigation/auth_tests.py#L39 14:49:39 JohnJansen: This test fails in Chrome and FF. 14:50:12 lukeis: This is one of the oldest bugs in WebDriver... 14:50:17 ato: Is this in the spec? 14:50:52 ato: Selenium doesn't support this. 14:51:27 RESOLVED: We move 401 auth to level 2 14:51:46 #34 14:51:48 03 14:51:48 simon.m.stewart open/Accepted Support BASIC and Digest HTTP authentication - https://code.google.com/p/selenium/issues/detail?id=34 [Type-Enhancement Priority-Medium Component-WebDriver ] 14:52:00 https://github.com/w3c/web-platform-tests/blob/master/webdriver/element_state/method_test.py 14:52:26 glenn has joined #testing 14:53:27 JohnJansen: The test I'm referring to requests and attribute that doesn't exist. Both FF and Chrome returns an error. 14:53:32 AutomatedTester: They should return null. 14:53:50 https://github.com/w3c/web-platform-tests/blob/master/webdriver/element_state/res/element-without-attribute.html 14:53:53 MarcFisher__: It's quite possible that our special casing is broken. 14:54:21 (References to different, related tests.) 14:54:32 MarcFisher__: The special casing around class is breaking it somehow. 14:54:46 JohnJansen: The remaining are all the same: six failures because of status code. 14:54:54 simons: Returning strings is correct. 14:55:12 RESOLVED: Use strings for errors. 14:55:57 (Discussion on compat mode vs legacy mode in the current driver.) 14:56:45 JohnJansen: That's all! 14:57:42 mdyck has joined #testing 14:58:04 Topic: Switch to window 14:58:22 (Discussion of identifier for windows.) 15:02:16 ACTION: switchToWindow shall only take window handles 15:03:50 Topic: TPAC 15:07:27 http://www.w3.org/2014/11/TPAC/ 15:07:29 jimevans has joined #testing 15:11:34 Meeting finished! 15:11:40 RRSAgent, draft minutes 15:11:40 I have made the request to generate http://www.w3.org/2014/07/08-testing-minutes.html wilhelm 15:11:59 RRSAgent, sod off 15:11:59 I'm logging. I don't understand 'sod off', wilhelm. Try /msg RRSAgent help 15:12:03 RRSAgent, bye 15:12:03 I see 11 open action items saved in http://www.w3.org/2014/07/08-testing-actions.rdf : 15:12:03 ACTION: jgraham to Talk Hixie (HTML5 guys) about adding some hook into navigate algorithm to prevent navigation to certain subsets of URLs/schemas/protocols. [1] 15:12:03 recorded in http://www.w3.org/2014/07/08-testing-irc#T09-28-48 15:12:03 ACTION: To add text in the privacy section that you MAY consider blocking navigation to blacklisted domains. [2] 15:12:03 recorded in http://www.w3.org/2014/07/08-testing-irc#T09-32-14 15:12:03 ACTION: MarcFisher to Change prose around limiting connections in F2 [3] 15:12:03 recorded in http://www.w3.org/2014/07/08-testing-irc#T09-35-58 15:12:03 ACTION: JohnJansen discuss cost of PYTHON test conversion as well as learning PYTHON with team and report results back to the WG [4] 15:12:03 recorded in http://www.w3.org/2014/07/08-testing-irc#T10-11-45 15:12:03 ACTION: JohnJansen stop shouting PYTHON [5] 15:12:03 recorded in http://www.w3.org/2014/07/08-testing-irc#T10-12-19 15:12:03 ACTION: strictly specify all supported device types, action types, and parameters in each action type. [6] 15:12:03 recorded in http://www.w3.org/2014/07/08-testing-irc#T12-48-56 15:12:03 ACTION: JohnJansen to patch the spec with pen input actions [7] 15:12:03 recorded in http://www.w3.org/2014/07/08-testing-irc#T12-50-32 15:12:03 ACTION: mdas to define symbols for wait times [8] 15:12:03 recorded in http://www.w3.org/2014/07/08-testing-irc#T12-52-47 15:12:03 ACTION: MarcFisher to add information to the spec about additional types of input elements. [9] 15:12:03 recorded in http://www.w3.org/2014/07/08-testing-irc#T13-04-00 15:12:03 ACTION: JohnJansen to figure out how IE passes https://github.com/w3c/web-platform-tests/blob/master/webdriver/element_state/res/element-hidden-by-z-index.html [10] 15:12:03 recorded in http://www.w3.org/2014/07/08-testing-irc#T14-46-57 15:12:03 ACTION: switchToWindow shall only take window handles [11] 15:12:03 recorded in http://www.w3.org/2014/07/08-testing-irc#T15-02-16