W3C

- DRAFT -

Browser testing & tools WG, F2F, July 7

07 Jul 2014

Agenda

See also: IRC log

Attendees

Present
AndreasTolfsen, DavidBurns, JohnJansen, MaliniDas, MarcFisher, ShuotaoGao, SimonStewart, Wilhelm, jgraham, jimevans, lukeis, VsevolodLotoshnikov
Regrets
MikeSmith
Chair
wilhelm
Scribe
wilhelm, MarcFisher, mdas

Contents


<MikeSmith> hmm

<MikeSmith> not sure we need RRSAgent logging this channel but ok

<simons> Greetings!

<Ms2ger> Morning y'all

<MikeSmith> hola

<MikeSmith> wow it's a simons

<simons> I LIVE!

<MikeSmith> simons: yeah I guess the rumors that you still exist are true

<MikeSmith> and I lost a best

<MikeSmith> *bet

<simons> Ha!

<mdas> yay

<simons> It’s been an intense… 7 months or so

<MikeSmith> simons: I won't be at the f2f but I'm sure you guys will manage without me

<lukeis> hola! :)

<MikeSmith> simons: 7 months of vacation is certainly intense, yeah

<simons> I’m hoping that jgraham knows how the irc bot works

<simons> Vacation? Nope. Work

<simons> And “personal matters"

<MikeSmith> yeah just messing with you

<Ms2ger> Oh, right, I was going to review the spec this weekend

<MikeSmith> simons: I'll be around on IRC for the meeting if you need me

<jgraham> I have no idea

<jgraham> I know q+ and that's about it

<MikeSmith> Ms2ger: you missed some fun, man. whatever other way you spent your weekend was a waste. but you still have time to get the fully enjoyment

<simons> https://www.w3.org/wiki/WebDriver/2014-July-F2F

<lukeis> Ø

<mdas> ø

<mdas> that was surprisingly easy

<simons> æ

<simons> Arse

<simons> So close

Browser testing and tools WG F2F, London, July 7th

<ato> There's an ø key on my keyboard. See, easy.

<ato> What's the special command we do to say we're present?

<mdas> oops wrong channel

<ato> Presnet+ Andreas Tolfsen

<wilhelm> Scribe: wilhelm

<simons> https://www.w3.org/wiki/WebDriver/2014-July-F2F

<mdas> Ms2ger: heh thanks, I just noticed I'm both Malini and Das

State of the spec

AutomatedTester: What has changed is: A lot of bugfixes.
... There's been standardizing layout, so the document has a flow.
... Adding JSON wire protocol endpoints.
... Filling in element state.
... No major additions, mainly bugfixes.
... If there's a bug for a missing section, that gets added.
... Properties and attributes. Should be split into distinct parts?

ato: WebIDL? We should discuss.

jgraham: The spec feels a bit confused and underdefined at the moment.

(Agenda point added for this.)

simons: Any issues with new sections?

JohnJansen: Touch stuff, but that's in the agenda.

ShuotaoGao: Security issue.

Which bits of the spec are missing?

simons: Current timeline says we should reach LC around September.

wilhelm: (First last call.)

simons: We should figure out what we need to do to get to LC.

jgraham: *brings a stack of papers*
... I hadn't previously read the spec properly. I did so over the weekend.
... Some structural issues. Some editorial, some more fundamental.
... The history is a bit complicated. There's three things:
... Client API. JSON protocol. Actual browser behaviour.

simons: Spec should define wire protocol, list of commands, expected behaviour.
... Client side is undefined.

jgraham: Sensible.

MarcFisher: Should we delete the WebIDL parts?

jgraham: WebIDL definitions for a theoretical client.

simons: SHould we define the JSON payloads instead?

jgraham: WebIDL is to be used for language bindings. JS bindings in particular.
... You want: "The command format is this..."
... "It takes an object that takes these keys..."
... Someone at some point must have written a JSON schema language.

simons: There's an JSON hyperschema.

<simons> http://json-schema.org/examples.html

MarcFisher: Aren't the tables we have sufficient?

simons: We do the descriptions underneath. Nice to be able to glance at the spec and see which fields there are.

jgraham: It should define the message format. It should be like a switch table.
... Once you have an object on the browser side, you need to explain how to get a value out of it.

simons: Parameters tell you what parameters there are.

