API Standards

16 views
Skip to first unread message

Pat Meenan

unread,
Feb 23, 2011, 4:09:39 PM2/23/11
to web-testin...@googlegroups.com
Ok, I took a crack at an initial stake in the ground for what the
interfaces will actually look like (just the framework):
http://code.google.com/p/web-testing-framework/wiki/APIStandards

The high points:
- All interfaces will be RESTful web services
- HAR will be used as much as possible for actual results data
- Data will be exchanged in JSON/JSONP format (since we need to parse
JSON for HAR anyway it doesn't make sense to also support XML)
- If a callback is provided then the response will be in JSONP
- The callers can specify an opaque reference ID that gets echoed back
in the response
- I'm proposing a container around the data that provides information
about the operation itself
- We can support proprietary extensions to the spec the same way that
HAR does (prefixed with an underscore)

I didn't touch on keys yet but I expect that will be the next thing we
define if we can get agreement on the basic structure. I expect we'll
need a combination of a key ID and a secret key (much like AWS and most
web services) and we'll probably want to hash the requests themselves
against the secret.

Next step would be to start identifying the REST entry points/methods
and the parameters/response formats.

Thanks,

-Pat

Patrick Lightbody

unread,
Mar 22, 2011, 5:09:48 PM3/22/11
to web-testin...@googlegroups.com
Have you begun to identify the REST APIs? I'd love to help out here - just let me know how you'd like to start.

Patrick

--
We provide FREE website monitoring and load testing
http://browsermob.com

Patrick Lightbody
BrowserMob
(w) +1 (503) 828-9003 x 101
(m) +1 (415) 830-5488

Pat Meenan

unread,
Mar 22, 2011, 6:46:15 PM3/22/11
to web-testin...@googlegroups.com
Sorry, things were crazy getting the Chrome release out. I have one
more loose end to clean up but plan on getting back on it this week (as
my top priority). I was thinking that we'd start by identifying the
individual methods and then the parameters/data for the individual methods.

I want to make a really big push for it over the next several weeks to
give time for us to start getting implementations in place before
Velocity in June - would be a great time to make a splash with it.

Thanks,

-Pat

Pat Meenan

unread,
Mar 25, 2011, 10:39:44 AM3/25/11
to web-testin...@googlegroups.com
There are 3 wiki pages set up here:
http://code.google.com/p/web-testing-framework/w/list

One for the API conventions
(http://code.google.com/p/web-testing-framework/wiki/APIStandards)
Probably the biggest thing I want to add to this is whatever we're going
to do for authentication into the API's. I assume we'll want to use
something like Amazon's public/private keys + HMAC (with key assignment
out-of-band and not part of the interfaces themselves). We'll probably
also need to have a concept of ACL's but I think we can push that into
just the Data side of things.

One for the Testing interfaces
(http://code.google.com/p/web-testing-framework/wiki/TestingServiceAPI)
I still have a lot of work to do on the configuration/location
enumeration as well as the standard set of parameters for the various
methods. I would like some feedback on how people feel about the
RESTful interfaces (using POST, GET and DELETE all on the "test" URI for
manipulating tests).

One for the Data interfaces
(http://code.google.com/p/web-testing-framework/wiki/DataServiceAPI)
Nothing but a shell there yet - going to work on them after I make more
progress on the testing interfaces.

Feel free to either edit the wikis directly or to add comments (just ask
for access to the project if you don't currently have permissions).

Thanks,

-Pat

On 3/22/2011 5:09 PM, Patrick Lightbody wrote:

Simon Stewart

unread,
Mar 28, 2011, 6:22:28 AM3/28/11
to web-testin...@googlegroups.com, Pat Meenan
Chiming in a little late, but the basic example given in the
APIStandards page looks very much like the command/response pair we're
starting to standardise in the webdriver protocol:

http://code.google.com/p/selenium/wiki/JsonWireProtocol#Responses

One of the goals of the standardisation work on webdriver is to make
it easy to extend the API. I'm wondering how much overlap there is?

Regards,

Simon

Reply all
Reply to author
Forward
0 new messages