This test focuses a form, them zooms and scrolls the page. Then text is entered in the form, and we check to make sure the page has scrolled when needed to make the input visible again. On iPhone, the page should scroll on the first text input so that the input element in is visible again, but should not scroll more than once, as it should be visible after the first scroll. On iPad, the input should not scroll at all, as the iPad is larger and should not need to scroll for the input element to be visible. The test results should refelct these expectaitions.
Page has scrolled on the first input
Page has not scrolled on the second input