<gitbot> [13web-platform-tests] 15dontcallmedom closed pull request #1092: Tagging all instructions to human testers. (06master...06master) 02https://github.com/w3c/web-platform-tests/pull/1092

<gitbot> [13web-platform-tests] 15dontcallmedom pushed 2 new commits to 06master: 02https://github.com/w3c/web-platform-tests/compare/8f89a2f16189...5c7d6394a1e8

<gitbot> 13web-platform-tests/06master 145d70831 15Patrik Höglund: Tagging all instructions to human testers.

<gitbot> 13web-platform-tests/06master 145c7d639 15Dominique Hazael-Massieux: Merge pull request #1092 from phoglund/master...

jgraham: If someone sends you a message with a missing command, what happens then?
... This should all be defined.
... There should be an algorithm in the spec defining all this.

simons: If we change WebIDL to JSON, and maybe beef up section 2, that would address the things you're talking about?

jgraham: First part. Getting as far as getting data in the commands.
... Should have a list of steps.
... "If it's missing..."
... If you send a get message and there is no URL in that, what should happen?
... Say you've got the URL, it should have steps. From the current spec prose, should it be a relative URL or an absolute URL?
... What should happen if there is an error?
... The current spec describes a selection of cases, but not all.
... It should call into the HTML navigate algorithm...
... "Cause the browser to navigate to a new location" is vague.

MarcFisher: We want the behaviour the browser to match the actual browser.

<simons> HTML5 navigation algorithm: http://dev.w3.org/html5/spec-LC/history.html#browsing-the-web

MarcFisher: Failing to follow the HTML navigate algorithm shouldn't block compliance with _WebDriver_.

jgraham: "Navigate" is not a defined term here.

<Ms2ger> WebDriver should behave the same as the (possibly buggy) implementation of the HTML algorithm

simons: Could you be compliant with the WebDriver spec with a buggy HTML navigation implementation?

jgraham: It's a bit of a moot point.
... We should't be vague instead.

simons: If we use should instead of must...

jgraham: Weasel-wording.

<Ms2ger> There's no reason to not require it

MarcFisher: If the spec requires this algorithm, we should test it...

jgraham: In reality, that sort of conformance testing doesn't happen.
... The right answer is not to be vague.

simons: I agree.
... How do we do that in a way that allows...?
... Things like get are used by native mobile to get UI elements.

AutomatedTester: We could have different codepaths. If you're native, then do this...

MarcFisher: Android vs iOS?
... If they're treated as opaque strings, should we uniformly do this?

simons: That's the other extreme.

jgraham: If you want to know when the page load is finished, HTML defines this.
... Two of the spec's loading strategies are equivalent.

<simons> simons asks wilhelm for input:

<simons> wilhem: Now all we need to do is make it more like a real spec

<simons> wilhelm: which means we’ve solved most of the technical questions (other than the bug list), but we should think about taking in all of jgraham’s input and have the spec match that.

<scribe> ACTION: jgraham to submit patch for get [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action01]

<scribe> ACTION: jgraham to submit bugs for the other issues [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action02]

(Tangent on naming of get.)

simons: Is the purpose of the spec to tidy up all the rough edges from...?

MarcFisher: Yes.
... Spec already breaks compat with existing clients.
... Let's do it right.

simons: Should we clean up the method names?

mdas: We should define window and frame.
... (Swtich to frame, switch to window.)

<AutomatedTester> https://www.w3.org/Bugs/Public/show_bug.cgi?id=23020

jgraham: Should URLs be absolute or relative?

simons: Absolute.

jgraham: This is undefined.

AutomatedTester: Each implementation returns a different scary error message.

jgraham: There's probably an algorithm for determining if something is an absolute URL.

simons: Do anyone object to cleaning up the command names?

JohnJansen: With implementations on the books with the current methods, this seems like work...

MarcFisher: The only one that jumps out to me at the moment is get.

AutomatedTester: Same cleanup is needed for the open source project.

lukeis: There are a few breaking changes...

jimevans1: Error codes.

ato: There are some other commands that are conflicting and misleading.
... clear is another example.
... All methods under alerts.
... I don't think they have the correct names. sendKeys.
... getText

<simons> Methods that I’m aware that people want to change: “get”, “clear”, “alerts commands”

<simons> “submit” too

(Discussion on whether or not to include the submit command.)

<scribe> ACTION: MarcFisher to not document submit [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action03]

