16:55:51 RRSAgent has joined #webdriver 16:55:51 logging to http://www.w3.org/2016/07/14-webdriver-irc 16:55:58 RRSAgent: Yo, wazzap? 16:55:58 I'm logging. Sorry, nothing found for 'Yo, wazzap' 16:56:45 RRSAgent: hello 16:57:03 RRSAgent: please make these logs world-visible 16:57:14 RRSAgent: please draft the minutes 16:57:14 I have made the request to generate http://www.w3.org/2016/07/14-webdriver-minutes.html ato 16:57:28 RRSAgent: please make these logs world-visible 16:57:37 scribe: ato 16:57:41 scribe: Andreas Tolfsen 16:57:43 scribenick: ato 16:57:52 chair: David Burns 16:57:54 chairnick: AutomatedTester 16:58:02 RRSAgent: please draft the minutes 16:58:02 I have made the request to generate http://www.w3.org/2016/07/14-webdriver-minutes.html ato 16:58:04 present+ jimevans 16:58:15 presents+ AutomatedTester 16:58:18 scribe- ato 16:58:37 title: WebDriver F2F meeting July 2016 16:58:44 RRSAgent: please draft the minutes 16:58:44 I have made the request to generate http://www.w3.org/2016/07/14-webdriver-minutes.html ato 16:59:11 Meeting: WebDriver F2F meeting July 2016 16:59:12 RRSAgent: please draft the minutes 16:59:12 I have made the request to generate http://www.w3.org/2016/07/14-webdriver-minutes.html ato 16:59:42 RRSAgent: drop scribe ato 16:59:42 I'm logging. I don't understand 'drop scribe ato', ato. Try /msg RRSAgent help 16:59:55 samuong has joined #webdriver 17:00:33 present+ SamUong 17:00:38 Present+ jgraham 17:00:47 present+ JohnJansen 17:00:51 ClayMartin has joined #webdriver 17:00:56 present+ ClayMartin 17:01:04 present+ Andreas Tolfsen 17:01:09 RRSAgent: please draft the minutes 17:01:09 I have made the request to generate http://www.w3.org/2016/07/14-webdriver-minutes.html ato 17:02:16 Topic: Agenda review 17:02:23 JohnJansen: The Edge performance PM wants to talk to the WG. 17:02:27 JohnJansen: Best around lunch. 17:02:29 JohnJansen: This is Tod. 17:02:59 ClayMartin: I wanted to talk to extensions. 17:03:27 ato: People have to leave early. 17:03:32 ato: JohnJansen needs to leave early. 17:03:41 ato: We should prioritise what JohnJansen thinks is important. 17:03:48 JohnJansen: I mentioned tests, but maybe we should wait. 17:03:59 Topic: Self-signed certificate handling 17:06:12 scribe: AutomatedTester 17:08:16 ato: We had a discussion at Mozilla and had a number of concerns 17:08:45 ato: 1) Implementation specifics 2) and the security issues 17:09:07 ato: Selenium has the acceptUntrustedSsl 17:09:18 jimevans: only the FirefoxDriver can support this 17:09:45 ato: I was actually wondering that, it is probably because Firefox has its own NSS db 17:09:59 ato: Safari and IE uses the system stores 17:10:27 jgraham: Is this implementable for everyone? 17:10:42 brrian: Implementation and security are 2 issues here. 17:10:57 jgraham: this is our issue... 17:11:27 ato: we have concerns about the increased attacked surface... 17:12:07 ClayMartin: if webdriver is on the machine and starts the browser we are past the point of protecting the users 17:13:13 ato: for Firefox we could create the cert in the profile and put it through 17:13:33 brrian: safari we dont have profiles so we dont have this approach 17:14:03 brrian: and while it could be done the browser team might be totally against this... 17:14:28 jimevans: the end users of webdriver often have very little control against the machine they are testing against. 17:14:38 https://w3c.github.io/webdriver/webdriver-spec.html#invalid-ssl-certificates 17:14:46 jimevans: this is unfortunately the reality... 17:15:03 ato: I agree, my concern is with the design... 17:15:22 ato: we could pass in a list of whitelist approach of domains to support 17:15:33 brrian: this is more realisable if it is using the whitelist approach 17:16:03 JohnJansen: we don't worry about it... if you have webdriver you machine is not secure anymore. 17:16:43 jimevans: in IEDriver you can install the cert in the cert store 17:16:51 brrian: we ship safaridriver in the OS 17:17:25 samuong: we ignore ssl certs, we use the flag thats in chrome 17:18:51 ato: it would be good to have the ability to to check the cert is invalid 17:19:02 samuong: acceptUntrustedSsl does this already 17:19:10 ato: yes, but I dislike the design 17:19:51 ato: the other question, do we like the current design. Currently it is only a boolean, it might be better to have a whitelist 17:20:08 brrian: the whitelist idea is a more palatable idea for security. 17:21:57 jgraham: what are the usecases here that we are trying to support? 17:22:03 brrian: testing mixed-content 17:22:42 brrian: if you can't install a cert to your cert store on mac, you can't run safaridriver either 17:24:36 automatedtester: does anyone get telemetry on certs? 17:24:44 samuong: no, we dont currently 17:24:54 JohnJansen: we do, let me look 17:25:33 samuong_ has joined #webdriver 17:27:36 JohnJansen: no, we dont have this specific telemetry. 17:33:20 action: All vendors need to go speak to security teams about supporting this concept. Should we have whitelist ssl certs 17:34:06 jimevans: the OSS project currently makes people opt into accepting selfsigned certs 17:34:44 samuong_: so what should we do since the OSS project is the opposite of the spec? 17:34:51 ato: we should move to the OSS way 17:35:26 brrian: what should we do with the error? 17:36:04 jgraham: that's badly spec'ed, we should move it to go() 17:38:15 action: ato to fix this ssl cert (chap 8) 17:38:59 break 17:39:08 RRSAgent: draft minutes 17:39:08 I have made the request to generate http://www.w3.org/2016/07/14-webdriver-minutes.html AutomatedTester 17:47:35 scribe: ClayMartin 17:49:21 ato: We basically found out that every possible combination that is possible to do with webdriver and whatnot that no one is doing the same thing 17:49:29 samuong: It will break some users 17:49:38 JohnJansen: What will break some users 17:49:47 samuong: That we change the default of handling certs 17:50:00 samuong: The default right now is that we accept invalid certs 17:50:33 jimevans: There is only one driver that allows invalid certs in the open source project, and that's firefoxdriver 17:50:47 jimevans: That is the only driver that attempts to do any manipulation of acception/rejection of ssl certs 17:51:13 jimevans: chromedriver starts with it accepted, iedriver doesn't handle it as it can't and I don't know what the edgedriver does 17:51:41 jimevans: So there is only one case in which the user can set a setting to manipulate ssl certs. The default for that one case is to not accept them. 17:51:51 ato: So the default behavior of the browser 17:52:07 jgraham: So for completeness if I understood correctly edge supports the current spec 17:52:30 JohnJansen: I think so yeah and it doesn't matter what the default is because you're already insecure 17:52:56 jgraham: I think to the extent that you're able to change it at all isn't a security feature 17:53:31 brrian: Its not like you can just change security willy-nilly because you have webdriver running 17:54:07 jgraham: When I say it's not a security feature I mean that you can change it at all it's no longer a security feature. If you can't accept invalid ssl certs then it is. 17:54:37 ato: So brrian are you positive that you would get the ability to implement something, like the ability to accept unsigned certs at all. Whether you're allowed to will determine if it's opt-in or opt-out. 17:54:55 brrian: If I went to them (security team) and said I'd like to make invalid certs acceptable they'd (security) say no 17:55:07 samuong: I'm not sure how safari driver works can it launch safari? 17:55:10 brrian: Yes 17:56:28 ato: My point earlier is that if Safari isn't able to implement it that it should be disabled in all browsers for interop reasons 17:57:21 brrian: Making default less secure is not doable. Some flag to opt-in to less might be okay. 17:58:03 samuong: Whether we make it true/false by default depends on the vendor. 17:58:39 ato: I'm going to rewrite the section (section 8) to be flipped. Would like to do that now and if necessary we can flip it back. 17:59:22 New topic: Should it be possible to navigate to malformed URLs 17:59:27 samuong: Why do we want this? 17:59:30 jgraham: I don't think we do 17:59:56 RSSAgent: draft minutes 18:00:00 jgraham: At the moment the spec gets a string and tries to pass that into window location. It's not clear what should happened if that string isn't something that can be passed as a url. 18:00:17 ato: the idea of webdriver is that it should behave as if you typed something into the web browser 18:00:22 RRSAgent: draft minutes 18:00:22 I have made the request to generate http://www.w3.org/2016/07/14-webdriver-minutes.html JohnJansen 18:00:43 ato: the idea of an address bar doesn't exist in the web platform 18:00:57 ato: so what we need to do is call the navigation algorithm in html 18:01:41 jgraham: the way it is specified at the moment is that sending a go command in wbedriver is more or less like clicking a link 18:01:50 brrian: does it have a referrer? 18:01:53 jgraham: possibly 18:02:03 ato: the point is that when you navigate to html you always start with something that is valid 18:02:30 jgraham: there are strings one can use that aren't valid urls of any kind. it's unclear what should happen if you create such a string and try to navigate to it. 18:02:47 ato: firefoxdriver returns invalid if you try to navigate to a bad url 18:03:00 ato: I think we need to be explicit that if it's not possible to navigate to the url we return an error 18:03:20 brrian: At what level is that supposed to happen? 18:03:44 brrian: is it supposed to bypass other things like search 18:03:46 jgraham: yes 18:04:42 brrian: in any case it should return some form of an exception. the thing that isn't clear is what sorts of urls do we want to allow navigation to 18:05:17 brrian: in osx there are all sorts of protocols to open an app, what about those? 18:06:48 jgraham: I think you could use webdriver for special url cases 18:07:06 samuong: the way it works in chrome is that a page can register a handler 18:07:15 ato: I think that's possible in firefox 18:09:36 jgraham: two issues - 1 is invalid url. 2 is a scheme that isn't straightforward 18:09:50 jgraham: 1 we agree on. 2 we don't want to specify as its browser-specific 18:11:44 JohnJansen: Why can't we just pass it into the navigation pipeline. In edge a normal string will do a search 18:11:59 ato: that's not interoperable 18:13:41 jgraham: I say we do what the browser wants because it can vary browser to browser 18:14:10 action: jgraham to check what the navigation algorithm says about specific schemes 18:15:12 resolution: return malformed url error on being passed a url string that cannot be parsed 18:15:44 RRSAgent: draft minutes 18:15:44 I have made the request to generate http://www.w3.org/2016/07/14-webdriver-minutes.html ClayMartin 18:15:55 JohnJansen has joined #webdriver 18:17:15 new topic: relative urls 18:17:43 samuong: no 18:18:08 samuong: no to supporting relative urls (everyone laughs) 18:18:28 jgraham: why not? you go to the site, why not allow relative from there? 18:19:43 jgraham: go already navigates the top level navigating context 18:20:00 jimevans: you assume a level of competency that doesn't exist for webdriver users 18:20:21 jimevans: by enforcing absolute urls we eliminate the possibility of confusion as to where the next navigation is going 18:20:34 jgraham: it would just return a 404 as always and it would be clear what you did wrong 18:20:40 jimevans: no it would not be for the typical end user 18:21:37 ClayMartin: WebDriver doesn't have a context of a site 18:21:41 jimevans: it doesn't 18:22:34 jgraham: once you navigate to a site it sets the context 18:22:53 jimevans: you have the semantics of a method, driver.get, that between two subsequent calls using the same input you could have different bahvior 18:23:29 jimevans: case 1 - instantiate driver, use /foo, throws invalid 18:24:22 jimevans: case 2 - instantiate driver, go to x.com, use /foo and it works 18:24:42 jimevans: many webdriver users aren't sophisticated in that way 18:25:06 jimevans: those of us who work on browsers and automation forget that there is a large population of webdriver users who do not have that level of sophistication. 18:25:23 jgraham: seems difficult to believe that if they don't understand relative urls would be able to write a test to navigate the dom tree 18:25:37 samuong: why can't they just concat the string in their test code 18:25:46 brrian: so they don't know the web. why use relative urls 18:26:15 jimevans: what's the reason to use it instead of just using a full url? 18:26:21 ato: that it saves work/time 18:26:56 samuong: you can just get the current url and go from that 18:27:45 ato: mimics the web 18:27:56 brrian: it's a normal way to do a navigation 18:28:53 ClayMartin: navigation is the top most navigation context 18:28:58 samuong: users don't use relative urls 18:29:08 jgraham: define users, users use google 18:30:11 jgraham: if offers convenience to use relative urls 18:30:29 samuong: if you're in a state that you don't know what your full url is do you really know where you are in the website 18:31:31 brrian: are there tests in web platform tests that test relative urls 18:31:46 jgraham: there are tests for a browser 18:31:54 johnjansen: those tests have you click on the relative links 18:32:06 jgrhaam: tests that test web platform tests use relative urls all the time 18:33:09 claymartin: I've always thought conceptually about navigation being the top-level navigation 18:33:42 jimevans: I agree. I've never heard users demanding this 18:33:44 johnjansen: yeah 18:33:53 jgrahan: well I've just asked for it so you have :) 18:34:23 brrian: what about #someid 18:34:47 jgraham: if you're using some fancy new javascript framework what if it adds the hash but doesn't do a page load 18:35:10 samuong has joined #webdriver 18:35:13 samuong: if a user edits a fragment of the url it doesn't do a full navigate 18:35:27 atuomatedtester: firefoxdriver currently doesn't do a full navigate for this 18:36:50 johnjansen: in specific use cases it would be nice to write a webdriver test that can go between different hashes 18:38:54 claymartin: I don't see the benefit outwaying the costs if the argument is it makes thing simpler 18:39:03 brrian: It depends. why not let users use relative urls 18:42:24 lukeis: send help 18:42:39 jimevans: I am out of consensus 18:43:11 johnjansen: the spec implements this in the same as window.location is an interesting proposal 18:43:52 jgraham: then that makes it more complicated. I view it as window.location.href 18:44:42 RRSAgent: draft minutes 18:44:42 I have made the request to generate http://www.w3.org/2016/07/14-webdriver-minutes.html ClayMartin 18:45:34 https://html.spec.whatwg.org/#dom-location-href 18:45:42 we are skipping element retrieval and window handling 18:46:35 new topic: extension testing 18:46:42 Scribe: ato 18:46:58 ClayMartin: We have an extension testing API. 18:47:17 ClayMartin: In that there are basic commands. 18:47:23 jgraham: Web extensions? 18:47:41 ClayMartin: Now that we have extensions, our developers are asking if they can test it using WebDriver. 18:47:55 https://github.com/MicrosoftEdge/webdriver/pull/4/files 18:47:56 ClayMartin: I would argue that WebDriver should have APIs that allow extension testing. 18:48:07 ClayMartin: [explains the complexity of extensions] 18:48:34 ClayMartin: The document related ones are already covered by content-WebDriver. 18:48:44 ClayMartin: But people want access to things such as background scripts. 18:48:50 brrian: Does that have a window context? 18:49:01 samuong: There is a background page in Chrome that the execution context run in. 18:49:08 samuong: It’s essentially another page. 18:49:14 samuong: In chromedriver we expose that. 18:49:35 samuong: The extension is able to send messages between content and the background page. 18:49:40 brrian: What is the lifetime of the background page? 18:49:44 samuong: Complicated. 18:49:57 samuong: You have the click the toolbar to get the background page to start up. 18:50:22 samuong: They use sendMessage, and sends a message to the extension to launch the extension (background script document) because there is no WebDriver primitive for that. 18:50:28 ClayMartin: They can already get into content. 18:50:32 ClayMartin: But not background. 18:50:39 ClayMartin: Another use case is wtich to the popup window. 18:50:50 ClayMartin: There is a lazy-loading problem here. 18:51:12 ClayMartin: Are we ok that a WebDriver command would open the UI of the browser? And be able to dismiss that as well? Are we comfortable with that? 18:51:18 ClayMartin: Right-click context menu entrie.s 18:52:35 https://developer.mozilla.org/en-US/Add-ons/WebExtensions 18:53:59 ato: I think this is interesting. 18:54:08 ato: Marionette already allows you to interact with the UI. 18:54:16 ato: But it is not possible to switch into the background page execution context. 18:54:23 ato: And that is something we would potentially also be interested in. 18:54:45 ato: Because most browser vendors appear to be consolidating around the Web Extension API, I think it would be interesting to look into this in the future. 18:54:56 ato: But it should/will not be part of WebDriver L1. 18:55:17 brrian: I don’t think Safari does a full background page. 18:55:28 samuong: It is a global thing that doesn’t tie itself to any one tab. 18:55:43 samuong: If you close the tab it shouldn’t shut down the extension. 18:57:11 ato: You can implement this under a vendor namespace. 18:57:35 ato: Marionette has ability to switch to contexts. Potentially it would be possible to have a "background" option there. 18:57:41 ato: … but it would have to be specific to each extension. 18:58:12 AutomatedTester: This is one of the things that are nice about the Marionette design. You are always in the WebDriver API. 18:59:03 ClayMartin: I think maybe that’s an interesting API design. 18:59:12 ClayMartin: We can do it initially using UIA. 18:59:21 ClayMartin: I just wanted to air the idea. 18:59:31 brrian: Apple is moving towards app extensions. 18:59:44 brsun: Your app provides a separate binary that can IPC to a script context on the page. 18:59:50 s/brsun/brrain 18:59:53 s/brsun/brrian/ 19:00:32 ClayMartin: Do you have pop-ups in Safari? 19:00:40 brrian: You can add context to toolbar items, etc. (Yes.) 19:00:55 [discussion between ClayMartin and brrian about implementation specifics] 19:01:35 Todd Reifsteck joins the room 19:01:36 Topic: Meeting with Edge performance PM 19:01:59 todd: We do performance measuring on top sites. 19:02:05 todd: We are using WebDriver to do this. 19:02:13 todd: But different browser vendors do different things. 19:02:35 todd: We navigate, wait a few seconds so we don't interfere with the page, then we return the performance.timing events. 19:02:46 todd: Then we either sleep or check again, or we pull the rest of our data. 19:03:01 todd: We have observed that Chrome and Edge on Windows have similar performance. 19:03:14 todd: But Firefox has much worse performance compared to if we do the same testing manually. 19:03:18 todd: We don’t really understand why. 19:03:36 todd: I want to get a take from people in this group, who are very knowledgable about WebDriver, to why this is. 19:03:48 todd: Because I imagine normal tests also want to be able to do this. 19:03:54 jgraham: How do you navigate? 19:03:58 ClayMartin: The get command. 19:04:03 samuong: So you are fetching traces? 19:04:05 todd: No. 19:04:11 todd: Just the performance object. 19:04:17 ClayMartin: navigation event start/end 19:04:33 todd: Functional tests written in WebDriver, i imagine a scenario where we can use this as a regression tool. 19:05:49 ato: I have mixed experiences with turning performance testing tools into regression tools in the past. 19:05:57 jgraham: Typically you don’t do this against live sites. 19:06:02 jgraham: You do it against cached sites. 19:06:04 todd: yeah. 19:06:25 todd: We are doing it enough times, that over time the network and cache, the variance should not matter. 19:06:27 brrian: Well… 19:06:42 brrian: How do you control the variants in load time? 19:06:50 todd: You are referring to regressions? 19:06:57 todd: So there _is_ variance. 19:07:05 todd: But over hundred and hundred of loads, that variance should be minimised. 19:07:24 brrian: Or just different content in different browsers. 19:07:32 jgraham: Returning to the question. 19:07:41 jgraham: I don’t think anybody here actually worked on FirefoxDriver. 19:07:47 AutomatedTester: I worked on it. 19:07:53 AutomatedTester: I am going through the code now. 19:07:59 jgraham: FirefoxDriver is going away. 19:08:05 jgraham: It is being replaced by Marionette. 19:08:09 AutomatedTester: The mechanisms are different. 19:08:14 jgraham: It might have different performance. 19:08:26 AutomatedTester: FirefoxDriver creates for a listener that waits for the page to load. 19:09:21 AutomatedTester: FirefoxDriver has different checks for fragments, and things like that, and sometimes it will return quicker even if it has gone through some of the listening. 19:09:27 AutomatedTester: And this is where some of the variance might appear. 19:09:44 todd: Because FirefoxDriver is injecting code on navigation, this could explain it. 19:10:15 JohnJansen: https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver 19:11:55 AutomatedTester: Once you start adding event listeners you are going to slow things down. 19:12:02 jimevans: [shows on whiteboard how to enable Marionette] 19:12:16 ClayMartin: I guess the question is, for initial navigation WebDriver might not be the best bet. 19:12:28 ClayMartin: But for _user testing_, simulating a user testing a browser, what other way would you have? 19:12:51 AutomatedTester: You need to make sure that your website has no variance at all. 19:12:54 AutomatedTester: The website might change. 19:13:00 AutomatedTester: You can’t just go to techcrunch.com every day. 19:13:29 samuong: Chrome does something simliar. We replay a session. 19:13:33 samuong: With static content. 19:13:37 samuong: Recorded sessions. 19:13:53 AutomatedTester: In a general sense it would be better to use HAR. 19:14:02 AutomatedTester: This is how I’ve done it in the past. 19:14:08 AutomatedTester: But this is from an end-user’s point of view. 19:14:20 AutomatedTester: It’s not necessarily how a browser vendor would test. 19:14:46 todd: I feel that WeBDriver should be of minimal impact on the browser performance. 19:14:55 jgraham: Nobody wants WebDriver to be slow. 19:15:32 brrian: SafariDriver is going to be slower in creating a new session because we need to start without giving access to user data. 19:15:36 todd: We’re seeing this. 19:15:42 brrian: There’s a tonne of roundtripping. 19:15:51 jgraham: The design of WebDriver is not fast. 19:15:55 jimevans: Yeah. 19:16:32 lukeis: I sound exactly like siri with 2 cups of coffee 19:16:36 ato: It’s not a duplex program. It’s a request-response protocol. 19:16:58 todd: Right. 19:17:25 todd: I think the feedback is, switch from Firefox to Marionette. 19:17:40 todd: It’s not a core-tenant of the WeBDriver goal that performance testing is part of its top aspirations. 19:17:55 todd: It probably _can_ be used for performance measuring, but you need to be cautious with your methodology. 19:19:22 JohnJansen: Lunch? 19:19:30 [consensus] 19:19:42 RRSAgent: draft minutes 19:19:42 I have made the request to generate http://www.w3.org/2016/07/14-webdriver-minutes.html AutomatedTester 19:19:53 RRSAgent: no listen 19:19:53 I'm logging. I don't understand 'no listen', ato. Try /msg RRSAgent help 19:19:56 RRSAgent: nolisten 21:08:19 RRSAgent: please draft the minutes 21:08:19 I have made the request to generate http://www.w3.org/2016/07/14-webdriver-minutes.html ato 21:11:41 https://www.irccloud.com/pastebin/m6BPbXOY/missing-logs.txt 21:12:50 [Discussion about HTML5 controls and the need or lack thereof for separate end points for setting those values] 21:13:57 brrian: What's the common attribute of these controls? 21:14:49 jgraham: File upload input values can't be set through the DOM 21:15:43 jgraham: For most things that degrade back to a plain text input, you can set or get the value, but this is not so for type="file" 21:16:24 jgraham: Conceptually, sendKeys is the wrong command for this, because the user clicks on the button to bring up the file picker 21:16:41 brrian: Are there other places where we mitigate that? 21:17:07 jgraham: There are alerts (user prompts) 21:17:27 samuong: This seems like it's going to break a lot of things 21:17:54 JohnJansen: This feels hacky, but it's been around for a really long time, so we probably shouldn't mess with it. 21:18:43 [Discussion of what DOM methods allow one to do with inputs of type="file"] 21:19:38 jgraham: I am slightly concerned that users would think that using Actions would work similarly to sendKeys 21:20:16 ato: But since sendKeys is a "do what i mean" method, it doesn't work the same way. 21:21:22 ClayMartin: so do we need to specify this? Because it's not in the spec. 21:22:03 ato: No, it is in the spec (step 11 in the sendKeys command) 21:22:42 Action: ato to produce language on handling HTML5 form controls in sendKeys command in spec. 21:24:14 jgraham: Another thing that is weird in a similar, but not exactly analogous way, are things like video and audio elements 21:24:28 brrian: Yes, there are lots of controls inside such an element. 21:24:46 brrian: These are often implemented using shadow DOM 21:25:08 brrian: I don't know how you'd interact with any of these with WebDriver 21:25:30 ato: I imagine I'd pass the element into a helper class in my language that would handle these. 21:25:51 samuong: But these should be saved for level 2 21:26:18 samuong: I think we can agree that using sendKeys for file upload is weird but we shouldn't mess with it now. 21:27:20 AutomatedTester: We did at one time consider returning more information when finding elements so that language bindings could provide appropriate helper classes 21:27:58 ato: You're talking about serialization of more information than just the UUID. 21:28:08 ato: And it's future-compatible. 21:28:23 AutomatedTester: In a future version of the spec, perhaps we could do this. 21:29:18 ato: for example, I can envision that one thing we might want to do for a video element is to produce a subset of end points under /video. But that's the "multimedia extensions for WebDriver" 21:29:39 brrian: These should be specified, but under separate cover. 21:33:29 RRSAgent: draft minutes 21:33:29 I have made the request to generate http://www.w3.org/2016/07/14-webdriver-minutes.html jimevans 21:39:00 https://www.irccloud.com/pastebin/7T43SvXG/missing-logs.txt 21:40:44 samuong has joined #webdriver 21:50:40 samuong has joined #webdriver 21:54:54 file:///home/ato/1/webdriver/webdriver-spec.html#element-displayedness 21:55:03 https://w3c.github.io/webdriver/webdriver-spec.html#element-displayedness 21:57:08 brrian: file:///home/ato/1/webdriver/webdriver-spec.html#element-interactability 21:57:15 brrian: https://w3c.github.io/webdriver/webdriver-spec.html#element-interactability 22:03:33 MikeSmith: hey, we need to edit the RRSAgent minutes, we werent logging something, how do we do that 22:09:45 Scribe: ClayMartin 22:09:56 New Topic: Window Serialization 22:11:05 ato: Let's start over. So execute script allows you to return the window object. The window object is serialized in the same fashion as an element. 22:11:41 jgraham: When it serializes this it assumes a 1:1 relationship between window proxies and either frames or actual windows (browsing contexts) which is not the case. For example you could have a window proxy object, close the window, and then return it. 22:12:06 ato: You're saying that since we associate the window handle with the browsing context, at the point where we return the window object, that window handle might not exist? 22:12:13 jgraham: Yeah. 22:12:22 jgraham: Or you could have navigated with document.open. 22:12:38 jgrhaam: So I think this is just a correctness thing though I'm not sure what we should do in this case. 22:13:35 ato: There's a distinction in HTML between the window object and the window proxy object. The window proxy object always stays the same. For example in the javascript context, when you have the lowercase window reference, that is always visible. It's always a pointer into the new window. 22:13:55 ato: So jgraham's point is that by the time you change that window object you lose that browsing context. 22:14:27 jgraham: Each browsing context has one window proxy object, but the reverse is not true. 22:15:00 ato: So by the point we try to serialize that proxy object, the corresponding browsing context might have disappeared and we don't know window handle so what do we do in that case? 22:15:37 jgraham: Maybe in this case it should just throw an error. 22:15:42 ato: You think so? 22:15:50 jgraham: What else should you do if the window closed? 22:16:38 ato: I can imagine this could happen with the wpt test harness if you do something crazy. 22:16:57 jgraham: The whole point of adding this is that it gives you a way to know the window that you opened rather than having to guess that. 22:17:18 jgraham: If you open/close a window and try to get it's handle maybe throwing an error is the reasonable thing to do. 22:17:30 jgraham: I would also be happy with some special value that also looked like a window. 22:18:03 Action: ato and jgraham to figure out what to do with discarded window proxy objects that have discarded browsing contexts. 22:18:21 ClayMartin: Any more thoughts? Are we done? 22:18:23 ato: I think so. 22:18:39 RRSAgent: draft minutes 22:18:39 I have made the request to generate http://www.w3.org/2016/07/14-webdriver-minutes.html ClayMartin 22:19:17 Topic: Tests 22:20:51 ato: The meeting before last I was sort of charged with coming up with an implementation for a testing harness for the spec. The goal was that it needed to be embedded in the wpt framework. We now have a harness written in python. They use the pytest framework that lends itself really well to writing tests of this style. There is one example of this in the 22:20:51 wpt repo under the webdriver directory. There is also a PR open if you search webdriver on the repo. lukeis has reviewed it but ato still needs to merge. 22:21:02 brrian: Is the test sending raw requests out or? 22:21:54 ato: Good question. The original was using the python client. We needed to have a webdriver client that was a bit special: send raw data, packet introspection, etc. So jgraham had written a client for Servo and we imported that into wpt. 22:22:00 brrian: Are there tests that use it? 22:22:08 ato: Yeah, it's a little different from your normal clients. 22:23:01 ato: But I've also written what's in pytests called fixtures. I've written a fixture that allows you to have an HTTP client and by default knows about the webdriver server so you can write http.send and construct your own payload. 22:23:21 ato: It does not start a new session explicitly when you start sending raw commands to it. 22:23:34 brrian: So is there some sort of object model for a session or? 22:23:49 ato: Yeah the client gives you back a JSON object. 22:24:02 ato: I think that this is fine. Writing tests at the protocol level here is very easy. 22:24:18 ato: We need to be more granular than the Selenium tests. 22:24:36 brrian: I appreciate being able to tune that but am worried if we change some minor thing we'll need to rewrite all the tests. 22:24:47 jgraham: It has an API if you're testing at that level. 22:25:04 jgraham: If you're not testing the message handling at that endpoint then it has a higher level API. 22:25:10 ato: I can show you an example. 22:25:18 brrian: That would be fantastic. 22:25:26 brrian: https://github.com/w3c/web-platform-tests/pull/2752/files#diff-ec48a9aa5e79c6e2946029bfeb9fbd6dR74 22:25:56 AutomatedTester, about that minutes https://www.w3.org/2005/02/minutes 22:26:43 RRSAgent: draft minutes 22:26:43 I have made the request to generate http://www.w3.org/2016/07/14-webdriver-minutes.html ClayMartin 22:27:16 AutomatedTester, anybody who has a local log of the channel can upload it there to produce formatted minutes. I can then publish them 22:35:09 ClayMartin_ has joined #webdriver 22:35:25 brsun has joined #webdriver 22:35:32 ato_ has joined #webdriver 22:35:57 brrian_ has joined #webdriver 22:42:25 Action: ato need to normatively link to the HTTP spec 22:43:40 Action: ato and jgraham to have test suite test head requests for GET 22:44:03 https://github.com/seleniumhq/selenium/wiki/jsonwireprotocol#resource-mapping 22:45:45 Topic: Head Requests 22:45:52 ato: I think we should be good citizens and support it. 22:46:06 brrian: Just by referencing the HTTP spec we're good citizens. 22:46:17 brrian: I think it's more important to test the right error codes. 22:46:25 ato: Let's not get into details on who implements what. 22:46:44 ato: No resolution at this point, we have actions on referring to the HTTP spec. 22:46:58 RRSAgent: draft minutes 22:46:58 I have made the request to generate http://www.w3.org/2016/07/14-webdriver-minutes.html ClayMartin 22:47:17 Topic: Tests 22:47:24 ClayMartin: Why don't we want to divvy out the tests? 22:47:34 AutomatedTester: We can but historically that doesn't work. 22:47:40 ato: I support AutomatedTester in that. 22:47:54 ato: I'm happy to keep working my way through it and if there are incidental contributions I'm happy to accept those. 22:48:14 AutomatedTester: I'm happy to have people throw interns at it or people who have the capacity to test the spec. 22:48:33 samuong: Who is blessed enough to have the engineering resources to do it. 22:48:37 ClayMartin: I can do it in my free time. 22:49:03 ato: The W3C requires two independent implementations. 22:49:20 AutomatedTester: We don't have to use the web platform tests for this, we could use the Selenium tests. 22:49:37 ato: The selenium tests are going through a shim that might affect results. 22:50:04 AutomatedTester: I could see Mozilla not having enough resources to do this within the next three months. The amount of tests we write will decrease to make sure we have parity with firefoxdriver is more important than writing tests. 22:50:42 AutomatedTester: Just need to find time to do that. Biggest priority is finishing Actions and then getting parity with firefoxdriver. 22:50:59 Resolution: If people can contribute please do! 22:51:42 AutomatedTester: JohnJansen was working on a way to annotate the spec to show what tests run. 22:52:06 RRSAgent: draft minutes 22:52:06 I have made the request to generate http://www.w3.org/2016/07/14-webdriver-minutes.html ClayMartin