User:Automatedtester/FennecDriver: Difference between revisions
Line 11: | Line 11: | ||
Server Architecture The server is going to be a Jetty Server on the device with servlets to handle the different commands available in the JSON Wire Protocol. This approach also means that we can use the Selenium Grid to parallelise since devices can be added and the central hub would understand and forward the commands to this server. | Server Architecture The server is going to be a Jetty Server on the device with servlets to handle the different commands available in the JSON Wire Protocol. This approach also means that we can use the Selenium Grid to parallelise since devices can be added and the central hub would understand and forward the commands to this server. | ||
This would then translate commands to hook into the browser. Approach being investigated for proxy to browser communication can be found [[Auto-tools/Projects/JSON_Protocol_Testing|here]]. The approach, at time of writing this, that appears to be the the best is a hybrid of 2 and 3[[File:option1. | This would then translate commands to hook into the browser. Approach being investigated for proxy to browser communication can be found [[Auto-tools/Projects/JSON_Protocol_Testing|here]]. The approach, at time of writing this, that appears to be the the best is a hybrid of 2 and 3[[File:option1.png]] |
Revision as of 13:15, 27 September 2011
Summary
Selenium WebDriver currently has very good support for mobile browsers that are built into the OS. There is good support for both iOS and Android. This is an investigation into getting a framework that works for both Selenium and Mozmill. This new approach could be the precursor for the Mozmill/ Selenium merger and the beginning of work on web testing standard in the browser.
Goal
Both the A*Team and Automation Services have a requirement to create a UI functional testing framework that allows testing of both the browser chrome and the the browser content. The approach that we want to take is to have a server client architecture that allows us to scale our tests and parallelise our tests. This will maximise our tests test execution in the smallest time frame.
Option 1
The client architecture will reuse the WebDriver client code where possible. This will minimise the learning curve of QA Engineers who would then automate test cases. The WebDriver API uses a rest-ish API internally called the JSON Wire Protocol to speak to the server on the device. Currently the only work required for this is a new Desired Capabilities dictionary telling the server what browser is required from the server.
Server Architecture The server is going to be a Jetty Server on the device with servlets to handle the different commands available in the JSON Wire Protocol. This approach also means that we can use the Selenium Grid to parallelise since devices can be added and the central hub would understand and forward the commands to this server.
This would then translate commands to hook into the browser. Approach being investigated for proxy to browser communication can be found here. The approach, at time of writing this, that appears to be the the best is a hybrid of 2 and 3