<scribe> ACTION: AutomatedTester to retrofit seciton 17 through all commands [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action04]

<ato> get

<ato> clear

<ato> alert

<ato> dismiss

<ato> accept

<ato> sendKeys

<ato> getText

<JohnJansen> https://dvcs.w3.org/hg/webdriver/raw-file/default/webdriver-spec.html#widl-Alerts-dismiss-void

ato: Screenshots are not complete.

AutomatedTester: We discussed scrolling or not scrolling in our last meeting. Mainly around reftests and position:fixed;

<simons> I’ve updated the spec and removed the reference to “submit"

<scribe> ACTION: JohnJansen to describe what he wants for screenshots (scrolling vs not scrolling) [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action05]

<scribe> ACTION: simons to move "scaling the content of windows" to level 2 [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action06]

AutomatedTester: Section 10 is missing "enabled" and "isInteractable".

jgraham: The platform uses "clicking" for a lot of things...

AutomatedTester: Use case: CSS transforms.

simons: We want to support multiple implementations of user interactions. Absolute position at the screen. Relative to top left of the DOM. In the current equivalent of hwind. ...
... There are implementations that do advanced user interactions on the local end.
... Drag something from the desktop into the browser.

AutomatedTester: You can do that with JS. get bounding client rect.

<AutomatedTester> https://www.w3.org/Bugs/Public/show_bug.cgi?id=24995

simons: To allow dragging from elements into the browser: location in the DOM, location on the monitor (not included in the spec), location in the equivalent to hwind.
... If you're on OSX, this doesn't exist.

<jgraham> Example possible text for "get" https://pastebin.mozilla.org/5528630

JohnJansen: Out of scope?

AutomatedTester: Outside of the window is out of scope.

JohnJansen: Not for this spec.

simons: Use case: Drop photos into the browser.

AutomatedTester: That's in the operating system..

simons: Yes.

(simons illustrates on whiteboard. Beautiful art.)

<scribe> (Continued discussion of whether or not to return the absolute position of an element on the screen. Source code being discussed.)

MarcFisher: Should this be in level 1?

simons: I can't see why not.

AutomatedTester: I'd lean towards not having it.

JohnJansen: Agreed.

simons: Should we have one command merging size and location?

MarcFisher: I'm fine with that.

ato: Size is already exposed via JS.

MarcFisher: Many things are accessible via JS, but we expose them via the wire protocol.
... (Native testing.)

simons: location(x,y) should be relative to 0,0 of the DOM?

RESOLUTION: location(x,y) should be relative to 0,0 of the DOM

simons: location equivalent to getClientBoundingRect?

(No votes for that.)

simons: location equivalent to current operating system window handle?

(No votes for that.)

simons: location relative to the physical display?

(No votes for that.)

simons: Should we discuss merging size and location?

JohnJansen: I don't see why we want to do that.

simons: Use case: Sauce labs on a different continent. Saves a roundtrip.

AutomatedTester: It already gets all the data for getClientBoundingRect.

<ato> http://www.w3.org/TR/2014/WD-geometry-1-20140522/#DOMRect

MarcFisher: What would we call this merged thing?

getElementRect?

<Ms2ger> http://dev.w3.org/fxtf/geometry/#DOMRect

ato: (Refers to DOMRect)

<Ms2ger> Given that there's discussion about having multiple drafts, who's volunteering to do the additional busywork?

AutomatedTester: How about CSS shapes? You could return the actual shape...
... Return an object?

ato: What properties?

simons: size and location
... We can define this in terms of DOMRect.
... Do we want an additional command?

MarcFisher: Replace.

AutomatedTester: More a merge than a replace...

MarcFisher: Language bindings could just alias these.

simons: Quick vote on merging element location and element size?

JohnJansen: Why not call getBoundingClientRect?

AutomatedTester: It's relative to viewport.

JohnJansen: Argument is: two roundtrips vs one.

simons: Yes.

<scribe> ACTION: AutomatedTester to merge element location and size into getElementRect [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action07]

<simons> http://www.themeatmarket.co.uk/

Actions from last time:

http://www.w3.org/2014/02/26-testing-minutes.html

http://www.w3.org/2014/02/25-testing-minutes.html

<ato> http://38.media.tumblr.com/21801c47ccff06fa5e6612aea5b87095/tumblr_mlqdctiGeH1rvsbh9o1_500.jpg

<scribe> Scribe: MarcFisher

<JohnJansen> https://dvcs.w3.org/hg/webdriver/raw-file/default/webdriver-spec.html#reporting-errors

mdas: Section 11.4 JavaScript error reporting is empty.

simons: return javascript error object and optionally stack trace in the response.

<wilhelm> http://31.media.tumblr.com/82ad44a2be111c6732e9ebff2a046daf/tumblr_n7ab3elDle1rvsbh9o1_500.png

<scribe> ACTION: AutomatedTester will update Section 11.4 with simons proposal [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action08]

simons: not adding onError support, but can shove js errors to logs.

AutomatedTester: do we need to add delete cookie support.

simons: sounds like delete cookie would not be fun to implement.

AutomatedTester: spec currently suggests deleting cookie by setting expiry to the past.

<AutomatedTester> Ms2ger: <3

ShuotaoGao: can we delete httpOnly cookies with this work around.

<JohnJansen> https://www.w3.org/Bugs/Public/show_bug.cgi?id=25008

simons: probably not, but with the way cookies are usually used, this probably doesn't matter.

<JohnJansen> Let's resolve the bug so we don't discuss again when going through bugs

<scribe> ACTION: AutomatedTester document how to delete httpOnly cookies [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action09]

Add support for getting timeout values.

simons: get the all as one go?

many people: probably

AutomatedTester: rename timeouts to setTimeouts in level 1. getTimeouts can be in level 1 or level 2.

MarcFisher: pass in a map of timeouts in renamed setTimeouts

jimevans1: page load timeout of -1, never timeouts.

<scribe> ACTION: add how timeouts should be handled in Section 5.1.1 [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action10]

jgraham: should have a wait for page load algorithm that is referred to from get (and anywhere else)

<AutomatedTester> https://www.w3.org/Bugs/Public/show_bug.cgi?id=26275

<simons> https://www.w3.org/Bugs/Public/show_bug.cgi?id=26275

<scribe> ACTION: review jgraham's draft for get (in https://www.w3.org/Bugs/Public/show_bug.cgi?id=26275) for handling of timeouts and page loading strategy [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action11]

<scribe> ACTION: rename timeouts to setTimeouts and change to take dictionary<type, ms> [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action12]

Resolution: don't add getTimeouts to level 1, save for level 2.

<ato> I don't think RRSAgent recognizes Resolution:?

<ato> Or maybe it's just for the minutes.

MarcFisher: section 15.2 looks incomplete
... do we even need it?

simons: yes

discussion about what should be done with Section 15.2

<scribe> ACTION: simons define how to handle modal windows [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action13]

<JohnJansen> RESOLVED: don't add getTimeouts to level 1, wait for level 2.

AutomatedTester: is the takesScreenshot capability useful.

RESOLUTION: keep screenshot capabilities

MarcFisher: I don't like the note in Section 18.1 as the table it references doesn't reflect the current browser ecosystem.

simons: I will remove the note.

<scribe> ACTION: simons will create something to generate Appendix A [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action14]

<gitbot> [13web-platform-tests] 15dontcallmedom closed pull request #277: peerconnection api tests (06master...06submission/robo) 02https://github.com/w3c/web-platform-tests/pull/277

<scribe> ACTION: simons will create something to generate Section C [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action15]

simons: work on strawman for Section E logging
... drew straw man proposal on whiteboard
... do we want to support paging of logs in level 1?

<ato> https://lh3.googleusercontent.com/-TyFnpMYf7Lo/U7qgSN9PqmI/AAAAAAAAFOo/qaKthN50320/w764-h573-no/IMG_20140707_142707.jpg

lukeis: if a log is fetched, is it purged?

simons: I think so

AutomatedTester: have an argument for deleting

simons: have a command to get log names and host names
... have another command to get logs with an optional host name, log name, and purge boolean

AutomatedTester: how do we handle cases where links in the chain are broken?

simons: we go as far up the chain as we can

JohnJansen: how do we prevent hostname clashes and logname clashes?

simons: I am not sure how we prevent this.

jgraham: why do we want to use a hostname anyways?

simons: okay, maybe not a hostname, but some sort of a key

ShuotaoGao: use a role key

simons: combination of role key and hostname, and if you have a clash that is a terrible pity

MarcFisher: do we like the straw man?

ato: alternative would be listener on the logs for different nodes.

jimevans: one controversy is what types of logs. Are we prescribing log types?

simons: I won't prescribe logs at this time.

<seva> Vsevolod Lotoshnikov came in.

<AutomatedTester> Ms2ger: ^ how do we add Seva with Present ?

mdas: Logging doesn't make sense in this spec?

simons: you should implement logging, and if you do, you must conform to this spec.

jgraham: makes just as much sense to say that you must implement this, but return empty.

RESOLUTION: push logging to level 2.

<scribe> ACTION: simons delete section E logging [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action16]

<mdas> MarcFisher: does RESOLVED work? I thought it was Resolution?

<mdas> MarcFisher: http://dev.w3.org/cvsweb/~checkout~/2002/scribe/scribedoc.htm?content-type=text/html#Quick_Start_Guide seems to point to RESOLUTION

mdas: yeah, looks like you are right

RESOLUTION: push logging to level 2

<simons> https://www.rfc-editor.org/rfc/rfc3514.txt

Discussion of Section F, security and privacy.

<mdas> MarcFisher: I don't think I can set resolutions, so there are 2 other instances of Resolved that needs to be recorded: "RESOLVED: keep screenshot capabilities" and " RESOLVED: don't add getTimeouts to level 1, wait for level 2."

RESOLUTION: keep screenshot capabilities
... don't add getTimeouts to level 1, wait for level 2.

mdas: thanks for finding those for me

<mdas> MarcFisher: np

<scribe> ACTION: localhost restriction in Section F.2 to should [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action17]

<ato> «Benign packets have this bit set to 0; those that

<ato> are used for an attack will have the bit set to 1.»

<scribe> ACTION: simons to create something to generate Section G. Mapping to HTTP and JSON [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action18]

RESOLUTION: keep Section F Security non-normative, remove normative language, keep fingerprinting

<ShuotaoGao> http://www.w3.org/2013/06/13-testing-minutes.html

<mdas> Scribe: mdas

<ShuotaoGao> http://www.w3.org/2013/06/14-testing-minutes.html

<simons> https://www.w3.org/wiki/WebDriver/2014-July-F2F

<ato> lukeis: webdriver/client

<simons> https://www.w3.org/Bugs/Public/show_bug.cgi?id=26151

Bug 26151: [WebDriver Spec]: 2.6 Simplify JSON wire protocol to use one URL

simons: originally, if you are modifying state, use POST if not, use GET

jgraham: this is unclear from the spec

simons: renaming/rewiring commands would be painful

jimevans: there are at least two browser implementations do not use HTTP as primary transport. By not encoding the full parameters in JSON, we are forced to use HTTP and complicates implementation
... if all data were in json, it will be simpler

simons: since no one uses parameters, we can row back and stick to using HTTP and urls, as that causes minimal changes

jimevans: I understand the reason behind using HTTP based protocol, but I bring this up to point out that it imposes a burden on implementors

simons: handling the HTTP/urls should be an easy fix
... suggests we row back what gets put in command and just use the parameters field

AutomatedTester: do we make the url endpoints look more meaningful?

simons: (asks for example)

<gitbot> [13web-platform-tests] 15hallvors created 06hallvors/clipboard-apis (+2 new commits): 02https://github.com/w3c/web-platform-tests/compare/ae248da43e0d^...0a5c9566c96a

<gitbot> 13web-platform-tests/06hallvors/clipboard-apis 14ae248da 15Hallvord R. M. Steen: Adding clipboard API generated tests

<gitbot> 13web-platform-tests/06hallvors/clipboard-apis 140a5c956 15Hallvord R. M. Steen: titles updated, improved to avoid duplicates

AutomatedTester: session/sessionId/window is a POST but has no GET

jimevans: there is a GET for that

simons: least invasive change would be to match up the asymmetry we have for the urls

jimevans: however, for those implementations that do not use HTTP protocol, what are they expected to pass across their remote end?

simons: we do not specify that
... command names become unimportant, urls are important

<simons> URLs and HTTP verbs

<scribe> ACTION: AutomatedTester to close bug as unimplemented, comment on Bug 24976 [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action19]

simons: ^urls and HTTP verbs are important

jimevans: if you want to bypass the HTTP protocol, there is standard for the command names and you don't know what to send over to the remote end.

<gitbot> [13web-platform-tests] 15hallvors opened pull request #1097: Importing test suite for clipboard api spec to web-platform-tests (06master...06hallvors/clipboard-apis) 02https://github.com/w3c/web-platform-tests/pull/1097

<gitbot> [13web-platform-tests] 15hallvors pushed 1 new commit to 06hallvors/clipboard-apis: 02https://github.com/w3c/web-platform-tests/commit/4c6cac1db150eee640e8c0fa7394be724dc1b831

<gitbot> 13web-platform-tests/06hallvors/clipboard-apis 144c6cac1 15Hallvord R. M. Steen: adding missing final linebreak to html files

simons: the local end should use (or speak to something that uses) the wire protocol

<scribe> ACTION: simons -> GET vs POST clarifications [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action20]

<simons> http://tools.ietf.org/html/rfc6570

<scribe> ACTION: simons to remove section 2.1 [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action21]

<scribe> ACTION: simons to update command names should be non-normative [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action22]

<scribe> ACTION: simons to specify what the HTTP headers should be for each commands [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action23]

<scribe> ACTION: simons to explain what an HTTP request and response should look like [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action24]

Bug 26158: JSON serialization of element does not make clear that JSON represents an element

<simons> https://www.w3.org/Bugs/Public/show_bug.cgi?id=26158

jimevans: the spec says "id" and it's too common

simons: suggests ELEMENT

<scribe> ACTION: AutomatedTester to take Bug 26158 - update to ELEMENT [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action25]

<simons> https://www.w3.org/Bugs/Public/show_bug.cgi?id=26137

Bug 26137 - Algorithm for serializing a result is broken

jgraham: it shouldn't use webIDL types since it's operating on JS objects
... it should just talk js objects
... and if you iterate over an object, it should be clear over what properties it goes through (getOwnProperties? etc)
... if you have self.referencing objects, it goes through an infinite loop right now
... we should clarify the latter, and document all behaviour better

simon: for infinite loop on say "return window" we should return an error

jgraham: or some sensible serialization

<scribe> ACTION: AutomatedTester will address Bug 26137 -> clarify and document serialization algorithm [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action26]

<simons> https://www.w3.org/Bugs/Public/show_bug.cgi?id=26147

Bug 26147 - Don't conflate attributes and properties in getElementAttribute

simons: what's the difference between an attribute and property (rhetorical)
... most of the users conflate the two anyway, especially testing folks

lukeis: getting attribute value is the one we care about, and the attribute and property is updated when either value is changed.

jgraham: there is a fundamental difference, and they hold different data

simons: that's why tehre's an algorithm to find the difference between them and return the right value
... end-users would be confused by the difference between property vs. attribute
... in my experience with QA,they don't know what the DOM spec should do. If you do know the difference, call "executeScript", if you don't, use "getAttribute" since it'll probably give you want you want

<Ms2ger> I don't think the solution to confusion is to make things more confusing

<simons> My experience is that this doesn’t make it more confusing

AutomatedTester: should we be educating people or give people this method?

MarcFisher and simons have a cynical conversation

simons: people want simple functions rather than precise methods

AutomatedTester: remove it?

simons: That doesn't solve the problem, how do you get what you want?
... I can see the argument, technical correctness is important, and people shouldn't be lazy in teh first place, but first hand experience from users has shown that they don't know the difference and they don't want to know the difference
... the difference is confusing

jgraham: the algorithm is confusing since attributes/properties will be returned with different priorities depending on teh situation

lukeis: looking at the algorithm, we special case many things

jgraham: what makes it worse is that the spec makes it look like attribute values are going to be returned first.
... the algorithm should be written clearer

simons: agreed

<lukeis> https://github.com/SeleniumHQ/selenium/blob/master/javascript/webdriver/atoms/element.js#L127

jgraham: can use a parameter to specifcy what to return, either attribute or property

ato__: I'd much rather split them to avoid the complex algorithm

simons: so, I'm confident a large group of users don't know or don't care. The code is easier to follow than the written explanation, which should be improved

jgraham: as a style point, you don't need to use normative language in the algorithm explanation

break for a few minutes

simons: voting on options
... current wording, or cleaner wording?

MarcFisher: we need simpler explanation in spec. Property first then attribute in edge cases

cleaner wording is implied

<scribe> ACTION: simons to give a clearer algorithm explanation for getAttribute (Bug 26147) [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action27]

RESOLUTION: just clarify the algorithm but leave getAttribute unchanged for Bug 26147

Bug 25164 falls under this resolution

RESOLUTION: Bug 25148 won't fix
... Bug 24832 already decided to listen on both

Open bugs

<simons> https://www.w3.org/Bugs/Public/show_bug.cgi?id=24847

simons: match by visible text implied for Bug 24847

MarcFisher: if we do this, it will be slower and we will break current users since they get new elements.

simons: we'd need a new strategy

simon: when you call getElementText, if you memoize, subsequent calls will be faster

more discussion

voted for Level 2

RESOLUTION: Bug 24847 to be added in Level 2
... Bug 24976 is fixed already

<scribe> ACTION: MarcFisher will fix Bug 24988 [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action28]

<simons> https://www.w3.org/Bugs/Public/show_bug.cgi?id=25013

Bug 25008 and Bug 25012 have already been discussed

MarcFisher: for Bug 25013 left/right shifts are all aliases
... it's the same for selenium
... so we imply we can send it, but we can't

<scribe> ACTION: MarcFisher to remove aliases for Bug 25013 [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action29]

MarcFisher: Bug 25014 sendKeys on alert accepts a string, not a string[]

simons: they should be the same, we should change that

MarcFisher: the string[] is handed on the local end, so we can send a string

simons: argument for: localend can do it, downside: it is one of the most widely used APIs
... we can do it without impacting existing users

voting to take a string

carried

<scribe> ACTION: AutomatedTester to fix Bug 25014 to change to a string [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action30]

Bug 25096 discussed already

<simons> https://www.w3.org/Bugs/Public/show_bug.cgi?id=25106

<scribe> ACTION: AutomatedTester will fix Bug 25106 [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action31]

<simons> https://www.w3.org/Bugs/Public/show_bug.cgi?id=25286

voting on Bug 25286

going for CSS

<scribe> ACTION: AutomatedTester to define use of CSS pixels for Bug 25286 [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action32]

simons: when i do getLocation and get CSS pixels, is that the type of pixel we should use for dispatching events?

jgraham: everything DOM level deals with CSS pixels

(regarding Bug 25286)

<simons> https://www.w3.org/Bugs/Public/show_bug.cgi?id=25694

now discussing Bug 25694 - 16.2 section isn't needed as it's possible to take screenshot of "html"/"body"

takeScreenshot can take nested frames

RESOLUTION: won't fix Bug 25694

MarcFisher: for Bug 25694, we should separate capabilities and browsers should pick what they want to do

now discussing Bug 22653 -Container visibility when children are visible, but parent is hidden

simons: having access to render tree would be helpful here

more wishful thinking

JohnJansen: can't we defer visibility bugs to CSS WG?

simons: tried. weren't responsive
... the best we can do is put a note in the spec and note the cases we know work properly
... and not cover every single edge case

AutomatedTester: people mostly care about interactibility, not visibility

counterarguments ensue

<simons> http://findtheinvisiblecow.com/

seva: wants to make sure we do not inhibit the spec

JohnJansen: we must prove the spec is implementable, and we will have cases where no two browsers will match
... so we should improve this over time when we go to Recommendation stage

Summary of Action Items

[NEW] ACTION: add how timeouts should be handled in Section 5.1.1 [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action10]
[NEW] ACTION: AutomatedTester document how to delete httpOnly cookies [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action09]
[NEW] ACTION: AutomatedTester to close bug as unimplemented, comment on Bug 24976 [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action19]
[NEW] ACTION: AutomatedTester to define use of CSS pixels for Bug 25286 [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action32]
[NEW] ACTION: AutomatedTester to fix Bug 25014 to change to a string [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action30]
[NEW] ACTION: AutomatedTester to merge element location and size into getElementRect [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action07]
[NEW] ACTION: AutomatedTester to retrofit seciton 17 through all commands [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action04]
[NEW] ACTION: AutomatedTester to take Bug 26158 - update to ELEMENT [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action25]
[NEW] ACTION: AutomatedTester will address Bug 26137 -> clarify and document serialization algorithm [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action26]
[NEW] ACTION: AutomatedTester will fix Bug 25106 [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action31]
[NEW] ACTION: AutomatedTester will update Section 11.4 with simons proposal [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action08]
[NEW] ACTION: jgraham to submit bugs for the other issues [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action02]
[NEW] ACTION: jgraham to submit patch for get [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action01]
[NEW] ACTION: JohnJansen to describe what he wants for screenshots (scrolling vs not scrolling) [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action05]
[NEW] ACTION: localhost restriction in Section F.2 to should [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action17]
[NEW] ACTION: MarcFisher to not document submit [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action03]
[NEW] ACTION: MarcFisher to remove aliases for Bug 25013 [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action29]
[NEW] ACTION: MarcFisher will fix Bug 24988 [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action28]
[NEW] ACTION: rename timeouts to setTimeouts and change to take dictionary<type, ms> [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action12]
[NEW] ACTION: review jgraham's draft for get (in https://www.w3.org/Bugs/Public/show_bug.cgi?id=26275) for handling of timeouts and page loading strategy [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action11]
[NEW] ACTION: simons -> GET vs POST clarifications [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action20]
[NEW] ACTION: simons define how to handle modal windows [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action13]
[NEW] ACTION: simons delete section E logging [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action16]
[NEW] ACTION: simons to create something to generate Section G. Mapping to HTTP and JSON [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action18]
[NEW] ACTION: simons to explain what an HTTP request and response should look like [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action24]
[NEW] ACTION: simons to give a clearer algorithm explanation for getAttribute (Bug 26147) [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action27]
[NEW] ACTION: simons to move "scaling the content of windows" to level 2 [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action06]
[NEW] ACTION: simons to remove section 2.1 [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action21]
[NEW] ACTION: simons to specify what the HTTP headers should be for each commands [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action23]
[NEW] ACTION: simons to update command names should be non-normative [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action22]
[NEW] ACTION: simons will create something to generate Appendix A [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action14]
[NEW] ACTION: simons will create something to generate Section C [recorded in http://www.w3.org/2014/07/07-testing-minutes.html#action15]
 
[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.138 (CVS log)
$Date: 2014-07-07 16:34:12 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.138  of Date: 2013-04-25 13:59:11  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: RRSAgent_Text_Format (score 1.00)

Succeeded: s/ahs/has/
Succeeded: s/SHould/Should/
Succeeded: s/AtuomatedTester/AutomatedTester/
Succeeded: s/AutomateTester/AutomatedTester/
Succeeded: s/wilhelm: thanks//
Succeeded: s/Ms2ger: I have been for the ones people have claimed//
Succeeded: s/damn that's scribed.//
Succeeded: s/I will bug them after this topic//
FAILED: s/Ms2ger: I have been for the ones people have claimed//
Succeeded: s|s/Ms2ger: I have been for the ones people have claimed//||
Succeeded: s/jgraham: can use a parameter to specifcy what to return, either attribute or parameter/jgraham: can use a parameter to specifcy what to return, either attribute or property/
Succeeded: s/(regarding Bug 25694/(regarding Bug 25694)/
Succeeded: s/(regarding Bug 25694)/(regarding Bug 25286)/
Succeeded: s/ACTION: remove section 2.1/ACTION: simons to remove section 2.1/
Succeeded: s/ACTION: Command names should be non-normative/ACTION: simons to update command names should be non-normative/
Succeeded: s/ACTION: specify what the HTTP headers should be for each commands/ACTION: simons to specify what the HTTP headers should be for each commands/
Succeeded: s/ACTION: what an HTTP request and response should look like/ACTION: simons to explain what an HTTP request and response should look like/
Succeeded: s/ACTION: for Bug 26158: update to ELEMENT/ACTION: AutomatedTester to take Bug 26158 - update to ELEMENT/
Found Scribe: wilhelm
Inferring ScribeNick: wilhelm
Found Scribe: MarcFisher
Inferring ScribeNick: MarcFisher
Found Scribe: mdas
Inferring ScribeNick: mdas
Scribes: wilhelm, MarcFisher, mdas
ScribeNicks: wilhelm, MarcFisher, mdas
Present: AndreasTolfsen DavidBurns JohnJansen MaliniDas MarcFisher ShuotaoGao SimonStewart Wilhelm jgraham jimevans lukeis VsevolodLotoshnikov
Regrets: MikeSmith
Agenda: https://www.w3.org/wiki/WebDriver/2014-July-F2F
Got date from IRC log name: 07 Jul 2014
Guessing minutes URL: http://www.w3.org/2014/07/07-testing-minutes.html
People with action items: add automatedtester create define document how jgraham johnjansen localhost marcfisher rename review simons something timeouts will

[End of scribe.perl diagnostic output]